与C2无关的BOF集合,按攻击链阶段分类。设计为小巧且模块化,支持快速执行和自动化。
# Adrenaline BOF 工具包 <img src="https://raw.githubusercontent.com/atomiczsec/Adrenaline/main/Assets/ADRENALINE.jpg" width="100%"> *一个与 C2 无关的 Beacon 对象文件(BOF)集合,用于红队和进攻性安全操作。BOF 按攻击链阶段组织,设计为小巧、模块化且易于自动化,适用于侦察、枚举和后渗透工作流。* <div align='center'> ## 目录(MITRE 分类法) [收集](#collection) [社区](#community) [凭据访问](#credential-access) [发现](#discovery) [执行](#execution) </div> ## 收集 | **BOF** | **用途** | |--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **[ai_surface](https://github.com/atomiczsec/adrenaline/blob/main/collection/ai_surface)** | 映射 Windows 开发者终端上的 AI 工具,并突出显示其可能暴露服务器定义、命令、参数和嵌入凭据的配置工件。 | | **[clipboard_grab](https://github.com/atomiczsec/adrenaline/blob/main/collection/clipboard_grab)** | 使用 Win32 API 从 Windows 剪贴板检索文本数据,并将内容返回给回调。 原始代码致谢:[@rvrsh3ll](https://github.com/rvrsh3ll/BOF_Collection) | | **[ide_extension_surface](https://github.com/atomiczsec/adrenaline/blob/main/collection/ide_extension_surface)** | 从每个用户的配置文件根目录枚举 VS Code、Cursor、Windsurf、Zed、Insiders、OSS 以及服务器/远程扩展清单,并汇总扩展身份、激活事件和能力信号。 | | **[powershell_history](https://github.com/atomiczsec/adrenaline/blob/main/collection/powershell_history)** | 从默认的 PSReadLine 和转录位置收集 PowerShell 历史记录工件。可用于定位凭据或基础设施。 | | **[window_handles_enum](https://github.com/atomiczsec/adrenaline/blob/main/collection/window_handles_enum)** | 枚举所有系统进程中的窗口句柄,并使用合法的窗口句柄访问剪贴板。 | ## 社区 | **BOF** | **用途** | |--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **[notepad_grab](https://github.com/atomiczsec/adrenaline/blob/main/community/notepad_grab)** | 通过读取内存直接从打开的记事本窗口中提取并返回纯文本,使操作人员能够恢复未保存或内存中的笔记。适用于从在线终端收集数据。原始来源:[NoteThief](https://github.com/trainr3kt/NoteThief) | | **[schtask_enum](https://github.com/atomiczsec/adrenaline/blob/main/community/schtask_enum)** | 使用任务计划程序 COM 接口枚举 Windows 系统上的计划任务。提供任务摘要,包括其状态、计划和配置,而不会用 XML 数据淹没 beacon。原始来源:[TrustedSec CS-Situational-Awareness-BOF](https://github.com/trustedsec/CS-Situational-Awareness-BOF) | | **[net_use](https://github.com/atomiczsec/adrenaline/blob/main/community/net_use)** | 通过 MPR 添加、列出或删除映射驱动器(已现代化以正确管理内存,避免崩溃)原始来源:[TrustedSec CS-Situational-Awareness-BOF](https://github.com/trustedsec/CS-Situational-Awareness-BOF) | | **[session_view](https://github.com/atomiczsec/adrenaline/blob/main/community/session_view)** | 枚举 Windows 终端服务会话,显示会话 ID、用户名、域名、连接状态和会话 LUID。原始来源:[SessionView](https://github.com/lsecqt/SessionView),作者 lsecqt | ## 凭据访问 | **BOF** | **用途** | |--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **[certstore_loot](https://github.com/atomiczsec/adrenaline/blob/main/credential_access/certstore_loot)** | 枚举本地证书存储,查找具有可导出私钥的证书,并为您提供导出路径。 | | **[cicd_credential_hunt](https://github.com/atomiczsec/adrenaline/blob/main/credential_access/cicd_credential_hunt)** | 在当前 Windows 用户配置文件中查找常见的 CI/CD、云和开发者凭据工件(GitHub/GitLab CLI、AWS/GCP、kube/Terraform、包管理器、Git、SSH)。默认报告路径和大小;可选 `-verbose` 参数用于有限的内容预览。`.gitconfig` 和 `.ssh/config` 被归类为配置文件,而非凭据工件。 | | **[cloud_metadata_check](https://github.com/atomiczsec/adrenaline/blob/main/credential_access/cloud_metadata_check)** | 从当前进程探测 AWS、Azure 和 GCP 的云本地元数据服务,在可达时报告提供商身份、实例上下文和有限的凭据片段。 | | **[process_tokens_list](https://github.com/atomiczsec/adrenaline/blob/main/credential_access/process_tokens_list)** | 枚举运行进程中可访问的令牌,显示用户上下文、令牌类型(主令牌/模拟令牌)和模拟级别。支持按 PID 或进程名称进行可选过滤。出于 OPSEC 考虑,SeDebugPrivilege 默认禁用。 | ## 发现 | **BOF** | **用途** | |--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **[amsi_etw_detect](https://github.com/atomiczsec/adrenaline/blob/main/discovery/amsi_etw_detect)** | 通过检测已加载的 DLL 和与 ETW 相关的导出,检查当前进程中是否存在 AMSI 和 ETW。广泛应用时,有助于选择安全活动较少的攻击目标。 | | **[app_count](https://github.com/atomiczsec/adrenaline/blob/main/discovery/app_count)** | 通过注册表统计已安装应用程序的数量,去重后打印。应用于大量 beacon 时,可根据应用数量差异推断设备的相关信息。 | | **[applocker_policy](https://github.com/atomiczsec/adrenaline/blob/main/discovery/applocker_policy)** | 通过扫描相关注册表项,枚举 AppLocker 策略配置、规则集合和执行模式。 | | **[asr_status](https://github.com/atomiczsec/adrenaline/blob/main/discovery/asr_status)** | 从注册表位置枚举 Windows Defender 攻击面减少(ASR)规则,以识别配置了哪些 ASR 规则、其执行状态(阻止/审核/警告/禁用)以及策略来源(Intune/MDM 与组策略)。 | | **[bitlocker_status](https://github.com/atomiczsec/adrenaline/blob/main/discovery/bitlocker_status)** | 通过扫描注册表项,枚举 BitLocker 加密状态、策略配置和恢复密钥备份位置。 | | **[mdm_policy_artifacts](https://github.com/atomiczsec/adrenaline/blob/main/discovery/mdm_policy_artifacts)** | 使用评分模型评估 Windows 系统上的 MDM 注册状态,评估指标包括加入状态、计划任务、策略配置和注册工件。 | | **[netjoin_query](https://github.com/atomiczsec/adrenaline/blob/main/discovery/netjoin_query)** | 查询 Windows 域加入信息和工作站详细信息,识别系统是已加入域还是处于工作组中。 | | **[power_state](https://github.com/atomiczsec/adrenaline/blob/main/discovery/power_state)** | 使用 SMBIOS 机箱数据识别主机形态为笔记本电脑、台式机、平板电脑、服务器、嵌入式或未知,并带有电源状态回退机制。 | | **[proxy_enum](https://github.com/atomiczsec/adrenaline/blob/main/discovery/proxy_enum)** | 枚举 WinINET、WinHTTP、策略项、环境变量、WPAD 指示器、Chrome 设置和 .NET `defaultProxy` 值中的 Windows 代理配置状态。 | | **[tray_scout](https://github.com/atomiczsec/adrenaline/blob/main/discovery/tray_scout)** | 报告任务栏主机可执行文件,并枚举系统托盘通知图标工具提示,可选提供主机和每个图标所属进程的完整映像路径。 | | **[user_idle](https://github.com/atomiczsec/adrenaline/blob/main/discovery/user_idle)** | 获取自上次输入以来的用户空闲时间以及当前进程中的 GUI 资源使用情况(GDI/USER 句柄),用于时机情报。 | | **[wallpaper_enum](https://github.com/atomiczsec/adrenaline/blob/main/discovery/wallpaper_enum)** | 使用现代 IDesktopWallpaper COM 接口枚举每个已连接显示器的当前桌面壁纸路径。集中式壁纸有时位于内部 SMB 共享或映像服务器上,无需接触磁盘或网络即可揭示网络路径、域信任和策略执行情况。 | | **[wef_detect](https://github.com/atomiczsec/adrenaline/blob/main/discovery/wef_detect)** | 检测 Windows 事件转发(WEF)配置,该配置表示集中式日志记录。如果发现,则表明安全事件正在被转发到中央服务器。 | | **[wevt_channel_enum](https://github.com/atomiczsec/adrenaline/blob/main/discovery/wevt_channel_enum)** | 枚举本地 Windows 事件日志通道,支持可选的不区分大小写的子字符串过滤器、受限输出以及可选的详细访问和发布元数据。 | | **[window_list](https://github.com/atomiczsec/adrenaline/blob/main/discovery/window_list)** | 枚举当前用户桌面上所有可见窗口的标题,可选包含进程 ID(PID)。 | | **[wsc_status](https://github.com/atomiczsec/adrenaline/blob/main/discovery/wsc_status)** | 查询 Windows 安全中心运行状况状态,包括防病毒、防火墙、反间谍软件、WSC 服务、自动更新、Internet 设置和用户帐户控制。 | | **[win_version](https://github.com/atomiczsec/adrenaline/blob/main/discovery/win_version)** | 此 BOF 查询注册表和系统 API,以提供简洁但详细的 Windows 安装概览。 | ## 执行 | **BOF** | **用途** | |--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| | **[com_probe](https://github.com/atomiczsec/adrenaline/blob/main/execution/com_probe)** | 探测给定 CLSID 的 COM 对象是否可以被实例化。 | | **[event_log_manage](https://github.com/atomiczsec/adrenaline/blob/main/execution/event_log_manage)** | 检查事件日志通道,管理 BOF 拥有的经典日志和源,通过已注册的源写入文本或二进制事件,并可选择备份后清除通道。 | | **[firewall_rule](https://github.com/atomiczsec/adrenaline/blob/main/execution/firewall_rule)** | 通过 COM API(`INetFwPolicy2`)添加、删除或查询 Windows 防火墙规则,无需生成 `netsh.exe` 或 `cmd.exe`。适用于网络内横向移动。 | | **[port_scan](https://github.com/atomiczsec/adrenaline/blob/main/execution/port_scan)** | 通过 Winsock 扫描单个 IPv4 主机的开放 TCP 和/或 UDP 端口,支持受限端口列表、可配置超时和简洁的开放端口输出。 | | **[service_control](https://github.com/atomiczsec/adrenaline/blob/main/execution/service_control)** | 通过 SCM 管理本地 Windows 服务:查询(受限列表或单个服务)、创建、启动、停止、删除和配置失败操作。更改通常需要提升权限。 | | **[wevt_logon_enum](https://github.com/atomiczsec/adrenaline/blob/main/execution/wevt_logon_enum)** | 通过 wevtapi API 枚举最近的安全日志(成功/失败)登录事件(事件 ID 4624、4625、4672),并打印远程工作站名称/IP 以及目标用户名。 | --- <h3 align="center">与我联系:</h3> <p align="center"> <a href="https://github.com/atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/github.svg" height="30" width="40" /></a> <a href="https://instagram.com/atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/instagram.svg" height="30" width="40" /></a> <a href="https://x.com/atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/twitter.svg" height="30" width="40" /></a> <a href="https://medium.com/@atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/medium.svg" height="30" width="40" /></a> <a href="https://youtube.com/@atomiczsec" target="_blank"><img src="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/youtube.svg" height="30" width="40" /></a> </p> --- **免责声明:** 本仓库的创建者和贡献者不对因使用本仓库中包含的信息或代码而导致的任何损失、损害或后果承担责任。使用本仓库即表示您承认并接受对自身行为的全部责任。使用风险自负。