首页 » PHP教程 » php小马免杀技巧_Webshell免杀研究

php小马免杀技巧_Webshell免杀研究

访客 2024-11-13 0

扫一扫用手机浏览

文章目录 [+]

安全狗

安全狗是一款安全防护软件,它供应木马查杀、漏洞防御、造孽要求拦截等功能,致力于保护网站和做事器的安全。
它具有运用防护WEB运用风险、拦截各种SQL注入、XSS攻击防御、0Day攻击防御、特定资源保护、网络木马文件、恶意畸形文件、0Day漏洞、黑链等特性。

护卫神

护卫神是一款以分离权限为根本,通过一系列独特技能手段,保障网站不被入侵的安全性防护软件。
它适用于各种ASP和PHP编写的程序,在目前网站日益专横狂的挂马、入侵情形下,护卫神可以彻底办理用户所面临的浩瀚安全难题,为网络安全保驾护航。
它具有实时木马程序查杀、网站挂马拦截、文件修改保护、PHP谢绝做事攻击防御、SQL防御、XSS跨站攻击防御、入侵拦截防护、远程桌面安全保护等特性。

php小马免杀技巧_Webshell免杀研究

免杀根本免杀需求

由于设计的木马的终极目的在创造目标网站有上传漏洞时可以将木立时传到目标做事器上并且可以远程访问实现远程掌握,然而一些网站都会有安全狗、D盾、安骑士、护卫神、云锁等防护软件可以对一些Webshell进行查杀,那么要想利用Webshell进行远控就须要实现免杀,以此往返避木马查杀工具的检讨。

php小马免杀技巧_Webshell免杀研究
(图片来自网络侵删)
查杀技能

目前主流的木马查杀方法有:静态检讨、动态检测、日志检讨三种办法。
a、静态检讨通过匹配特色码、危险函数和木马特色值来查杀木马程序,它的特点是快速方便,对已知的木马程序查找准确率较高,它的缺陷是误报率较高,无法查找0Day型的木马程序,而且随意马虎被绕过。
b、动态检测通过木马程序的动态特色来检测,当木马程序被上传到做事器上后,攻击者总会去实行它,当木马程序被实行时所表现出来的特色便是所谓的动态特色。
c、日志检测则紧张通过日志剖析检测技能来实现,它紧张通过剖析大量的日志文件并建立要求模型来检测出非常文件。
它的优点为当网站上的访问量级达到同等值时,这种检测方法具有比较大参考性代价。
它的缺陷则是存在一定误报率,对付大量的日志文件,检测工具的处理能力和效率都会变的比较低。

免杀技巧

木马程序可以利用多种编程措辞来设计,不同的编程措辞有不同特性以及供应的系统函数,以是在实现免杀时可以首先考虑灵巧利用措辞的特性来实现免杀,其次可以根据查杀软件的查杀规则来重构木马程序,躲避木马查杀工具的查杀,同时可以考虑密码学中的加密解密对源木马程序进行加密解密处理,以此往返避木马查杀工具的检讨。
木马免杀技能的核心在于“灵巧多变”。

免杀实战—小马免杀引用免杀

由于D盾、安全狗、护卫神会对关键字eval中的实行变量进行溯源,当追溯到要实行的变量为一个通过POST吸收的可疑数据时就会显示可疑木马,为了躲避这种溯源办法,可以通过多次利用&来引用前一个变量,通过持续串的赋值操作末了将要实行的内容与反引号拼接后传入eval实现免杀,详细实现如下所示:

之后利用D盾查杀一下看看:

创造还是被查杀到了,这时候b有给a说了:"喂,上面的a,我们换换位置呗~",于是a无奈的说:"为啥受伤的总是我呢?"

之后a对b说:"你看,弗成吧?换了也没戏",之后b皱了皱眉说:"不急,我们来再拉一下伙伴——反引号,让他帮帮忙":

果真,b小哥说的还是有点门道的哦,从上面的结果中可以看到成功免杀了,之后再来看看安全狗——成功免杀

护卫神——成功免杀

至此,D盾、安全狗、护卫神已成功免杀,之后我们来看看可用性:

可变变量

可变变量是PHP中一种较为独特的变量,它可以动态的改变一个变量的名称,这种特性可以用于木马免杀中。
首先可以定义一个变量$do并为其赋值为todo,之后将木马内容赋值给可变变量$$do,末了在调用eval函数实行时将实行工具定义为$todo即可,详细实现如下所示:

之后利用D盾查杀一下看看:

创造弗成哦,那么怎么办呢?幸好本日"反引号"大哥来串门,不妨让他来帮个忙:

创造成功免杀,之后我们再利用安全狗查杀一下看看————成功免杀

护卫神————成功免杀

至此,成功免杀安全狗、护卫神、D盾,之后我们试试可用性:

二维数组

在免杀时我们可以考虑见要实行的一句话木马程序放到数组中实行达到绕过的目的,例如:

之后我们利用D盾进行查杀————成功免杀

之后我们利用安全狗进行查杀————成功免杀

之后我们利用护卫神进行查杀:

oh, My God!
护卫神这么刁悍的吗???好不容易过了D盾、安全狗的查杀检测,走到末了一步却被护卫神给查杀了.....,那么怎么绕呢?既然一维数组弗成,那么我就来个二维数组,哼:

之后再次利用护卫神查杀

还是被查杀到了,那么怎么办呢?变量$a给变量$b说:"我们不妨换换位置?",变量$b只好带着"试一试"的心态回答"换就换呗,反正就那样....":

"竟然成功免杀了?",变量$b带着痴呆的表情说到。
之后我们再次利用D盾进行查杀————成功免杀:

之后再次利用安全狗查杀————成功免杀

至此,成功免杀D盾、安全狗、护卫神,那么来看看可用性:

数组交集

在做免杀研究是,创造我们可以通过数组的交集来得到我们想要的值,之后将其利用到木马程序的布局当中,例如:

至于设计事理上面的注释中想必已经说得很是详细了,这里就不再逐一复述了,下面我们利用D盾进行查杀看看——免杀

之后利用安全狗查杀看看————成功免杀

之后利用护卫神查杀看看————成功免杀

至此,D盾、安全狗、护卫神成功免杀,下面试试可用性:

回调函数

array_map() 回调函数会返回用户自定义函数浸染后的数组。
array_map() 函数详细利用方法和参数解释如下:

在这里我们可以先定义一个函数test,个中第一个参数$a用作回调函数名称,第二个参数$b用作回调函数的参数,之后将其通报给array_map()函数进行实行,之后我们在外部调用test函数,同时传入我们的回调函数名称和回调函数的参数:

之后利用D盾进行查杀————成功免杀

之后利用安全狗查杀————成功免杀

之后利用护卫神查杀————成功免杀

至此,成功免杀D盾、安全狗、护卫神,之后我们利用菜刀连接试试看是否可以正常利用:

免杀实战—大马免杀加密&稠浊

在免杀处理的浩瀚方法中,加密免杀算是一种常用的技巧,常见的加密办法有rot13、base64加解密,下面我们利用base64来进行免杀研究,首先我们须要一个shell.php的PHP大马:

之后我们须要利用encode.php对上面的大马程序进行一次base64加密处理,encode.php代码如下:

之后我们在浏览器中访问encode.php即可实现对shell.php大马程序的加密处理:

PS:由于木马程序源代码中含有很多敏感的操作,而且有很多随意马虎被查杀到的关键词,所往后续的免杀都是在加密处理的根本上进行的剖析与研究之后我们利用D盾先来一波查杀看看:

从上面的查杀结果可以看到这里威胁级别为"5",而且报"加密后门"的警告,这里该当是D盾检测到了关键字"base64_decode",以是我们这里须要做一个大略的稠浊处理:

通过以上处理之后创造处理后的木马程序躲避了D盾的查杀,但是被安全狗检测到了:

经由剖析创造被查杀的缘故原由是eval函数实行了一个解密后的内容,为了躲避查杀,这里可以通过将解密后的内容赋值给一个变量,之后通过利用反引号拼接变量然后再让eval去实行的办法躲避查杀,详细实现如下所示:

可以创造成功免杀,之后我们再利用D盾进行一次查杀操作,创造依旧成功免杀(毕竟大马程序的繁芜度增加了):

之后我们再利用护卫神进行一次查杀:

至此该木马成功免杀D盾、安全狗、护卫神,同时我们须要检测一下免杀之后的可用性:

可以正常利用:

Create_function免杀

在免杀的过程中,创造了一个PHP的内置函数Create_function,它紧张用于创建一个函数,这里可以利用它来进行免杀,但是由于D盾、安全狗有关键词查杀以是这里须要对Create_function进行一个拆分处理,同时须要加入稠浊处理,末了木马程序重组成果如下所示:

之后利用D盾进行查杀————成功免杀!

之后利用安全狗查杀————成功免杀

之后利用护卫神进行查杀————成功免杀

至此,安全狗、护卫神、D盾成功免杀,之后我们试试可用性:

可以正常利用~

可变变量

可变变量是PHP中一种较为独特的变量,它可以动态的改变一个变量的名称,这种特性可以用于木马免杀中。
首先可以定义一个变量$do并为其赋值为todo,之后将加密处理过后的木马内容赋值给可变变量$$do,末了在调用eval函数实行时将实行工具定义为$todo即可,详细实现如下所示:

之后利用D盾进行查杀————成功免杀

之后利用安全狗查杀————成功免杀

之后利用护卫神查杀————成功免杀

至此,成功免杀D盾、安全狗、护卫神,之后我们试试可用性:

总结

免杀与查杀在一次又一次的攻防较劲中不断的进步,而我们在利用现有的webshell时也须要留神该webshell的可信程度,有些webshell留有后门,至少笔者剖析的N多个大马时创造加密的木马文件险些都有干系的后门。
以是在免杀研究时还是自我设计木马程序为好,一些大马文件的功能不外乎由编程措辞的功能函数来实现外加各种加密解密、编码/解码方法等。
当然,随着木马查杀库的更新我们也须要研究更多的木马查杀方法与木马查杀机制的毛病,促进攻防两端的进步。

标签:

相关文章