Linux应急响应入侵排查指南

admin 2023年10月17日23:44:26评论21 views字数 2874阅读9分34秒阅读模式

关注并星标🌟 一起学安全❤️

作者:coleak  

首发于公号:渗透测试安全攻防 

字数:1731

声明:仅供学习参考,请勿用作违法用途

目录

  • web日志分析

  • 用户信息

  • 历史命令

  • 端口|进程

  • 自启项,计划任务

  • 异常文件

  • 系统日志分析

  • 工具篇


web日志分析

cut -d - -f 1 access.log|uniq -c | sort -rn | head -20
awk '{++S[$1]} END {for (a in S) print a,S[a]}' access.log
grep "/index.php" access.log |wc -l
grep 192.168.52.128 access.log| awk '{print $1,$7}'
awk '{print substr($4, 2, 11)}' access.log | sort | uniq -c
grep -E -i "select" access.log
grep -E -i "eval|%eval|%execute|%3binsert|%20makewebtaski|system|/1.asp|/1.jsp|/1.php|/1.aspx%if" access.log

推荐:将日志导出到星图进行可视化分析

用户信息

查看用户

cat /etc/shadow
cat /etc/passwd
#用户名:密码:用户ID:组ID:用户说明:家目录:登录之后shell
#用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
#注意:无密码只允许本机登录,远程不允许登录

awk -F: '$3==0{print $0}' /etc/passwd
# 查看系统是否还存在其他的特权账户,uid为0,默认系统只存在root一个特权账户

stat /etc/passwd
#查看密码文件上一次修改的时间,如果最近被修改过,那就可能存在问题。

cat /etc/passwd | grep -v nologin
#查看除了不可登录以外的用户都有哪些,有没有新增的

cat /etc/passwd | grep /bin/bash

当前登录用户

who
#pts代表远程登录,tty代表本地登录。

查看目前登入系统的用户正在执行的程序

w

开机信息

uptime
#查看现在的时间、系统开机时长、目前多少用户登录,系统在过去的1分钟、5分钟和15分钟内的平均负载。

sudo权限

more /etc/sudoers | grep -v "^#|^$" | grep "(ALL) "

历史命令

history
cat ~/.bash_history >> history.txt
~/.bash_history 记录的是上一次登陆系统所执行过的命令,而当前登陆这一次则保存在内存缓存中,当系统关机/重启后会更新到~/.bash_history 文件中。

端口|进程

netstat -anput
ls -l /proc/pid #进程文件路径
ps –ef |grep PID #启动命令(效果同 ps aux |grep $PID)
top -->c
top -p pid

shell脚本cpu.sh

#!/bin/bash
echo '--------内存占比占用最多前十排名---------'
ps auxw|head -1;ps -auxf|sort -nr -k4|head -10
echo '--------CPU占比占用最多前十排名---------'
ps auxw|head -1;ps -auxf|sort -nr -k3|head -10
echo '--------内存VSZ占用最多前十排名---------'
ps auxw|head -1;ps -auxf|sort -nr -k5|head -10
echo '--------内存RSS占用最多前十排名---------'
ps auxw|head -1;ps -auxf|sort -nr -k6|head -10
chmod +x 5.sh
./5.sh

Linux应急响应入侵排查指南


自启项,计划任务

systemctl list-unit-files | grep enabled

crontab -l

crontab -u root -l
# 查看root用户任务计划

crontab -e #进入crontab任务编辑
crontab -r #删除所有计划任务
#不同用户的crontab 任务保存在/var/spool/cron/crontabs/用户名 文件路径下

异常文件

find

-atime n:查找在 n*24 小时内被访问过的文件。
-ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
-mtime n:查找在 n*24 小时内被修改过的文件。

+n:查找比 n 天前更早的文件或目录。
-n:查找在 n 天内更改过属性的文件或目录。
n:查找在 n 天前(指定那一天)更改过属性的文件或目录。

find . -mtime -7

如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
stat test.txt
cat /etc/hosts
stat /bin/top

系统日志分析

grep "Failed password for coleak" /var/log/auth.log | awk '{print $9}' | sort | uniq -c | sort -nr | more
#统计爆破主机coleak账号的失败次数及ip

grep "Failed password" /var/log/auth.log |perl -e 'while($_=<>){ /for(.*?) from/; print "$1n";}'|uniq -c|sort -nr
#攻击者爆破哪些用户名

grep "Accepted " /var/log/auth.log
#成功登录的日期、用户名、IP

grep "Accepted " /var/log/auth.log | awk '{print $9}' | sort | uniq -c | sort -nr | more
#登录成功的IP有哪些

grep "useradd" /var/log/secure
grep "userdel" /var/log/secure
#添加、删除用户的记录和时间

工具篇

  • GScan
  • rkhunter
  • 河马webshell
  • Clamav
python GScan.py --sug --pro
python GScan.py --full



/etc/rkhunter.conf
MIRRORS_MODE=1 ---> MIRRORS_MODE=0
UPDATE_MIRRORS=0 ---> UPDATE_MIRRORS=1
WEB_CMD="/bin/false" ---> WEB_CMD=""
rkhunter --update
rkhunter --check
rkhunter --check --sk(让程序自动持续执行)



clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log
-r:迭代目录
-l:指定日志路径
--max-dir-recursion:指定目录深度

clamscan -r -i /home -l /var/log/clamscan.log
递归扫描home目录,并且记录日志



文章首发于:渗透测试安全攻防

原文始发于微信公众号(渗透测试安全攻防):Linux应急响应入侵排查指南

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月17日23:44:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux应急响应入侵排查指南http://cn-sec.com/archives/2122716.html

发表评论

匿名网友 填写信息