narak-难点

靶机无ip

靶机开机按e进入编辑

将ro字符串之后的值修改为红框所示,并ctrl+x进入root

ip a,查看网卡名,复制下来

1
2
3
4
5
#对于redhat linux
vi /etc/network/interfaces#提示让去 /etc/netplan找,
#找到netplan下的文件,vi,网卡名改为与ip a一致的名字如enp0s17
#重启网卡
/etc/init.d/networking restart #或者直接虚拟机重启

image-20231129224807424

我是可以了,确实是这样,就是名字一致就可以,不需要改eth0什么的

渗透测试

信息收集

1
2
3
map -Pn --min-rate 10000 -p- 192.168.1.118 
sudo nmap -sT -sC -sV -p22,80 -O 192.168.1.118
#script=vuln那个不弄了

访问80,是一些西方图

那个按钮点击后是一个漫画,这个图片隐写我考虑了,没有,url为

1
2
http://192.168.1.118/images/666.jpg?
#很在意,这个?可能接受一些参数

dirb初步扫描,有一个 /webdav路径,需要凭证,再扫一次,加一些后缀

由于不知道后端语言,后缀就html和txt吧

http://192.168.1.118/tips.txt

提示说,这个口子可以在creds.txt中找到,但也不是路径

把字典换大一点的试试,添加一些后缀如zip,rar,sql等,没什么特殊的

好好好,那这信息太少了,我要从nmap重新开始,至少得扫udp的端口了,没用,哈哈

我想fuzz那个jpg了都

1
sudo wfuzz -w common.txt -u http://192.168.1.118/images/666.jpg?FUZZ=creds.txt --hh 98358  #没有

有趣有趣,就80端口,几个路径,没了?

f12,什么都没有,js啊,之类的

我想看 /webdav,抓包

尝试一下后没用

那怎么搞,肯定有其它端口,不然creds.txt怎么解释,它在80端口没有

卡关-udp端口

卡关就是去找wp了,

1
sudo nmap -sU --top-ports 20 --min-rate 10000 192.168.1.118 #为什么 -sU -p1-100 扫不出来69?

tftp命令

简单文件传输协议,TFTP使用UDP协议,TFTP不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,没有列出目录的功能,也不能对用户进行身份鉴别,它传输8位数据

1
2
3
4
5
tftp 192.168.1.118
get creds.txt
q #退出
#在当前目录发现creds.txt,经典的base64编码,解码得到凭证,考虑ssh或者webdav
#yamdoot:Swarg #尝试后是进入webdav了,是个列表,但空

好好好,你这样搞是吧

我tftp就算可以上传木马,但我不清楚具体路径,好好好,上传也上传不了

卡关-webshell

啧,webdav,用kali自带的 davtest检测该漏洞

1
davtest -url http://192.168.1.118/webdav -auth yamdoot:Swarg

可以发送的文件有php,执行的文件也有php

直接反弹shell

1
2
3
4
5
davtest -url http://192.168.1.118/webdav -auth yamdoot:Swarg -uploadfile sh.php -uploadloc rev.php
#或者客户端登录
cadaver http://192.168.1.118/webdav #凭证输入后
#直接
put /home/sh.php

攻击机监听,然后浏览器去访问php文件

常见提权方法尝试后,没特别的

cd /home有一个用户可以看到user.txt

卡关-用户shell

去找sh文件

/mnt文件夹找到一个

chitragupt111

这种一看就是ctf的鬼迷日眼的编码,很像JSfuck,但它只有括号,啧,是Brainfuck

用ssh试了一下,可以到inferno的shell

1
2
3
4
uname -a #版本较新
sudo -l#无
find / -perm -u=s -type f 2>/dev/null #无特别的
cat /etc/crontab #无特别的

emmm,那干什么嘞

卡关-motd提权

motd :这个文件是在你登录之后显示的,不管你是 TTY 还是 PTS 登录,也不管是 Telnet 或 SSH 都显示这个文件里面的信息;全局性的

攻击机监听,然后同时ssh重新连接下

补充

在没有其它提权方式,查找可写文件,更好的find方法可以是

1
find / -writable -type f -not -path ".proc/*" -not -path "/sys/*" 2>/dev/null #可以更容易发现hell.sh,也能发现最后提权的head文件,都是可修改的

总结

  1. 扫端口为22,80
  2. 去80,扫路径,发现webdav,需要凭证;tips.txt提示有一个creds.txt文件,但是web访问不了的
  3. 尝试udp扫描,没有;需要提高精度,尝试--top-ports 20,发现tftp
  4. tftp可以直接登录拿到webdav凭证
  5. webdav空列表,利用davtest工具测试该漏洞,发现可以上传php并执行php文件
  6. davtest或cadaver去上传木马shell文件
  7. 攻击机顺利拿到webshell
  8. webshell中搜索提权方式无果,找到敏感路径/mnt的脚本文件
  9. 内容为brainfuck编码,解码,尝试作为ssh登录凭证
  10. 拿到用户shell,尝试提权方式,无果->
  11. find可写文件,发现motd文件(它以root权限执行),进行追加bash shell
  12. 攻击机监听,重新ssh连接,拿到rootshell

总的来讲,重点为webdav的websehll,以及motd提权

遇到不认识的路径名,应该要去主动搜索,进一步了解可能的漏洞

tcp端口无果时,尝试去精准搜索udp端口

提权方式无果时,使用find 查找可写文件也是一个重要的思想

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信