准备事项:
本次打靶涉及的基本工具:kali虚拟机及其自带工具,铸剑,burpsuit,蚁剑、linpeas.sh
靶机地址点击就送matrix-breakout-2-morpheus.ova
下载下来是一个ova虚拟镜像,这里我用的是vmware来导入
具体导入教程可以看文章虚拟机如何导入ova镜像https://blog.csdn.net/weixin_52529261/article/details/131191234?spm=1001.2014.3001.5502
导入靶场后,虚拟机正常访问是需要密码的,这里就是模拟在不知道密码的情况下通过操作获取从服务器到操作系统最高权限的过程,以下kali虚拟机ip:192.168.190.130
目录
一.获取信息
二.查看目录信息,寻找漏洞点,拿到服务器权限
三.拿下靶机操作系统cmd的shell
四.进行提权
五.反思&总结
nmap扫描
打开kali,用自带的nmap扫描网段信息,可以得到靶机ip:192.168.190.161(不一定一样,视情况而定)
nmap -sP 192.168.190.1/24
//-sP 默认发ICMP echo请求和TCP的ACK请求(80端口)相当于ping
nmap -sS -sV -T5 -A 192.168.190.161
//-sS 使用TCP的SYN进行扫描
//-sV 探测服务/版本信息
//-T5 0-5等级,速度从慢到快,这里用最快扫
//-A 全面扫
可以看到开放了22,80,81端口,访问80、81端口看看
81端口的需要输入用户名和密码,目前没什么好的方法爆破,也没发现什么特别有用的信息,用铸剑扫一下目录下有什么文件
扫到一个robots.txt,url访问一下,F12源码查看,依然没什么发现,怀疑因为字典不够全面
选用kali的gobuster(没有的话自行下载),用wordlists的字典扫描一下,发现果然漏扫了,多扫出graffiti.php、graffiti.txt两个文件。
url访问这两个文件
graffiti.php文件似乎可以上传字符,burpsuit抓包看一下
发现输入的信息会显示在该页面上,访问 graffiti.txt 文件,输入信息同时被写入到 graffiti.txt 文件中
这样的话,可以有个猜想,是不是post传参的内容和文件名可以利用一下呢?即疑似存在任意文件写入漏洞,用一句话木马+shell.php试试
一句话木马上传后不报错,url访问一下shell.php,页面一片空白代表上传成功,用蚁剑连接成功
打开WWW目录,报错path on found or permission,说明权限不够,接下来要获取操作系统权限
尝试用反弹shell获取靶机cmd/bash命令权限
这里可以用反弹shell命令在线生成器获取shell脚本,输入自己kali虚拟机的ip和任意端口号,选PHP PentestMon key模块生成shell(会写的师傅也可以自己写,更简洁高效),保存到shellweb.php中,url访问,同时kali进行监听,成功反弹
nc -lvvp 6678
查看当前位置文件信息,发现flag1.txt,提示有cypher-neo.png这张隐藏图片,url访问,发现没什么有用信息(这里还有值得探索的地方)
继续查看靶机操作系统类别信息,发现是Debian 11,尝试进行系统漏洞提权,上传linpeas.sh检查系统脆弱性,点击就送linpeas.sh
放到kali机的apache服务器(需开启),以便靶机下载
linpeas.sh列出了很多系统漏洞,这里尝试利用 CVE-2022-0847(Dirty-pipe)提权,相关漏洞提权方式需要自行上网搜索,这里可以直接在github搜索,之后按照相关提示运行.sh脚本文件
提权成功,运行pyhon3 -c 'import pty;pty.spawn("/bin/bash")';使用 python 的 pty 来转换为交互式shell,可以看到这里已经获得靶机最高系统权限root
1.有时候一个工具扫出来的东西很少甚至没有,找不到突破口,要更换扫描工具或者换更全面的字典
2.shell的写入,代码方面如果不是特别强的话可以参考其他师傅如何写,模仿多了就熟练了
3.获得靶机cmd/bash后,如若需要上传文件到靶机进行进一步攻击,可以配合kali开放apache并且把文件放到/var/www/html中,再在靶机中进行下载,可以灵活运用WinSCP等文件传输工具
4.集思广益,多看其他师傅的思路、做好记录,以便后续温习