追蹤
。有你真好。
關於部落格
‧∴ ° 手心的太陽‧∴ °∴ ‧°‧∴ ☆╮
  • 324870

    累積人氣

  • 12

    今日人氣

    2

    追蹤人氣

處理被ssh-scan入侵的Linux主機記錄

再一看進程,好多ssh-scan的進程。估計是密碼設得太簡單,被人家黑了。處理思路:找到ssh-scan進程的相應程序文件,刪除之。 先查看定時任務,沒有看到有異常的定時任務。 最後處理步驟如下: 1、ps -ef|grep ssh-scan (或ps –ajxf) ps -ef|grep ssh 500 8923 1 0 Jul02 ? 00:00:22 ./scanssh 500 8928 1 0 Jul02 ? 00:00:22 ./scanssh 500 8929 1 0 Jul02 ? 00:00:20 ./scanssh 500 8937 1 0 Jul02 ? 00:00:18 ./scanssh 500 8938 1 0 Jul02 ? 00:00:21 ./scanssh 500 8939 1 0 Jul02 ? 00:00:21 ./scanssh 500 8941 1 0 Jul02 ? 00:00:18 ./scanssh 500 8948 1 0 Jul02 ? 00:00:17 ./scanssh 500 8949 1 0 Jul02 ? 00:00:14 ./scanssh 500 8953 1 0 Jul02 ? 00:00:21 ./scanssh 500 8955 1 0 Jul02 ? 00:00:17 ./scanssh 500 8957 1 0 Jul02 ? 00:00:27 ./scanssh 500 8966 1 0 Jul02 ? 00:00:22 ./scanssh 500 8967 1 0 Jul02 ? 00:00:22 ./scanssh 500 8968 1 0 Jul02 ? 00:00:22 ./scanssh 500 8969 1 0 Jul02 ? 00:00:10 ./scanssh 500 8971 1 0 Jul02 ? 00:00:21 ./scanssh root 24539 27230 0 11:32 ? 00:00:00 sshd: swzj [priv] swzj 24541 24539 0 11:32 ? 00:00:00 sshd: swzj@pts/6 root 27230 1 0 Apr12 ? 00:01:34 /usr/sbin/sshd root 27657 24598 0 13:28 pts/6 00:00:00 grep ssh 2、找到ssh-scan對應的進程號PID,如有一個是19061 。 3、進入到/proc/PID對應的目錄,cd /proc/19061 4、ls -al,查看cwd和exe對應的選項,找到應用程序所在目錄。 5、將其全部殺死後killall -9 scanssh,刪除對應目錄。 或者# ps -ef|grep -v grep|grep scanssh|awk '{print $2}'|xargs kill # ps -ef|grep -v grep|grep SCREEN|awk '{print $2}'|xargs kill 6、將用戶密碼全部修改。 用netstat -an|grep 22看,仍然有很多連接,reboot服務器,系統運行正常。 另,參考鏈接:http://www.vvvk.net/archives/311#more-311 附錄:/PROC目錄介紹 原文:http://www.freeos.com/articles/2879/ translated by bugzilla_zhu Proc 文件系統是一個實時的,常駐內存的文件系統,它跟踪進程在你機器上的運行情況和你係統的狀態。繼續閱讀你可以學到很多/proc文件系統的知識。 /proc 偽文件系統最令人震驚的是它事實上不存在於任何的媒介上。 /proc文件系統是常駐虛擬內存並且維持著操作系統的動態數據的一個偽文件系統。大部分的/proc文件系統信息被實時更新來與當前操作系統的狀態一致。 /proc文件系統的內容能被任何有相應權限的人讀取。但是,/proc文件系統的特定的部分只能被這個進程的擁有者和root用戶讀取。 /proc文件系統的內容從特定的/proc目錄得到數據並且顯示出來,它們有很多用途。 在linux下,我們有工具像lscpi,scanpci和pnpdump,它們幫助我們檢測大量的PCI,ISA 硬件芯片設置並且幫助我們對io,dma和irq的值作最好的選擇。通過查看/proc文件系統的各種參數的值,我們可以看到許多內核和進程的當前狀態。我們用dmesg命令舉個例子。 bash# dmesg Dmesg 幫助我們確定已經被內核檢測到和初始化的設備。我們有工具像"ps"和"top",給我們一個準確的快照,這個快照是關於進程在機器上運行的狀態和一個當前運行在機器上的清醒和睡眠的進程的列表。你曾經想過這些通過"ps"和"top"進程給出的信息的準確的出處嗎?這些進程的信息來自/proc文件系統,當進程發生改變的時候它隨時更新。 讓我們看一下linux機器的root目錄的列表快照。 drwxr-xr-x 14 root root 291 Oct 25 18:47 opt dr-xr-xr-x 86 root root 0 Nov 30 2000 proc < -- drwx--x--x 16 root root 841 Nov 20 00:10 root drwxr-xr-x 5 root root 4627 Oct 15 11:42 sbin 因為/proc文件系統是一個虛擬的文件系統並且常駐內存,每次當你的linux機器重啟的時候它被重新創建。看一下上面的root目錄。 proc目錄的大小是0並且最後一次修改時間是當前日期。 使用/proc/sys文件系統來解析內核參數。 /proc文件系統的另一個非常重要的部分是/proc/sys目錄。在這個目錄下你可以對指定的內核參數做實時的改變。一個好的例子如下。 /proc/sys/net/ipv4/ip_forward 當你cat這個文件的內容的時候你可以看到以上這個文件中ip_forward有一個默認值為"0"。這意味著通過這個機器作IP轉發是不允許的。但是通過改變這個文件中的值從"0"到"1",這個配置能實時地被改變。然後我們立刻可以在我們的linux機器上作IP轉發,不用重啟系統。 /proc文件系統的內容 /proc目錄列表如下。實際的列表很長。我們下面給出的是一個比較短的版本。 1 114 1210 1211 1212 1227 133 137 148 160 161 163 167 168 169 170 171 172 173 174 186 190 193 194 195 203 206 207 208 209 210 211 220 221 222 223 224 225 226 227 229 230 234 246 253 279 296 3 4 5 500 501 6 667 668 669 683 684 685 7 711 712 713 737 763 764 765 766 773 774 775 782 79 88 92 asound bus cmdline config.gz cpuinfo devices dma fb filesystems fs ide interrupts ioports kcore kcore_elf kmsg ksyms loadavg locks lvm mdstat meminfo memstat misc modules mounts net partitions pci rtc scsi self slabinfo stat swaps sys tty uptime version 在上面的快照中你看到的每一個數字和單詞都是/proc目錄的內容。讓我們學習更多這個目錄中用數字命名的內容。 數字命名的目錄 1 114 1210 1211 1212 1227 133 137 148 160 161 163 167 168 169 170 171 172 173 174 186 190 193 194 195 203 206 207 208 209 210 211 220 221 222 223 224 225 226 227 229 230 234 246 253 279 296 3 4 5 500 501 6 667 668 669 683 684 685 7 711 712 713 737 763 764 765 766 773 774 775 782 79 88 92 你看到的大量在這裡列出的目錄是進程,在我們對/proc文件系統作快照的時候它們正運行在你的機器上。讓我們看一下目錄的內容。 freeos:~ # cd /proc freeos:/proc # ls -la 114 total 0 dr-xr-xr-x 3 named named 0 Nov 30 12:20 . dr-xr-xr-x 89 root root 0 Nov 30 2000 .. -r--r--r-- 1 root root 0 Nov 30 12:20 cmdline lrwx------ 1 root root 0 Nov 30 12:20 cwd -> /var/named -r-------- 1 root root 0 Nov 30 12:20 environ lrwx------ 1 root root 0 Nov 30 12:20 exe​​ -> /usr/sbin/named dr-x------ 2 root root 0 Nov 30 12:20 fd pr--r--r-- 1 root root 0 Nov 30 12:20 maps -rw------- 1 root root 0 Nov 30 12:20 mem lrwx------ 1 root root 0 Nov 30 12:20 root -> / -r--r--r-- 1 root root 0 Nov 30 12:20 stat -r--r--r-- 1 root root 0 Nov 30 12:20 statm -r--r--r-- 1 root root 0 Nov 30 12:20 status 在我們執行命令之前我們需要作為root登錄,因為大量的運行在系統上的進程可能被其他人擁有。通常你只有權限訪問你開啟的進程。在作為root登錄之後,對任意的目錄執行以上的命令並且與以上的輸出作比較。 你有沒有註意到你得到的輸出與上面列出的內容有任何相似之處?是的,所有你選擇查看的無關的目錄的內容都是一樣的,因為這些目錄包括大量的進程的參數和狀態,它的PID是你所在的當前目錄的名字。各個參數的值和狀態信息當然因進程不同而不同。 看上面輸出的第一行。 -r--r--r-- 1 root root 0 Nov30 12:20 cmdline "cmdline",這個文件包含整個用來產生進程的命令行。這個文件的內容是命令行參數包括傳遞來啟動進程的所有參數。所有包含在這個文件的信息即命令和各個啟動參數,沒有任何的格式和任何的空格。 lrwx------ 1 root root 0 Nov 30 12:20 cwd -> /var/named "cwd",像我們從上面看見的,這是一個符號鏈接,它指向進程的當前工作目錄。 -r-------- 1 root root 0 Nov 30 12:20 environ "environ"包括在VARIABL=value為這個進程定義的所有的環境變量。正如"cmdline"一樣,包含在文件中的命令和各個參數的信息沒有任何的格式和空格。 lrwx------ 1 root root 0 Nov 30 12:20 exe​​ -> /usr/sbin/named "exe",這是一個符號鏈接指向啟動當前進程的可執行文件。 dr-x------ 2 root root 0 Nov 30 12:20 fd "fd",這個目錄包括被指定進程打開的文件描述符。 pr--r--r-- 1 root root 0 Nov 30 12:20 maps "maps", 當你打出這個命名管道的內容,你可以看到進程的地址空間部分,當前被映射到一個文件。這個部分,從左到右是:和這個映射有關的地址空間,和這個映射有關的權限,距離文件開始(即這個映射開始的地方)的偏移量,這個映射文件所在的設備,文件的inode號,最後是文件名本身。 "root",這是一個符號鏈接指向這個進程的/proc目錄。 -r--r--r-- 1 root root 0 Nov 30 12:20 status "status",這個文件給你有關進程名的信息,它的當前的狀態,睡眠或者清醒,它的PID,UID,PPID和大量其它基本信息。這個信息可以在一個更簡單和結構化的語法中看到,通過使用工具如"ps"和"top"。 關於大量/proc/*目錄的基本信息 這個信息已經存在LASG, 第三章《/proc 文件系統》中。 /proc/cpuinfo 關於處理器,諸如它的類型,產地,型號和性能。 /proc/devices 當前運行的內核配置的設備的驅動列表。 /proc/dma 顯示DMA通道此刻正在被使用。 /proc/filesystems 內核配置的文件系統。 /proc/interrupts 顯示在使用的中斷,和每個中斷已經使用的次數 /proc/ioports 哪一個I/O端口正在使用 --- http://blog.sina.com.cn/s/blog_591f0e6e0101af7n.html
相簿設定
標籤設定
相簿狀態