准备:

攻击机:虚拟机kali、本机win10。

靶机:DarkHole: 1,下载地址:https://download.vulnhub.com/darkhole/DarkHole.zip,下载后直接vm打开即可。

知识点:文件上传、环境变量替换命令提权。

信息收集:

通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.1.0/24,获得靶机地址:192.168.1.40

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.1.40,显示开放了22、80端口,开启了ssh、http服务。

目录扫描:

使用dirmap进行目录扫描,发现register.php、login.php等页面。

web测试:

访问web服务进行源代码审查,发现login.php页面,使用登录页面进行使用默认账户admin/admin进行登录,显示登陆失败。

在register.php页面进行注册,在注册admin账户时显示已经存在该账户,那就换一个账户:123/123进行注册并登录,登陆后显示只有一个更新的功能。

看到只有修改密码的功能和刚才注册时账户:admin已经存在的提示,想到使用bp抓取修改密码数据包并修改其中关于身份标识的身份,成功修改admin账户密码:admin。

文件上传获取shell:

使用账户和密码:admin/admin登录web页面,发现存在一处文件上传功能。

在这个网站:https://www.revshells.com/生成php反弹shell的脚本(使用PHP PentestMonkey),但是在上传的时候限制只允许:jpg,png,gif,检查源代码信息,显示并不是在前端做的验证,该限制是在服务端代码做的限制。

尝试修改php代码文件后缀,如:php3、php4、php5、phtml等,测试phtml时上传成功并可以访问获取反弹的shell(其他存在上传,但是无法执行),并获得上传后的目录信息:upload/shell.php4。

在kali端开启对6688端口的监听,然后在web端访问我们上传的后门文件,成功获取到shell权限。

提权-john:

在/home/john目录下发现一个当前用户具有可执行权限的可执行文件:toto,执行该文件返回了john用户的id命令的执行结果。

那我们就自己写一个id命令然后导入环境变量,让其引用我们的id命令即可执行我们写入的代码。cve-2021-4034是为了测试polkit的一个漏洞,这里测试未成功。

echo '/bin/bash' > /tmp/id
chmod +x /tmp/id
export PATH=/tmp:$PATH

返回/root/john目录执行toto文件,成功获得john账户权限,并读取目录下的user.txt文件,成功获取到flag。

提权-root:

读取/home/password文件发现密码:root123,查看下当前账户是否存在可以使用的特权命令,sudo -l,显示存在:/usr/bin/python3 /home/john/file.py。

观察file.py文件,发现john账户具有读写和执行权限,那我们写入shell脚本:echo 'import os;os.system("/bin/bash")' > file.py。

然后使用python3去执行该脚本,命令:sudo python3 /home/john/file.py,成功获得root权限。

在/root目录下发现root.txt文件,读取该文件成功获取到root权限。

vulnhub靶场之DARKHOLE: 1的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  3. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  7. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

  10. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

随机推荐

  1. Vue实现拖拽穿梭框功能四种方式

    一.使用原生js实现拖拽 点击打开视频讲解更加详细 <html lang="en"> <head> <meta charset="UTF-8 ...

  2. BigDecimal 用法总结

    转载请注明出处: 目录 1.BigDecimal 简介 2.构造BigDecimal的对象 3.常用方法总结 4.divide方法使用 5.setScale 方法使用 6.BigDecimal 数据库 ...

  3. 程序员便于开发的一些工具、网站、App。

    http://www.kancloud.cn 关于文档,各种技术,框架的学习指南,API文档搜索方便. https://leetcode.com/ 程序员刷题面试网站,无聊的时候可以做一做.

  4. 详解商业智能“前世今生”,“嵌入式BI”到底是如何产生的?

    嵌入式分析是使任何应用程序或用户更容易获得数据分析和商业智能的技术. 商业智能是通过分析业务数据辅助决策获取数据背后的 0信息. 商业智能软件和技术包含了报表查询,OLAP,数据挖掘及高级数据分析,最 ...

  5. Invalid bound statement (not found)出现原因和解决方法

    Invalid bound statement (not found)出现原因和解决方法 前言: 想必各位小伙伴在码路上经常会碰到奇奇怪怪的事情,比如出现Invalid bound statement ...

  6. 代码块及final关键字的使用

    1.代码块的作用:用来初始化类.对象 2.代码块如果有修饰的话,只能使用static. 3.分类:静态代码块 vs 非静态代码块 4.静态代码块 内部可以有输出语句 随着类的加载而执行,而且只执行一次 ...

  7. 前端框架Vue------>第三天学习(1)

    ` 文章目录 10 .组件基础 10.1 .什么是组件 11.什么是计算属性 10 .组件基础 10.1 .什么是组件 件是可复用的Vue实例,说白了就是一组可以重复使用的模板 <!DOCTYP ...

  8. 使用thymeleaf将查询的数据显示在前台。通过使用循环的形式

    1.需要注意的点. 在 <tr th:each="book:${bookList}">中.book是自己命令的变量.${bookList}是将查询的数据放入这里,需要后 ...

  9. 使用LEFT JOIN 统计左右存在的数据

    最近做了一个数据模块的统计,统计企业收款.发票相关的数据,开始统计是比较简单,后面再拆分账套统计就有点小复杂,本文做一个简单的记录. 需求 企业表 企业表t_company有如下字段:标识id.企业名 ...

  10. apijson 初探

    apijson 初探 本文试着用 5W1H 方式切入,试图快速建立自己对 apijson 的整体认知,所以这不是一趟快速入门的 demo 之旅,而是显得比较务虚的探索式知识体系整合过程. 持续更新中. ...