HA-Narak靶机WP

下载地址:

https://download.vulnhub.com/ha/narak.ova

motd提权,可以结合上一篇文章一起看

一两个月前打的,凭记忆复现,可能攻击链的体现不是特别流畅,望海涵

nmap扫描

综合以上信息,比较有趣的就是webdav这个文件夹

这台靶机开的服务比较少,直接访问80端口同时扫一下一级目录

首先直接访问,可以看到

大概是这样一个画面,narak是印度教地狱的意思

这里面用来大量独特风格的设计,用的词汇很有特色时,我一般会把cewl提取字典列入待办项,因为特色也意味着范围狭隘

大概翻了翻,这应该是一个逃离地狱为主题情景设计的靶机

然后先看看我们最感兴趣的webdav,这种目录一般来说很有可能是用的cms

访问弹出

看来我想错了,查了一下webdav

WebDAV 就是一种互联网方法,应用此方法可以在服务器上划出一块存储空间,可以使用用户名和密码来控制访问,让用户可以直接存储、下载、编辑文件。

试试webdav爆破,由于没见过,先分析一下数据包

GET /webdav HTTP/1.1
Host: 10.10.10.130
Cache-Control: max-age=0
Authorization: Digest username="admin", realm="webdav", nonce="8kpGG/Y5BgA=b39a6b31d96207651d86f4def2fdd0fb1f5f5834", uri="/webdav", algorithm=MD5, response="92895ed5aa8372950b31b32cbff1482a", qop=auth, nc=00000002, cnonce="9317bdc01688c2d3"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.127 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

这里用了md5加密密码,这是一个HTTP Digest 认证 请求报文 ,Hydra 会自动使用明文密码并根据 Digest 认证规则进行转换和加密(使用 MD5),不需要在密码字典里提前计算 MD5 哈希

Hydra 的 http-get 是针对 HTTP Basic 或 Digest 认证机制的暴力破解模块。通过不断尝试用户名和密码组合,直到获得有效登录。它主要适用于那些要求客户端在请求中通过 GET 方式发送认证信息的场景(如 Authorization: Basic ... header 或 HTTP Digest challenge-response)。

在 Hydra 中,http-get 并不是明确地“指定 Digest 认证”,而是告诉 Hydra 使用 HTTP GET 请求 去尝试登录某个受保护的资源。Hydra 会自动识别服务返回的 HTTP 401 状态中是否使用 Digest Auth,并据此构造请求

先生成一个字典

尝试了两次爆破

第一次admin失败后,用户名和密码都用这个字典,成功爆出了一个用户

[80][http-get] host: 10.10.10.130   login: yamdoot   password: Swarg

后面看了一下别人的博客,还有另外一种方法,

这里找不到这个creds.txt文件,

国外文章给出的思路是,因为无法通过web目录发现creds.txt”,因此考虑端口扫描,然后发现 69/udp 端口运行着 TFTP 服务(引用自lainwith的博客)

那进行udp扫描

tftp:简单文件传输协议,使用udp端口69

tftp无法查看文件,只有很少的命令

连接方式:

tftp <ip>
get xx.txt

虽然知道有时要扫udp,但这是在打靶时第一次遇到运用

下次遇到这种提示,不能只怀疑是兔子洞,最好要验证,有时不跟着提示走真做不出来


登录之后是这样一个存储文件的页面:(好像是空的,这是我之前做的时候放的文件(一不小心给自己剧透了。。)

如果网站服务器启用 WebDav 并且给与所有权限,那么任意用户都可以远程上传、删除和修改服务器上的文件,从而导致服务器被上传 webshell。

davtest 是一款专用于测试 WebDAV(Web-based Distributed Authoring and Versioning)服务安全性的工具,常用于信息安全领域,尤其是在渗透测试中用于检测 WebDAV 配置漏洞。

可以看到可以上传文件,且php文件可以成功执行

上传文件:

监听:

拿到初始权限的shell

提权

当时提权花了比较久的时间,这次重新做一遍

枚举:

sudo -l: 需要密码

suid:

crontab:/etc/crontab无定时任务

kernel:4.15.0-20,大概率不成

USER: 至少明面上没信息

writable:

有意思,这次可写文件又出现了motd的一系列配置文件,结合上一台靶机(见上一篇文章fowsniff WP - RC42 - 博客园),很容易得出这个地方值得一试,但是试这个地方需要一个条件,就是能够成功连接ssh,这样在一开始连接时才能触发脚本

所以,现在还缺少一些必要的信息

再仔细看看

这个充满该靶机独特色彩的脚本文件一定有问题

www-data@ubuntu:/home$ cat /mnt/hell.sh
cat /mnt/hell.sh
#!/bin/bash

echo"Highway to Hell";
--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.
www-data@ubuntu:/home$ ls -ialh /mnt/hell.sh
ls -ialh /mnt/hell.sh
920902 -rwxrwxrwx 1 root root 204 May 29 04:45 /mnt/hell.sh
www-data@ubuntu:/home$ 

虽然是root权限的可写文件,但这也只是一个普通的文件,普通用户身份也只能以普通用户身份执行,于是当时我卡了很久,因为不知道这个文件里这串“花纹”是brainfuck语句

注意:brainfuck语句别用AI运行翻译(大概率乱翻译),用在线工具即可

随便找了个工具,

得到这个凭据chitragupt

Chitragupt”(चित्रगुप्त)是印度教神话中的一位重要神祇,主要职能是记录人类善恶行为、协助审判灵魂

情景设计很用心 ,同时也佐证了得到的运行结果是符合逻辑的

ssh碰撞密码:

把这三位大能整理成用户名字典

虽然不知道为什么印度教的神是西方神话中的地狱的密码,不过总算可以连接ssh了,之后的思路就非常明晰了

先在/etc/update-motd.d/00-header中写入反弹shell或者别的命令

比如写运行hell.sh,在hell.sh中写反弹shell,或者直接写反弹shell或者直接改密码

修改密码:

反弹shell:

监听ssh的连接即可

补充:似乎内核提权用

CVE-2021-3493,https://github.com/briskets/CVE-2021-3493也行,不过这里主要讨论motd提权

posted @ 2025-07-15 22:22  Ex1st  阅读(25)  评论(0)    收藏  举报