黑客入侵检查
思路
- 扫描木马工具:
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}' - 查看开放的端口,比如常用的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
- 运行:
iftop
- 禁用 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 掉该程序
- 打开别人的脚本,看下是如何书写的,发现有写入几个目录,这里进行删除:
- 最后检查下是否有免密内容被修改:
cd ~/.ssh/ && cat authorized_keys
资料