-
ios 정적 분석 방법Hack/No filtered 2020. 4. 6. 10:47
1) 앱 설치 경로 파악
find / -name appname2) 앱 복호화
clutch -d appname or number -> ipa 파일형태로 복호화됨 (그대로 ida에서 리버싱 가능)3) ipa 파일 압축해제
unzip -d 압축풀경로 appname.ipa4) 클래스정보 덤프
class-dump-z appname5) objective-c 코드를 분석 진행
기타)
기본 명령어 otool (암호화된 앱인지 확인할 수 있음)
.db 파일 검색 : find / -name *.db
sqlite로 db 열어보기 : sqlite3 name.db -> .headers on -> .tables -> select * from table;
plist 파일 xml로 변환 : plutil -convert xml1 name.plist
PIE(ASLR)적용 확인 : otool -vh app_binary (private/var/mobile/Application/~~/app_binary) -> flags에 PIE(check it)가 없으면 ASLR 적용 안됨리버싱 할때 참고사항)
먼저 PTRACE_DENY_ATTATCH(0x1F)를 없애야함 (_dlopen)을 찾아서 x키 눌러가면서 찾아가보면 있음, edit->patch program->bytes 로 확인하여 직접 binary에서 찾아서 0x1F 를 0x0A로 바꾸면 우회가 됨 (루팅체크도 비슷한 원리)
파일 변경 후 appname.ipa파일을 압축프로그램으로 열어서 바꾼 파일만 바꿔치기ipainstaller로 설치
* 메모리덤프) 아래사이트에서 gnu 검색하여 gdbdump memeory 0xb4~~~~ 0xb6~~~~~ 이런식으로
/proc/"process_id"/maps 를 보고 덤프할 메모리를 덤프하면됨 ^^http://leejoshua.tistory.com/44 (cydia에서 사라진 어플 모음)
기타) iNalyzer를 사용하여 앱 복호화
- Cydia 에서 iNalyzer 설치
- /Applications/iNalyzer.app/iNalyzer.sh 를 이용하여 복호화
(./iNalyzer.sh help, ./iNalyzer.sh list, ./iNalyzer.sh static "GUID")
- 압축을 풀고, decryptedBinaries 폴더에 저장된 앱을 IDA로 열어서 분석한다.(Mach-O)기타) 점검툴 리스트
- filemon (실행 중 파일 변화 체크)
- otool (설치된 앱 보안 설정 확인)
- BinaryCookieReader.py (윈도우용, HTTP 쿠키 확인, Cookies.binarycookies)
- plist Editor for Windows (윈도우용, app id/*.plist)
- SQLite Database Browser (윈도우용, app id/*.db, *.sqllite)'Hack > No filtered' 카테고리의 다른 글
Kali linux를 이용한 AP 해킹 (+windows) (0) 2021.01.12 reverse shell summary (0) 2020.04.08 Active X 취약점 점검 방법 (with powershell) (0) 2020.04.06 openvas 설치 및 사용법 (0) 2020.04.06 2016 HDCON 사고분석 1-1 문제 (0) 2020.04.06