靶机介绍
下载地址:https://www.vulnhub.com/entry/harrypotter-aragog-102,688/ 作者Mansoor R在VulnHub上上传了哈利波特系列的三个靶机,以哈利波特为故事背景,玩家需要找到这三个靶机中的共8个魂器,打败伏地魔!这就冲起来! 首先是第一个靶机Aragog,以《哈利波特·密室》中的海格饲养的大蜘蛛阿拉戈命名,题目中提示这个靶机里面有两个魂器。
渗透过程
-
从VlunHub上下载靶机,在virtualbox上打开,设置网络为桥接。 -
开启靶机,这里它直接提供了自己的IP,192.168.0.106。 -
当然,我们自己也能得到这个靶机的IP。打开kali,扫描靶机IP。
arp-scan -l
ARP(Address Resolution Protocol 地址解析协议),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 arp-scan可以用来扫面局域网内的主机,我们在virtualbox上打开靶机和Kali,可以通过这种方式快速扫描到靶机的IP。
PCS Systemtechnik GmbH这一行就是靶机的IP。 3. 用nmap做一下端口扫描。
nmap -sT 192.168.0.106
结果如下: 我们可以看出,这个靶机可以用ssh登录,也可以用http访问。ssh登录得账号密码呀,我们先登一下http。 主页这张图片真是让我DNA动了。我把这个图片下下来,用exiftool看了,期待能有什么线索,并没有什么发现,而且这个网页就放了这一张图片。接下来,看看这个网站还有什么别的目录。 使用dirb来扫描Web服务
dirb 192.168.0.106
dirb是一个基于字典的web目录扫描工具,会用递归的方式来获取更多的目录,它还支持代理和http认证限制访问的网站 格式:dirb <url_base> [<wordlist_file(s)>] [options] -a 设置user-agent -p <proxy[:port]>设置代理 -c 设置cookie -z 添加毫秒延迟,避免洪水攻击 -o 输出结果 -X 在每个字典的后面添加一个后缀 -H 添加请求头 -i 不区分大小写搜索
结果:
这里会扫出来的目录有:
http://192.168.0.106/index.html http://192.168.0.106/javascript http://192.168.0.106/server-status http://192.168.0.106/blog 一堆blog下子目录
依次try 一 try,发现blog有点东西。
赤裸裸的提示啊有没有。
Just another WordPress site. We will be deleting some of our unused wordpress plugins in future as security best practices.
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。
那么思路就是找到这个版本的WordPress有什么插件的漏洞。 用wpscan,去注册个账号获取api-token。
export WPTOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
wpscan --api-token=$WPTOKEN --url=http://192.168.0.106/blog -e p --plugins-detection aggressive
在插件中扫出了4个漏洞,依次点击它们的网址,其中File Manager 6.0-6.9 -Unauthenticated Arbitrary File Upload leading to RCE这个提供了poc脚本。 下载这个脚本到本地。 打开脚本,查看脚本用法。 根据这个用法解释,我们就知道怎么使用了。这个漏洞可以让我们上传任意文件,或者远程执行代码。Kali自带php反弹shell的脚本,我们把它复制到当前文件夹下,并改名为payload.php 修改其中的ip为kali的IP,端口号记住。 然后再执行那条指令把payload.php上传。
python3 2020-wp-file-manager-v67.py http://192.168.0.106/blog
用nc监听刚刚的那个端口,然后登录这个网站,获取shell。这里这个网址多了一个blog,把它去掉。
nc -lnvp 1234
这时候看看home目录,第一个魂器就出现了。在海格98目录下有魂器1的文档,解码后是“里德尔的日记本被哈利在密室中摧毁”。 接下来就是找第二个魂器。我们要获取root权限。wordpress用户会在mysql数据库中存储信息,在/etc/wordpress里可以打开config-default.php。这里记录了MySQL的用户名密码。 登录数据库,首先得获取一个tty shell,不然看不到mysql的输出。
python -c 'import pty; pty.spawn("/bin/sh")'
这里有用户名以及哈希后的密码。 于是我们就获得了用户名:hagrid98,密码password123。 ssh登录一下。 然后我们可以用 linpeas.sh这个辅助提权工具。首先在kali上下好linpeas,然后开9000端口,在靶机ssh终端下把它复制到/tmp文件夹下。
python3 -m http.server 9000
执行。
chmod +x ./linpeas.sh
./linpeas.sh
这里找到一个backup.sh。这个脚本负责复制这个uploads到tmp里面。属于那种隔段时间就会执行的脚本。 用pspy64看一下执行这个脚本的用户。 在kali上下载pspy64,然后复制到靶机/tmp目录下。 pspy64地址:https://github.com/DominicBreuker/pspy 就还是开一个端口,下到靶机上,执行。
可以看到,这个脚本的UID是0。 那我们就可以改一下这个脚本。让它在执行这个脚本的时候,返回root权限用户的bash,然后bash -p就行。
改好后就再等一段时间,看到tmp文件夹下有bash生成。
然后找魂器! 第二个魂器get。“马沃罗·冈特的戒指被邓布利多摧毁”。
接下来还有6个魂器,加油!
|