gnosis@kim:~#

gnosis@kim:~ # cat blog/android-hacking-intro-0.md

# 안드로이드 해킹 입문 - 0

[기술 노트]series/안드로이드 해킹 입문4분 읽기

#Android#App_Security

네, 블로그 쓰는 습관도 들여놓을 겸 2주 정도 시간이 뜨기에 공부해보고 싶었던 안드로이드 해킹을 지피티 선생님이 추천해주신 방법으로 공부해볼까 합니다. 뭐 이 글은 나중에 맘에 안들면 지울 예정이구요. 철저히 저를 위한 글이라 읽기 힘드실 수도 있으니 양해 바랍니다.

1일차 (일) – 개발 환경 구축 및 기초 앱 만들기

목표: Android Studio 설치, 에뮬레이터 설정, 기본 “Hello World” 앱 작성 활동: Android Studio 설치 가이드 참고 (https://developer.android.com/studio/install?hl=ko) 에뮬레이터(AVD) 생성 및 “Hello World” 앱 빌드, 실행 및 디버깅 실습: 간단한 앱을 직접 만들어보고 로그캣을 확인

2일차 (월) – UI 구성과 이벤트 처리

목표: 기본 UI 컴포넌트(Button, TextView 등) 사용법 익히기 활동: 유튜브 “Android UI Tutorial for Beginners” 무료 강의 시청 버튼 클릭 이벤트를 통해 텍스트 변경하는 간단한 앱 제작 실습: 기본 UI 이벤트 처리 실습 및 앱 디버깅

3일차 (화) – 안드로이드 보안 기초 및 OWASP Mobile Top 10

목표: 안드로이드 운영체제 구조와 보안 기본 개념 학습 활동: 유튜브에서 “OWASP Mobile Top 10” 및 안드로이드 보안 개념 관련 무료 영상 시청 보안 취약점(예: 인텐트 검증, 파일 권한 문제) 목록 정리 실습: 각 취약점에 대한 간단한 사례를 메모장에 정리

4일차 (수) – 리버스 엔지니어링 도구 준비

목표: Apktool과 JADX 같은 도구 설치 및 기본 사용법 익히기 활동: Apktool, JADX 설치 및 “Apktool Tutorial” 유튜브 영상 시청 샘플 APK(예: InsecureBank 오픈소스 앱)를 디컴파일하여 AndroidManifest.xml 및 smali 코드 확인 실습: APK 디컴파일 후 파일 구조 분석

5일차 (목) – 디컴파일 결과 분석 및 취약점 탐색

목표: 디컴파일한 코드에서 하드코딩, 불필요한 로그 등 취약점 패턴 찾기 활동: 무료 블로그 포스트나 공개 자료에서 사례를 참고 디컴파일한 코드 내 취약점 가능 부분 표시 및 문서화 실습: 분석 결과를 정리하여 취약점 패턴 리스트 작성

6일차 (금) – 동적 분석 기초: Frida 무료 자료 활용

목표: Frida 도구 설치 및 기초 명령어 사용법 익히기 활동: 유튜브 “Frida for Beginners” 무료 튜토리얼 시청 프리다 CLI로 에뮬레이터 내 간단한 프로세스 후킹 실습 (예: 앱 로그 출력 후킹) 실습: Frida를 이용해 앱에서 로그를 캡처하고 간단한 후킹 스크립트 실행

7일차 (토) – 동적 분석 심화: 트래픽 캡처 및 MITM 실습

목표: Burp Suite Community Edition 및 Wireshark를 이용한 네트워크 트래픽 분석 활동: 유튜브 “Burp Suite Android MITM Tutorial” 무료 강의 시청 에뮬레이터에서 Burp Suite 설정, HTTPS 트래픽 복호화(인증서 설치) 실습 실습: 앱 로그인 시 트래픽 캡처 후 파라미터 변조 시도(테스트용 환경에서 진행)

8일차 (일) – 무료 CTF 플랫폼 도전 및 실습

목표: 실제 CTF 문제를 통해 안드로이드 해킹 감각 익히기 활동: Hack The Box, OverTheWire 등에서 모바일 관련 무료 문제 또는 “Android” 태그 문제 도전 문제 해결 후 Write-up을 참고하며 해결 과정 분석 실습: 간단한 문제를 선택하여 네트워크나 앱 취약점 진단 실습

9일차 (월) – 심화 코드 분석 및 리버싱

목표: JADX를 이용하여 디컴파일 코드 심층 분석 활동: 유튜브 “JADX Advanced Tutorial” 무료 강의 시청 이전에 디컴파일한 앱의 코드에서 취약점 사례(예: 인텐트, 로그, 파일 처리)를 다시 분석 실습: 발견한 취약점 사례를 코드 스니펫과 함께 정리

10일차 (화) – 동적 분석 심화: 앱 취약점 진단 확장

목표: 동적 분석을 통한 앱 취약점 진단 심화 활동: 유튜브 “Android App Hacking – Dynamic Analysis” 무료 강의 시청 Frida와 Burp Suite를 함께 사용하여 실제 앱의 인증 우회, 세션 하이재킹 시나리오 실습 실습: 분석 결과를 기록하고, 개선 아이디어 문서화

11일차 (수) – APK 수정 및 재패키징 실습

목표: Apktool을 활용한 코드 수정과 APK 재패키징 과정 익히기 활동: 유튜브 “APK 수정 및 재패키징 튜토리얼” 무료 강의 시청 APK 파일 내 문자열 변경 후, 재패키징 및 서명 테스트 실습: 수정된 APK를 에뮬레이터에서 실행해 변경 사항 확인

12일차 (목) – 종합 실습 프로젝트 준비

목표: 지금까지 학습한 도구와 기법을 종합하여 하나의 모의해킹 프로젝트 계획 수립 활동: 오픈소스 취약 앱(예: InsecureBank, DVWA Mobile 버전 등) 선택 정적/동적 분석 계획 작성 및 사용할 도구 목록 정리 실습: 프로젝트 계획서 작성 및 예상 취약점 목록 도출

13일차 (금) – 종합 실습 프로젝트 진행

목표: 종합 실습 프로젝트 수행으로 실제 취약점 진단 경험 쌓기 활동: 선택한 취약 앱을 대상으로 정적 분석(디컴파일, 코드 분석) 및 동적 분석(Frida, Burp Suite, Wireshark 활용) 진행 각 도구별 결과를 취합하여 취약점 분석 보고서 작성 실습: 실제 분석 결과를 정리하고, 개선점 및 대응 방안 도출

14일차 (토) – 최종 리뷰 및 향후 학습 계획 수립

목표: 2주간 학습 내용 종합 복습 및 향후 심화 학습 로드맵 마련 활동: 지금까지 작성한 노트, 분석 보고서, 실습 결과 정리 무료 커뮤니티(예, Hackerschool.org, Reddit r/netsec 등)에서 추가 자료 및 Q&A 진행 실습: 자신만의 모의해킹 노트 최종 정리 및 향후 공부 계획 수립