靶机下载地址
https://download.vulnhub.com/prime/Prime_Series_Level-1.rar
nmap搜索目标
使用nmap -sn 192.168.41.0/24找到目标靶机192.168.41.136
扫描端口,因为是靶机,所以速率直接调了10000
扫出来两个端口22和80,进行详细的扫描
没有什么有用的东西,所以进行下一步行动,一般打靶都是先不管22,毕竟22爆破那还打什么靶,所以查看80网页。
web渗透
查看页面是一个图片,源代码也没什么东西,所以直接目录爆破
我这目录爆破使用的是dirb
扫出来许多页面,一步步来,先查看/dev页面,里面说让我们进行更深层次的挖掘。
经过考虑,先跟随提示进行挖掘吧。更深层次的挖掘,那就是zip,txt这些了,使用dirb构造语句挖掘。dirb http://192.168.41.136 -X .zip,.txt
发现挖掘出来一个secret.txt,进行查看,里面给了一个github地址。
查看github之后,发现里面有用的,是一个fuzz语句
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://website.com/xxx.php?FUZZ=something
这是让我fuzz网站的php啊,先进行查看php页面,有两个一个是index.php,一个是image.php
一个一个查
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.41.136/image.php?FUZZ=something
查出来一大堆东西,在上面提示的语句中有--hc 404,就是让我们进行筛选的意思,所以进行筛选147ch这个值
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 147 http://192.168.41.136/image.php?FUZZ=something
筛选结束,没有东西,查看下一个php页面
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.41.136/index.php?FUZZ=something
继续筛选136ch
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 http://192.168.41.136/index.php?FUZZ=something
这时候筛选完,发现了一个file参数,进行拼接在php上看看有没有什么信息
拼接完后发现他说读错了文件,那么有什么文件,回顾上方secret.txt页面,里面有一个location.txt页面,读取看看
读取后,他说现在换成secrettier360参数试试能挖到什么别的。
在image.php页面拼接上secrettier360参数后,他说参数找对了,但是没有什么别的东西,于是开始使用这个参数拼接一些东西,比如看看../../行不行。
拼接后,直接就读取了etc/passwd文件,查看文件内有什么用户或者信息
查看到有用的,也就是victor用户,还有他说在/home/saket下发现一个password.txt文件。读取整个文件。
读取后,发现是一个密码。
使用ssh去试密码发现都不对,于是去试网站的账号密码。
在之前目录爆破的时候,就找到这个WordPress的admin页面,开始尝试登录。
发现,victor是用户,follow_the_ippsec是密码,直接就登录进了后台。
后台拿权限
进入后台之后,就是要拿权限了,WordPress框架,先想到的就是插件了,去插件界面上传
这个上传是需要zip的,所以先随便使用一个zip进行上传,如果成功再构造shell。
发现不能上传,于是转换思路在主题看看能不能拿权限。
打开主题修改,发现这些页面大部分都是无法修改,于是在右边一个个的找过去。
发现secret.php可以修改。
于是在这个页面写shell,直接反连我的kali6789端口
先使用nc开启监听nc -lvnp 6789
然后找到这个secret.php页面,因为WordPress常见,网上一搜就知道页面在哪了
访问这个页面之后,shell就拿到了,进去后,使用sudo -l查看一下权限,发现/home/saket/enc有点东西。
于是进行这个目录查看,发现了一个flag,查看enc,却不能打开。转换思路,查看定时任务,也是没有办法。后面查看了一下uname -a,发现版本有点低。
于是使用searchsploit查看linux的内核漏洞。
提权
接下来就是使用内核漏洞提权了。
下载45010.c
然后开启80端口
在目标机器上下载45010.c
下载完成后,进行编译
gcc 45010.c -o 45010-2
然后加权限
chmod +x 45010-2
最后直接./45010-2 运行
拿下root权限
发现上面有python环境,使用python搞个交互shell方便操作
python -c "import pty;pty.spawn('/bin/bash')"
最后切换到root目录下,拿到flag root.txt。