当前位置: 首页 > 技术干货 > Vulnhub靶机实战之HA: Forensics

Vulnhub靶机实战之HA: Forensics

发表于:2020-11-12 11:08 作者: 蚁景网安实验室 阅读数(2692人)

本文涉及知识点实操练习--Vulnhub渗透测试实战靶场Drupal (靶机共有5个flag,通过信息收集、找漏洞、提权去获得最终/root下的flag。)

描述:这是一个中等难度的取证挑战环境,通过网络取证调查方法和工具,找到关键证据获取flag。
目标:获得4个flag
靶机下载地址:https://www.vulnhub.com/entry/ha-forensics,570/
0x1 基本信息收集
确定目标主机IP
使用nmap 扫描

新建 DOC 文档238.png

排除网络内其他的ip,10.1.1.152就是目标机器
使用nmap扫描主机更加详细的信息

新建 DOC 文档286.png

可以把扫描处理的信息记录下来
目标开放的端口:22、80端口,服务有:ssh服务和http服务。
0x2、收集网站信息
浏览目标网站看看可以获取哪些信息

新建 DOC 文档365.png

网页上有四张图,还有一些描述文字。点击"Click here to get flag!" 试试

新建 DOC 文档415.png

有一张gif图片。可以把网站的图片收集 一下,放到一个文件夹。既然是取证,不要放过任何蛛丝马迹

新建 DOC 文档465.png

看看网站源代码里面有什么吧:

新建 DOC 文档482.png

我们发现有一个images的目录,访问试试

新建 DOC 文档506.png

发现有多张图片,除了网页上显示的几张之外,还有一个"dna.jpg"和"fingerprint.jpg"的图片,同样把它们下载下来。
这个"fingerprint.jpg" 看起来是个暗示,我们看看图片的信息。

新建 DOC 文档614.png

直接file查看文件信息,发现exif信息里面存在 flag,这样第一个flag就到手了
别的图片也可以看一下:

新建 DOC 文档673.png

好像没啥东西。
我们继续对网站下手,试试扫描网站文件和目录

新建 DOC 文档705.png

dirb除了可以扫描目录之外,还可以扫描指定文件后缀的方式来扫描文件,比如我们可以扫描是否存在备份文件之类的,比如.backup、.git、.txt什么的

新建 DOC 文档785.png

发现一个txt文件,看看是什么内容

新建 DOC 文档805.png

"tips.txt"中记录了两个文件路径,访问看看

新建 DOC 文档833.png

igolder目录下有一个文件,我们下载下来,zip文件也下载下来

新建 DOC 文档869.png

0x3、文件信息收集
打开"clue.txt"看看

新建 DOC 文档897.png

新建 DOC 文档899.png

应该是一个PGP密钥,还有一部分PGP加密的消息
再看看zip文件

新建 DOC 文档935.png

zip文件似乎被加密了。密码应该是PGP密钥里面。
我们可以拿到在线PGP解密网站上解密一下那串消息。
当我搜索 PGP在线解密的时候出来的就是 igolder这个网站

新建 DOC 文档1022.png

我们把PGP私钥和消息粘贴进去,解密出来是一个提示:

新建 DOC 文档1051.png

提示说:取证人员忘记密码了。但是记得是6位数,前三位是"for",后三位是纯数字。
既然这样我们只能暴力猜解了。我们可以先用"crunch"工具生成字典,然后用"fcrackzip"去破解zip文件

新建 DOC 文档1153.png

新建 DOC 文档1155.png

解出来密码是"for007",然后解压文件

新建 DOC 文档1179.png

有两个文件,一个是pdf文件,一个是dmp文件,从名字来看,是windows的lsass进程的内存转储文件。
先打开pdf文件看看

新建 DOC 文档1247.png

找到第二个flag了。
这里我们可以用mimikatz工具检查dump文件

新建 DOC 文档1287.png

新建 DOC 文档1289.png

新建 DOC 文档1291.png

可以发现有两个用户,一个是jasoos,一个是raj,mimikatz没有直接读取出密码明文,我们可以试试破解NT Hash,用John the Ripper 工具试试

新建 DOC 文档1378.png

emm,很慢,我们也可以找一个在线网站破解

新建 DOC 文档1402.png

快多了,一下子就出来了。
0x4、目标主机信息收集
NT hash解密出来了。但是目标机器是一个Linux,开放了22端口。难道就是用的这个密码吗?
试一试吧,为了方便后渗透,这里我们使用msf里面的ssh_login模块

新建 DOC 文档1516.png

可以看到登录成功了。我们可以用session -u 升级成一个meterpreter会话

新建 DOC 文档1563.png

我们发现目标主机上有多个网络连接

新建 DOC 文档1582.png

0x5、横向渗透
我们利用msf后渗透模块的路由添加功能,添加网络路由,然后对目标网络进行扫描

新建 DOC 文档1632.png

然后探测一下目标主机

新建 DOC 文档1645.png

发现一台目标机器 172.17.0.2
接着对目标进行一下端口扫描

新建 DOC 文档1681.png

发现目标开放了21端口。我们可以试试ftp登录

新建 DOC 文档1707.png

发现可以使用匿名登录,我们试试登录到ftp中。先切换到目标主机的shell中

新建 DOC 文档1748.png

但是这个shell有点难用,我们可以调用python实现一个友好一点的shell,然后用匿名账号登录到ftp

新建 DOC 文档1805.png

看看ftp中都有什么文件

新建 DOC 文档1820.png

里面有一个pub目录,目录中有一个saboot.001的文件,我们把它下载下来

新建 DOC 文档1862.png

然后把这个文件下载到我们自己的机器上

新建 DOC 文档1883.png

新建 DOC 文档1885.png

下载下来后,看一下文件的信息

新建 DOC 文档1902.png

看起来是一个磁盘镜像文件。我们可以用autospy加载文件进行分析。
0x6、磁盘取证分析
在Kali中找到autospy

新建 DOC 文档1966.png

打开软件然后加载 saboot.001文件,新建case过程就一一详细说明了

新建 DOC 文档2007.png

新建 DOC 文档2009.png

新建 DOC 文档2011.png

新建 DOC 文档2013.png

把镜像文件加载进来:

新建 DOC 文档2026.png

新建 DOC 文档2028.png

新建 DOC 文档2030.png

添加完成之后,点分析文件

新建 DOC 文档2045.png

新建 DOC 文档2047.png

然后我们发现有一些文件

新建 DOC 文档2061.png

新建 DOC 文档2063.png

发现一个flag3.txt打开看看

新建 DOC 文档2083.png

第三个flag到手
还有一个creds.txt的文件,我们打开看看是什么
新建 DOC 文档2122.png

看起来像一串被加密的字符串,有点像base64编码的
试试解密

新建 DOC 文档2156.png

解密出来是“jeenaliisagoodgirl”
然后这个saboot.001就找不到其他有价值的信息了。
当然也可以使用FTK Imager之类的软件加载磁盘镜像也是可以的

新建 DOC 文档2247.png

新建 DOC 文档2249.png

0x7、目标主机分析
我们再次回到目标主机,看看目标主机还有什么线索
目前我们得到的目标主机shell是一个普通用户

新建 DOC 文档2310.png

看看是否还有其他用户

新建 DOC 文档2323.png

发现一个 forensic用户,进去看看

新建 DOC 文档2346.png

没有发现什么有价值的线索。
看看root用户下面有什么?

新建 DOC 文档2377.png

发现没有权限查看。

新建 DOC 文档2389.png

sudo也不行
试试找找suid程序

新建 DOC 文档2410.png

发现没有可利用的。
试试切换到forensic用户,尝试用jeenaliisagoodgirl这个密码

新建 DOC 文档2464.png

发现成功了
试试这个用户是否有sudo权限

新建 DOC 文档2488.png

发现是可以的。而且可以执行命令的路径有/sbin/ /bin这种。那么就可以直接sudo 查看root目录中的文件了

新建 DOC 文档2549.png

成功得到第四个flag
至此,四个flag都到手了。成功完成了我们的任务