欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

渗透痕迹分析随笔

来源:本站整理 作者:佚名 时间:2020-02-16 TAG: 我要投稿

网上,关于入侵痕迹分析的文章很多,在此将个人工作中常用的一些方法技巧(班门弄斧了),以及爬过的坑总结如下(当然,其中有些方法也是从各位前辈的经验中学习的)。入侵痕迹分析,不外乎正向推理,和逆向推理。当已经掌握部分线索时,可通过逆向推理,快速确定事发时间、影响范围、事发原因等;当没有明确的线索,可以入侵者的视角,通过正向思维进行推理,从而发现入侵行为;两种方法都可以以敏感文件、敏感命令、敏感IP、攻击特征关键字为线索,推理出事发时间、事发原因。
 一、针对.bash_history的分析
在对日志进行例行安全分析时,对文件.bash_history的分析必不可少,该文件记录了命令执行历史记录,通过该文件,可以分析入侵者执行了哪些恶意操作(反弹shell、提权、信息收集、修改文件隐藏后门、添加后门账号、挖矿木马特喜欢的添加计划任务、以当前shell为跳板进行横向渗透、删除日志文件)。
入侵者获得的命令shell是哑shell时,为了提高交互性,可能会执行以下python语句反弹一个交互shell
python -c 'import pty; pty.spawn("/bin/bash")',
入侵者获得反弹shell后,可能会执行相关的提权命令,比如尝试suid提权时,可能会通过find命令,查找设置了SUID位的可执行文件,或者尝试sudo提权时,先检查当前账号是否具有sudo权限
find / -perm -u=s -type f 2>/dev/null
sudo -i 或者 sudo -l
入侵者提权后,可能会通过cat、more等命令查看配置文件,收集各种敏感信息,通过useradd或者adduser命令添加后门账号;但是这几个命令也是运维人员常用的命令,因此要配合命令执行的时间来进一步分析,而.bash_history文件中记录的时间是以unix时间戳形式记录,可以直接转换;或者直接修改passwd添加账号,因此当passwd和shadow这两个文件发生修改时,需要重点关注。
挖矿木马特喜欢添加计划任务,每次碰到挖矿木马,通过计划任务排查,一查一个准,添加计划任务的命令如下:
crontab -e
入侵者为了干扰排查,可能会修改后门文件的时间,比如通过如下命令:
touch -d 或者 touch -t
横向渗透方面,可能关闭iptables、进行端口扫描、搭建各种隧道等命令,比如使用nc或者nmap:
nc -z -v ip port          使用系统自带的nc进行端口扫描
ssh -CfNg                 搭建ssh隧道
ew -s                     使用ew搭建隧道
service iptables stop     关闭iptables
当然很多入侵者干脆通过命令清空命令历史记录,或者直接将整个.bash_history文件删除,但最后一条清除历史记录的命令或者删除文件的命令会保留下来
history -c
rm .bash_history
上面针对.bash_history文件,进行安全分析时,列举了一些个人认为比较敏感的特征,总之对.bash_history进行安全审计时,要对敏感命令、敏感工具持有敏锐的嗅觉。
部分人员日常工作中,因执行的终端命令太多,通过上下方向键查找历史命令,不方便,于是习惯性的使用history -c清除,其实这对溯源工作带来了很大的阻力,因此不建议使用history -c清除。
二、日志分析
1、系统日志
入侵痕迹分析,肯定少不了各种日志的分析。secure记录的是包括登录相关的安全日志,cron记录的计划任务日志。安全日志和计划任务日志文件名可能后面会接日期(日志归档原因),因此为防遗漏,可以使用如下命令进行搜索
ls /var/log/cron*       
ls /var/log/secure*
当尝试ssh暴力破解溯源时,可用如下命令,指定用户,对IP进行快速排查;lastb命令能列出登录失败的记录,整条命令的作用就是找出对root用户进行暴力破解的ip,并以次数从大到小输出
lastb root | awk'{print $3}' | sort |uniq -c |sort -rn |more
筛选出可疑IP后,可以通过secure日志,验证是否有被爆破成功,如果定位了IP,事发时间也相应的能定位,接下来就可根据IP和时间,对相关日志进行溯源分析
cat /var/log/secure* | grep Accepted | grep ip
2、数据库日志       
有时候找不知道日志文件的存放目录,可以通过查看配置文件(如mysql的配置文件文件my.inf,tomcat的配置文件tomcat-user.xml)。mysql数据库日志分析时,账号暴力破解这种,可以参考ssh爆破的思路进行排查。当mysql版本是5.6以上时,可以尝试看下是否有执行过如下sql命令,
set global general_log = on       开启日志记录(当outfile、dumpfile无法导出shell时,可配合日志文件getshell)
set global general_log_file = ''  设置日志文件保存路径(通常保存到web目录)
有时候通过mysql进行udf提权,可直接通过sql语句查看,添加了什么函数
select * from mysql.func
附带提一下:mssql的日志,可通过xp_cmdshell这个关键字,进行排查;因为当获取的数据权限为sa时,可利用xp_cmdshell进行提权操作;oracle日志,因为oracle数据库的特性,可以自定义函数,这个给入侵者提权带来了便利,因此对oracle数据库进行溯源时,可执行以下sql语句进行排查:
select * from USER_OBJECTS where OBJECT_TYPE = 'FUNCTION'     #排查自定义的函数
select * from USER_PROCEDURES                                 #排查用户自定义的资源,包括函数和对象
select * from USER_SOURCE where NAME = 'GETSHELL'             #获取前面排查出来的可疑对象的源代码
3、web应用日志        

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载