ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ios 정적 분석 방법
    Hack/No filtered 2020. 4. 6. 10:47

    1) 앱 설치 경로 파악
    find / -name appname

     

    2) 앱 복호화
    clutch -d appname or number -> ipa 파일형태로 복호화됨 (그대로 ida에서 리버싱 가능)

     

    3) ipa 파일 압축해제
    unzip -d 압축풀경로 appname.ipa

     

    4) 클래스정보 덤프
    class-dump-z appname

     

    5) 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
Designed by Tistory.