# 黑客入侵检查
------
## 思路
- 扫描木马工具:`clamAV`
- 官网:
- CentOS 安装:`yum install -y clamav*`
- 启动 clamAV 服务:`service clamd restart`
- 更新病毒库:`freshclam`
- 扫描方法:
- 扫描 /etc 目录,并把扫描结果放在 /root 目录下:`clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log`
- 扫描 /bin 目录,并把扫描结果放在 /root 目录下:`clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log`
- 扫描 /usr 目录,并把扫描结果放在 /root 目录下:`clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log`
- 如果日志有类似内容,表示有木马病毒:
- `/usr/bin/.sshd: Linux.Trojan.Agent FOUND`
- `/usr/sbin/ss: Linux.Trojan.Agent FOUND`
- `/usr/sbin/lsof: Linux.Trojan.Agent FOUND`
- 看下当前有多少登录者:`who`
- 看下最近有哪些登录者:`last`
- 查看最近尝试登录的账号信息:`grep "sshd" /var/log/secure`
- 很多这种信息就表示有人在不断地尝试用 root 登录:`Failed password for root from 222.186.56.168 port 4080 ssh2`
- 查看最近登录成功的账号信息:`grep "Accepted" /var/log/secure`,可以看到:pop3, ssh, telnet, ftp 类型
- 看下查看系统资源占用有无异常:`top`
- 看下所有进程:`ps aux`
- 查看当前系统登录者有哪些,及其登录记录:`last | more`
- 把最近执行的所有命令输出到一个文件,然后下载下来细细研究:`history >> /opt/test.txt`
- 查看当前系统所有用户有哪些:`cat /etc/passwd |awk -F \: '{print $1}'`
- 更多详细可以用:`cat /etc/passwd`
- 查看开放的端口,比如常用的80,22,8009,后面的箭头表示端口对应占用的程序:`netstat -lnp`
- 检查某个端口的具体信息:`lsof -i :18954`
- 检查启动项:`chkconfig`
- 检查定时器(重要):`cat /etc/crontab`
- 检查定时器(重要):`crontab -l`
- `vim /var/spool/cron/crontabs/root`
- `vim /var/spool/cron/root`
- 检查其他系统重要文件:
- `cat /etc/rc.local`
- `cd /etc/init.d;ll`
- 检查文件:
- `find / -uid 0 –perm -4000 –print`
- `find / -size +10000k –print`
- `find / -name "…" –print`
- `find / -name ".. " –print`
- `find / -name ". " –print`
- `find / -name " " –print`
- 下载 iftop 分析流量,查看是否被黑客当做肉鸡使用
- 安装 iftop
- 官网:
- 使用文章:
- 没有安装第三方源的情况:
- 安装依赖包:`yum install -y flex byacc libpcap ncurses ncurses-devel libpcap-devel`
- 下载源码包:`wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz`
- 解压:`tar zxf iftop-0.17.tar.gz`
- 进入解压目录:`cd iftop-0.17/`
- 编译:`./configure`
- 安装:`make && make install`
- 有第三方源的情况(eg:EPEL):
- `yum install -y iftop`
- 运行:`iftop`
- 显示端口与 IP 信息:`iftop -nP`
``` nginx
中间部分:外部连接列表,即记录了哪些ip正在和本机的网络连接
右边部分:实时参数分别是该访问 ip 连接到本机 2 秒,10 秒和 40 秒的平均流量
=> 代表发送数据,<= 代表接收数据
底部会显示一些全局的统计数据,peek 是指峰值情况,cumm 是从 iftop 运行至今的累计情况,而 rates 表示最近 2 秒、10 秒、40 秒内总共接收或者发送的平均网络流量。
TX:(发送流量) cumm: 143MB peak: 10.5Mb rates: 1.03Mb 1.54Mb 2.10Mb
RX:(接收流量) 12.7GB 228Mb 189Mb 191Mb 183Mb
TOTAL:(总的流量) 12.9GB 229Mb 190Mb 193Mb 185MbW
```
- 禁用 root 账号登录:`vim /etc/ssh/sshd_config`
- 把 PermitRootLogin 属性 yes 改为 no
- 如果安全度要更高,可以考虑禁用口令登录,采用私钥/公钥方式:`vim /etc/ssh/sshd_config`
- 设置属性:PasswordAuthentication 为 no
- 如果还要限制指定 IP 登录,可以考虑编辑:hosts.allow 和 hosts.deny 两个文件
- 重要系统软件更新(更新之前最好先做好系统镜像或是快照,以防万一):
- yum update kernel
- yum update kernel-devel
- yum update kernel-firmware
- yum update kernel-headers
- yum update openssh
- yum update openssh-clients
- yum update openssh-server
## 实战
#### 挖矿程序
- 先查看调度任务是否有新增内容
- `vim /var/spool/cron/root`
- `vim /var/spool/cron/crontabs/root`
- 如果有,先停止定时任务:`systemctl stop crond`
- 如果对方有去 wget curl 指定网站,则先在 hosts 里面映射为 127.0.0.1,比如:`127.0.0.1 prax0zma.ru`
- 查看当前最占用 CPU 的进程 PID,加入发现是 22935,则:`cd /proc/22935 && ll`,发现程序目录是:`/root/.tmp00/bash64`
- 我们就把该程序去掉执行任务的权限:`chmod -R -x /root/.tmp00/`,然后再 kill 掉该程序
- 打开别人的脚本,看下是如何书写的,发现有写入几个目录,这里进行删除:
```
rm -rf /tmp/.ha /boot/.b /boot/.0 /root/.tmp00
```
- 最后检查下是否有免密内容被修改:`cd ~/.ssh/ && cat authorized_keys`
## 资料
-
-
-
-
-
最后修改:2022 年 05 月 27 日
© 允许规范转载