下载地址:
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无法查看文件,只有很少的命令
连接方式:
虽然知道有时要扫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提权
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |