🍬 博主介绍
👨?🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
?主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞?评论?收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论??一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
连接到系统服务器后开始对现象进行调查,查看CPU、内存、进程、系统挂载等
#top命令降序查看cpu占用率
top
CPU占用率达到70%
以上,且名字比较可疑的进程,可能就是病毒
ps -aux
病毒多携带可疑的命令行,当发现命令行中带有url或奇怪字符时,就要注意是否它是否是个病毒下载程序
lsof -p <PID>
查看网关或监控系统中与目标ip通信的进程,并通过命令行列举出此进程
//列举网络Socket连接的进程
while true;do netstat -antp | grep <ip>; done
得到恶意进程和其PID后,使用如下命令寻找恶意进程储存的位置
ls -al /proc/<pid>/exe
检查是否存在任何异常端口被开启
netstat -nap //查询开启端口及进程
##查询开启端口,包含UDP和TCP
##参数-t表示TCP,-u表示UDP
netstat -tunlp
##查看root的历史指令
history
##查看各用户的历史指令
cat /home/用户/.bash_history
通过恶意进程、端口、网络等找到恶意文件路径最好,但有时候我们也需要仔细排查其他目录是否有残余的病毒
首先查看/usr/bin/ls
, /usr/bin/lsof
,/usr/bin/stat
几个文件没有被修改
stat /usr/bin/ls
stat /usr/bin/lsof
stat /usr/bin/stat
ls -al /tmp/; ls -al /var/tmp; ls -al /dev/shm
排查$PATH
环境变量下的目录文件
echo $PATH
ls -al /usr/local/sbin
ls -al /usr/local/bin
...
等等
ls -laR
使用stat查看任何文件的更改、创建等时间
##查看恶意程序对应路径
ls -al /proc/<pid>/exe
##查看运行进程的名命令及参数
cat /proc/<pid>/cmdline
##查看恶意文件类型
file /home/light/abc.txt
##查看 ELF文件里带的字符串
strings /tmp/.elf
若恶意程序被删除,可以通过内存转储方式从内存中导出恶意程序
从内存拷贝恢复被删除文件
cp /proc/[pid]/exe /tmp/malware.dump
导出进程内存
cat /proc/[pid]/maps 7ff48bb5d000-7ff48bb5e000
gdb --pid [pid]
dump memory /tmp/malware.dump 0x7ff48bb5d000 0x7ff48bb5e000
排查系统账号的安全,看是否存在新增可疑、临时、高权限账号
##查看所有账号
cat /etc/passwd
##查看特权用户(uid为0)
grep :0: /etc/passwd
##查看账号密码相关信息
cat /etc/shadow
##查看用户登录时间
uptime
##查询utmp文件并报告当前登录的每一个用户
who
##查询utmp文件并显示当前系统中每个用户和它队形的进程
w
##列出所有用户最近的登录报告
lastlog
##查看远程SSH和telnet登录
tail /var/log/auth.log
tail /var/log/secure
##查看sudo用户列表
cat /etc/sudoers
##多可以账号进行禁用或删除
usermod -L user //禁用user账号
userdel user //删除user账号
userdel -r user //删除user账号,并将/home目录下的user目录一并删除
##列出当前用户cron服务详细内容
crontab -l //文件保存在/var/spool/cron/user
##查看以下目录中是否存在恶意脚本
cat /etc/crontab
/etc/crontab
/etc/cron.d/
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/
/etc/anacrontab
/var/spool/cron/
/var/spool/anacron/
查看开机自启动
遍历/etc/目录下 init 开头、rc 开头的目录及文件
/etc/init.d
查询开机自启动的服务
service --status-all
日志存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
系统日志和应用程序日志
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检的信息
/var/log/mailog 记录邮件信息
/var/log/message 记录系统重要信息的日志****
/var/log/btmp 记录错误登录日志。 要使用lastb命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志。 要使用lastlog命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。 要使用last命令查看
/var/log/utmp 记录当前已经登录的用户信息。要使用w,who,users命令查看
/var/log/secure 记录验证和授权方面的信息,比如SSH登录,su切换用户,sudo授权
其他web中间件日志,如
apache、mysql、ngnix
查看/root/.ssh/known_hosts
文件中的ssh公钥,查看本机通过ssh连接那一部分主机