10) Install Stuff
Install Stuff 메뉴는 SPF에서 필요한 도구를 설치할 때 사용하는 메뉴이다. Install Stuff 메뉴를 선택하면 아래와 같이 하위 메뉴가 존재한다.
10.1) Android SDKS
Android SDKS 메뉴는 Android SDK를 설치하는 메뉴이다. Android SDKS 메뉴를 선택하면 아래 같이 현재 설치되어 있는 SDK, 사용가능한 SDK의 목록을 나열해 준다.
현재 설치되어 있는 SDK, 사용가능한 SDK의 목록을 나열되면 이후 패키지 업데이트 및 설치 목록이 나열된다. 여기서 SPF 사용자가 업데이트 및 설치하고자 하는 패키지를 선택하면, 해당 패키지가 설치된다.
Android SDKS 메뉴가 어떻게 현재 설치되어 있는 SDK, 사용 가능한 SDK의 목록, 패키지 업데이트 및 설치 목록이 나열하는지 소스코드를 살펴 보자. 가장 먼저 현재 설치되어 있는 SDK 목록을 나열하는 소스코드는 아래와 같다. config 파일에서 지정한 SDK 하위 경로의 tools 폴더에 존재하는 android 파일의 list target 명령어를 이용하여 현재 설치되어 있는 SDK 목록을 불러온다.
835 def installandroid(): 836 while True: 837 print "Installed SDKs:" 838 sdkloc = config.get("ANDROIDSDK") 839 installedcommand = sdkloc + "/tools/android list target | grep id: | cut -d\" \" -f 4" 840 os.system(installedcommand) |
다음 사용 가능한 SDK의 목록을 나열 하는 소스코드이다. config 파일에서 지정한 SDK 하위 경로의 tools 폴더에 존재하는 android 파일의 list sdk 명령어를 이용하여 사용 가능한 SDK 목록을 나열한다. 사용 가능한 SDK 목록이란? 원격 저장소에 있는 SDK 내용을 의미한다.
840 os.system(installedcommand) 841 print "Available SDKs:" 842 newcommand = sdkloc + "/tools/android list sdk" 843 os.system(newcommand) |
마지막으로 패키지 업데이트 및 설치 목록을 나열하는 소스코드는 아래와 같다. config 파일에서 지정한 SDK 하위 경로의 tools 폴더에 존재하는 android 파일의 update sdk 명령어를 이용하여 패키지 업데이트 및 설치 목록을 나열한다.
844 print "Which SDK Would You Like to Install?" 845 choice = raw_input('spf> ').strip() 846 print 847 if choice == '0': 848 break 849 installcommand = sdkloc + "/tools/android update sdk --no-ui --filter " + choice 850 os.system(installcommand) |
10.2) Android APKTool
Android APKTool메뉴는 APKTool을 설치하는 메뉴이다. Android APKTool를 선택하면 아래와 같이 APKTool을 다운로드 받아 설치한다.
Android APKTool 메뉴의 소스코드는 아래와 같다. 가장 먼저 apktool-install-linux-r05-ibot.tar.bz2 파일을 다운로드 받은 후 해당 파일을 압축을 푼다. 다음으로 apktool1.5.2.tar.bz2 파일을 다운로드 받은후 마찬가지로 압축을 푼다. 이후 apktool1.5.2.tar.bz2 파일을 압축을 푼 apktool.jar 파일을 apktool-install-linux-r05-ibot 디렉터리로 옮긴다. 마지막으로 apktool-install-linux-r05-ibot 디렉터리를 상위 디렉터리로 옮김으로서 APKTool 설치를 마친다.
813 def installapktool(): 814 print "Install Android APKTool(y/N)?" 815 choice = raw_input('spf> ').strip() 816 print 817 if choice == 'y': 818 downloadhelper = "wget https://android-apktool.googlecode.com/files/apktool-install-linux-r05-ibot.tar.bz2" 819 os.system(downloadhelper) 820 bunziphelper = "bunzip2 apktool-install-linux-r05-ibot.tar.bz2" 821 os.system(bunziphelper) 822 tarhelper = "tar xvf apktool-install-linux-r05-ibot.tar" 823 os.system(tarhelper) 824 downloadapktool = " wget https://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2" 825 os.system(downloadapktool) 826 bunzipapktool = "bunzip2 apktool1.5.2.tar.bz2" 827 os.system(bunzipapktool) 828 tarapktool = "tar xfv apktool1.5.2.tar" 829 os.system(tarapktool) 830 moveapktool = "mv apktool1.5.2/apktool.jar apktool-install-linux-r05-ibot/" 831 os.system(moveapktool) 832 moveapktool2 = "mv apktool-install-linux-r05-ibot ../" 833 os.system(moveapktool2) |
10.3) Download Android Nmap
Download Android Nmap메뉴는 Android 용 Nmap 다운로드하는 메뉴이다. Download Android Nmap메뉴를 선택하면 아래와 같이 nmap을 다운로드 받는다.
Download Android Nmap메뉴의 소스코드를 살펴 보자. 가장 먼저 wget을 이용하여, nmap-5.61TEST4-android-arm-bin.tar.bz2을 다운로드 받는다. 다운로드 받은 nmap-5.61TEST4-android-arm-bin.tar.bz2 을 압축을 푼 후 해당 디렉터리를 상위 디렉터리로 옮김으로써 Nmap을 다운로드 받는것이 완료된다.
799 def installandroidnmap(): 800 print "Download Nmap for Android(y/N)?" 801 choice = raw_input('spf> ').strip() 802 print 803 if choice == 'y': 804 download = "wget http://ftp.linux.hr/android/nmap/nmap-5.61TEST4-android-arm-bin.tar.bz2" 805 os.system(download) 806 bunzipper = "bunzip2 nmap-5.61TEST4-android-arm-bin.tar.bz2" 807 os.system(bunzipper) 808 tarer = "tar xvf nmap-5.61TEST4-android-arm-bin.tar" 809 os.system(tarer) 810 movenmap = "mv nmap-5.61TEST4 ../" 811 os.system(movenmap) |
모든 작업이 완료되면, nmap은 ~/Smartphone-Pentest-Framework/ 디렉터리에 nmap-5.61TEST4 폴더로 존재한다.
'Infomation' 카테고리의 다른 글
[리눅스 취약점 점검] Linux Exploit Suggester (0) | 2013.12.31 |
---|---|
Smartphone-Pentest-Framework (SPF) - Console (7) (0) | 2013.12.28 |
Smartphone-Pentest-Framework (SPF) - Console (8) (0) | 2013.12.27 |
Smartphone-Pentest-Framework (SPF) - Console (1) (0) | 2013.11.27 |
Smartphone-Pentest-Framework (SPF) (0) | 2013.11.27 |