00
前言
这次给大家带来的是一个利用Splunk工具分析一起攻击行为。Try Hack Me房间链接
https://tryhackme.com/room/bpsplunk ,这个房间是免费的如果想随时玩的话可以公众号回复splunk01获取靶机下载地址,这里我已经替大家从google drive下载好了。只需要像vulnhub靶机一样下载完以后解压,然后用kali确定IP最后访问8000端口即可。这里我是跟着房间里面的问题来做的,会删除一些大家不太感兴趣的问题。下面是一个大概的攻击流程,也不是太难理解如果是像我一样的初学者的话可以跟着靶机里面提供的问题和解析慢慢进行理解和尝试。
01
部署
这里还是先演示一下安装方法,在解压完以后启动靶机,先用netdiscover扫描网段确认splunk的IP为192.168.72.144
随后访问8000端口即可,左手边点击第二个Investigating with Splunk Workshop,全程不需要输入任何密码。
点击以后往下拉选择Next
这次练习的地方是APT scenario,点进去以后往下拉再点一次next就到第一个问题了。
那么现在开始进入splunk数据库点击Run Search in New Tab即可,这里先简单介绍一下这条命令,index除了首页也有索引,索引到botsv1这个数据库。后面的关键词 imreallynotbatman.com 是本次需要分析的网站作为关键词可作为开端调查网站曾经发生过什么。
02
查找使用漏扫的IP
点开以后往下滑可以看到有一个src,意思是source点开以后发现有一个40.80.148.42跟我们的互动数是最多的占比4/3,有点意思点击跟进。
现在的splunk命令变成这样, 这里可以看到这位攻击者在搜索功能页面搞了一些小动作。好家伙直接select from xxx那么经典的SQL注入语句都直接出来了。可以判断是40.80.148.42在搞小破坏了。
Eg: http://imreallynotbatman.com/joomla/index.php/component/search/?searchword=(select(0)from(select(sleep(3)))v)/*'%20(select(0)from(select(sleep(3)))v)%20'"%20(select(0)from(select(sleep(3)))v)%20"*/&ordering=newest&searchphrase=all&areas[0]=categories
命令: index=botsv1 imreallynotbatman.com src="40.80.148.42"
下一个问题是攻击者使用的是哪一款漏扫软件,这里点击src_headers旁边就自动跳出来了。有一个大大的Acunetix Web Vulnerability Scanner简称AWVS。那这就明白了攻击者40.80.148.42对网站使用了AWVS漏扫攻击。
下一个问题是受害者网站用的是哪个CMS,这里往下拉可以看到有个http.url 点击可以看到攻击者经常会访问/jooma/index.php/component/search页面,那基本可以受害者使用了Joomla CMS。
03
分析后台爆破攻击IP
下一个问题是哪个IP进行了后台爆破,使用以下命令,首先先用stream http查找关于HTTP的数据,其次是用location定位后台地址看看发生了什么。这里可以看到攻击者尝试用admin 和batman进行登录。
命令: index=botsv1 imreallynotbatman.com sourcetype="stream:http" location=http://imreallynotbatman.com/joomla/administrator/index.php
用刚才的方法往下拉,点src可以看到跟后台互动最多的是另外一个IP 23.22.63.114基本上可以确定是另外一个ip在对后台进行爆破。
同时点开http_user_agent可以看到99%的爆破攻击是用python-urllib/2.7的。基本上可以确定23.22.63.114使用了py脚本对后台进行攻击。
下一个问题是关于攻击者第一次使用的密码是什么,这里会对密码进行一个快速排序。可以看到第一个密码是12345678
命令: index=botsv1 imreallynotbatman.com sourcetype="stream:http" location="http://imreallynotbatman.com/joomla/administrator/index.php"
| reverse
接下来会对某些问题进行跳过,跳到攻击者使用哪个密码登录成功。这个就得参考一下hydra的思路了。除了判断状态码以外也可思考下如果某个密码是正确的话工具会对其使用两次第一次是正常碰撞第二次是验证。所以我们只需要找哪个密码出现了两次就可。使用以下命令,先解析一下rex field=form_data其实是正规则匹配的意思快速匹配爆破密码的部分然后stats count by userpassword就是计数看看每个密码出现的次数。最后的sort就是按多到少排序,这里可以看到batman出现了两次而其它密码都是一次过。
命令: index=botsv1 imreallynotbatman.com sourcetype="stream:http" location="http://imreallynotbatman.com/joomla/administrator/index.php"
| rex field=form_data "passwd=(?
| stats count by userpassword
| sort – count
04
分析攻击者上传的恶意文件
下一个问题就是分析下攻击者传了什么恶意的可执行文件。这里其实有点误导的意思,正常来讲Joomla也好Wordpress也好首先你进入后台你肯定是会修改某个现有的php代码然后去getshell。最后拿到shell以后在上传一些奇奇怪怪的应用上去。这里用下面这条命令,看到一个奇怪的东西3791.exe通过agent.php上传上去了。只能大概推测攻击者先把agent.php改成奇奇怪怪的文件以后再上传了一个3791.exe.
命令: index=botsv1 imreallynotbatman.com sourcetype="stream:http" *.exe
而最后呢使用以下命令发现攻击者控制完服务器(也就是192.168.250.70)以后用以下这条命令发现还向后台爆破的IP下载了一个奇奇怪怪的图片。该图片也被防火墙定义位有病毒了。这里的fgt_utm是相当于一个防火墙,category是展示某些文件被标记成xxx。
命令: index=botsv1 sourcetype=fgt_utm "192.168.250.70" category="Malicious Websites"
原文始发于微信公众号(神隐攻防实验室):利用splunk分析一次黑客攻击01
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论