██╗ ██████╗ ██╗ ██████╗ ██╗████████╗███████╗
██║ ██╔═══██╗██║ ██╔══██╗██║╚══██╔══╝██╔════╝
██║ ██║ ██║██║ ██████╔╝██║ ██║ ███████╗
██║ ██║ ██║██║ ██╔══██╗██║ ██║ ╚════██║
███████╗╚██████╔╝███████╗██████╔╝██║ ██║ ███████║
╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝ ╚══════╝
LOLBITS 是一个 C2 框架,利用微软的 后台智能传输服务 (BITS) 在被入侵主机与后端之间建立通信通道。C2 后端隐藏在一个看似无害的 Flask Web 应用之后,只有当应用接收到的 HTTP 请求包含有效认证头时才能访问。由于该工具旨在用于高度监控的环境,因此实现了以下功能以避免 EDR 和 AV 检测:
在架构方面,LOLBITS 由三个主要元素组成:
为了防止代理内容检查,代理与 C2 服务器之间发送的所有相关内容均使用预设随机密钥的 RC4 进行加密。基础设施行为的高级示意图如下:
为避免蓝队重放某些旧请求并发现 C2 后端基础设施,每个认证头都是随机生成的,并且仅对单个周期有效(一个周期由一次 POST 请求和一次 GET 请求组成,顺序固定)。旧的认证头将被忽略,那些请求将显示无害网站。
该工具的某些功能是通过复用其他项目的代码或得益于众多网络安全研究人员的工作实现的。以下列出了一些以某种方式用于改进本工具的外部工作和项目链接:
C2 基础设施需要 Windows Server 2016 或更高版本,并安装 Python 3.4+ 和 PowerShell 5.1+。 C# 代理已在 Windows Server 2012、Windows Server 2016、Windows Server 2019、Windows 7、Windows 8.1 和 Windows 10 上成功测试。编译代理需要:
git clone https://github.com/Kudaes/LOLBITS.git
同时安装 IIS 的 .NET Framework 和 BITS 功能。
以管理员身份执行 setup.ps1 脚本,以部署整个基础设施并配置 C# 代理。
编译 C# 代理。编译将生成一个 .exe 和一个外部依赖项(Newtonsoft.Json.dll)。你可以使用 ILMerge 生成单个 .exe,或者直接将两个文件发送到目标主机。为避免输出 DEBUG 信息,请确保将项目编译为 Windows 应用程序。
Url 变量,将默认的 HTTP 改为 HTTPS。要获得反向 shell,只需在 C2 服务器的 cmd 中键入 python lawlbin.py,然后在被入侵主机上执行 C# 代理。
由于本项目源于之前一个失败项目的遗留代码,部分旧功能得以保留。旧项目是一个 shell,所有可用命令都通过 Living of The Land Binaries 执行。这就是 LOLBITS 中 LOL 的由来,因此以下功能仅使用 LOLBINS 运行(这有助于绕过 AWS 和一些 AV/EDR 过滤器):
尽管这些功能在某些环境中可能很有趣(嗯,不用 Powershell 下载远程文件?我喜欢!),我保留它们只是为了复用 C2 控制台的部分旧代码。以下是一些其他功能,我相信在经典的红队场景中会更实用:
要获取使用提示,只需键入 help 或 <somecommand> help。
任何贡献都将受到极大赞赏。
git checkout -b feature/AmazingFeature)git commit -m '添加某些 AmazingFeature')git push origin feature/AmazingFeature)基于 GNU 许可证分发。有关更多信息,请参阅 LICENSE。