0x00
介绍
简而言之,我们为什么要推出一篇关于硬件防御的文章? 目前,对于此次行动,我们会发现越来越多的厂商要求此次行动的人员具备分析溯源的能力。
第一个原因是由于动作规则的要求,溯源性可以很好的刻画进攻方的画像,可以追溯到更多的信息线索,从而为防守方的动作加分。
第二,目前任何产品都需要人来驱动,有它的局限性,比如日志收集的灵活性和完整性等。我们主观地收集一些信息,可以更好地辅助产品,也兼顾了不同类型的安全性。 产品的一些边界问题。
目前已经推出windows基础篇和这篇linux基础篇试水,方便大家在进行本次操作时参考知识点进行基础追溯。 同时也欢迎您反馈您的想法和意见。 如果后续效果满意,我们会发布一些真实的。 脱敏溯源红包互换。
0x01
技能树
0x02
Linux常用命令
查找和文本操作
1.寻找
根目录下所有.jsp后缀文件
find / -name *.jsp
最近 3 天内修改的文件
find -type f -mtime -3
最近 3 天创建的文件
find -type f -ctime -3
2. grep、字符串、更多、头、尾
过滤掉没有某个关键字的行并输出行号
grep -nv 'root' /etc/passwd
查看根目录下包含根信息的文件,标记行号
grep -nr root /
查看根目录下的.jsp.jspx文件,从大到小排列
grep -nr -v "404" ./ | grep -E ".jsp | .jspx" | more
显示文件的前十行
head /etc/passwd
实时显示文件内容
tail -f 文件名
3. awk, 排序, uniq
awk的F参数是指定分隔符,print $1表示打印第一列,sort命令用于排序,uniq命令用于将相邻的重复数据聚合在一起,加ac参数表示打印重复次数按统计weblogic日志文件路径,为什么要用sort聚合一次? 这是因为 uniq 命令只是聚合相邻的重复数据。 最后一个sort命令刚刚说了是用来排序的。 它的n参数按数字排序,r参数倒序
awk -F " " '{print $1}' access.log| sort|uniq -c|sort -nr
案件:
我们分析access.log日志,以空格为分界线($1为第一行),按降序筛选提取访问IP,提示访问次数。
系统状态命令
1.lsof
查看用户启动了哪些进程
lsof -u root
哪个进程打开了某个端口
lsof -i:8080
2. 最后,lastb,lastlog
登录失败记录:/var/log/btmp
lastb
上次登录:/var/log/lastlog
lastlog
登录成功记录:/var/log/wtmp
last
3. 定时任务表
检查计划任务是否存在恶意脚本或恶意命令
crontab -l
4.网络统计
a参数是列出所有连接,n是不解析机器名,p列出进程名
netstat -anp
5.附言
查看进程信息
ps -ef
ps -aux
6. 顶部
查看进程的CPU占用率(动态任务,可以实时查看最高CPU占用率)
top
7.统计
检查文件是否被修改
stat
8.last和lastb(对应log wtmp/btmp)
last 查看登录成功的IP(用于查看登录成功信息)
登录用户—连接方式—时间
lastb查看连接失败的IP(可用于查看爆破信息)
登录用户—登录方式—登录IP—时间
0x03
日志分析
1.安全日志 /var/log/secure
作用:安全日志secure,包含认证授权信息
分析:有没有IP爆破成功?
2.用户信息/etc/passwd
内容含义:登录名、密码、用户标识号、组标识号、用户名、用户主目录、命令解释器
分析:是否存在攻击者创建的恶意用户
3.命令执行记录~/.bash_history
功能:命令执行记录~/.bash_history
分析:是否有账号执行过恶意操作系统命令?
4.根邮箱/var/spool/mail/root
作用:根邮箱/var/spool/mail/root
分析:根邮箱中的一个文件,里面有很多信息,当日志被删除时,可以查询这个文件
5.中间件日志(Web日志access_log)
nginx、apache、tomcat、jboss、weblogic、websphere
功能:记录访问信息
分析:请求数量过多,访问敏感路径IP
位置:/var/log下的access.log文件(apache默认位置)
location: access name log under /var/log/nginx(nginx日志位置)
位置:tomcat、weblogic等日志存放在安装路径下的logs文件中
访问日志结构:访问IP—时间—请求方式—请求路径—请求协议—请求状态—字节数
6.登录日志(可以直接使用命令检索信息,对应命令last/lastb)
location: /var/log/wtmp #连接成功的IP信息
location: /var/log/btmp #连接失败的IP信息
7.cron(自定义任务日志)日志
位置:/var/日志/cron
功能:查看历史定时任务(分析文件检索恶意病毒执行的定时任务获取准确时间)
8. 历史日志
位置:~/.bash_history
功能:操作命令记录,可以筛选攻击者执行命令信息
9.其他日志
redis、sql server、mysql、oracle等
功能:记录访问信息
分析:敏感操作
Web日志分析思路:
寻找webshell的方法:
1.文件内容中的恶意函数
PHP:评估(,系统(weblogic日志文件路径,断言(
JSP: getRunTime(, 文件输出流(
ASP:评估(,执行(,ExecuteGlobal(
2、Web日志中的Webshell特征
黑暗之刃:goaction=登录
JspSpy:o=登录
PhpSpy:action=phpinfo
注册表:cmd=connect
其他:cmd=
3、根据web业务中的url分析web日志
4.每天添加动态脚本文件
5. 不经常访问的脚本文件