应急响应常用命令与分析工具0x01 技能术- Linux常用命令
- 常见日志的位置以及分析方法
- 熟悉常规黑客的攻击手法
- 常规安全事件的处置思路
0x02 linux 常用命令查找与文本操作1、find 根目录下所有.jspx后缀文件 find / -name *.jspx 最近3天修改过的文件 find -type f -mtime -3 最近3天创建的文件 find -type f -ctime -3
2、grep、strings、more、head、tail 过滤出不带有某个关键词的行并输出行号 grep -nv 'root' /etc/passwd 查看根目录下 含有root信息的文件,并标注行号 grep -nr root / 查看根目录下后缀为.jsp .jspx文件,并从大到小排列 grep -nr -v "404" ./ | grep -E ".jsp | .jspx" | more 显示文件前十行 head /etc/passwd 实时展示文件内容 tail -f 文件名
3、awk、sort、uniq awk的F参数是指定分隔符,print $1意思是打印第一列,sort命令是用来排序的,uniq命令是用来把相邻的重复数据聚合到一起,加个c参数意思就是把重复次数统计出来,为什么先要用sort聚合一次呢,就是因为uniq命令只会聚合相邻的重复数据,最后那个sort命令刚才说了是用于排序的,他的n参数是以数字排序,r参数是倒叙排序 awk -F " " '{print $1}' access.log| sort|uniq -c|sort -nr
系统状态命令1、lsof 查看某个用户启动了什么进程 lsof -u root 某个端口是哪个进程打开的 lsof -i:8080
2、last、lastb、lastlog 登录失败记录:/var/log/btmp lastb 最后一次登录:/var/log/lastlog lastlog 登录成功记录: /var/log/wtmp last
3、crontab 查看计划任务是否有恶意脚本或者恶意命令 crontab -l
系统状态命令4、netstat a参数是列出所有连接,n是不要解析机器名,p列出进程名 netstat -anp
5、ps 查看进程信息 ps -ef ps -aux
6、top 查看进程cpu占比 top
7、stat 查看某个文件是否被修改过 stat
0x03 日志分析
1、安全日志 /var/log/secure 作用:安全日志secure包含验证和授权方面信息 分析:是否有IP爆破成功 2、用户信息 /etc/passwd 内容含义:注册名、口令、用户标识号、组标识号、用户名、用户主目录、命令解释程序 分析:是否存在攻击者创建的恶意用户 3、命令执行记录 ~/.bash_history 作用:命令执行记录 ~/.bash_history 分析:是否有账户执行过恶意操作系统命令 4、root邮箱 /var/spool/mail/root 作用:root邮箱 /var/spool/mail/root 分析:root邮箱的一个文件,在该文件中包含大量信息,当日志被删除可查询本文件 5、中间件日志(Web日志access_log) nginx、apache、iis tomcat、jboss、weblogic、websphere 作用:记录访问信息 分析:请求次数过大,访问敏感路径的IP 6、其他日志 redis、sql server、mysql、oracle等 作用:记录访问信息 分析:敏感操作
web日志分析思路寻找Webshell的方法: 1、文件内容中的恶意函数 PHP:eval(、system(、assert( JSP:getRunTime(、 FileOutputStream(
ASP:eval(、execute(、 ExecuteGlobal(
2、Web日志中的webshell特征 Darkblade:goaction=login JspSpy:o=login PhpSpy:action=phpinfo Regeorg: cmd=connect Other:cmd=
3、贴合Web业务中的url来分析Web日志 4、每天新增的动态脚本文件 5、低频访问的脚本文件 |