정보보안기사 실기시험 중에 이 개념을 마주친 적이 있다.. 인증서 고정(Certificate Pinning)은 앱이 서버가 보내온 인증서를 직접 확인해서 미리 알고 있는 값과 다르면 통신을 아예 끊어버리는 안전장치이다. if (앱이 Pinning 하고 있다면) : if (프록시가 준 인증서 == 앱이 알고 있는 핀값) 통과 else 연결 거부 (TLS 핸드셰이크 중단) 우회 방법에는 대표적으로- APK를 디컴파일해서 network_security_config나 핀 코드 자체를 제거하는 방법- 런타임에서 후킹 해서 검증 함수를 통과시키는 방법등이 있다.첫 번째 방법은 영구적이지만 번거로우며, 재빌드가 필요하다.나는 두 번째 방법을 선택했다.. 이 앱은 Kotlin으로 만들었고, 예전에 Kotlin..
실습에 사용한 앱은 OWASP Mobile Security Testing Guide(UnCrackable Level 1) APK이다. 1. Jadx로 클래스/메서드 확인Frida로 후킹을 하기 위해서는 정확한 클래스명과 메서드명을 알아야 한다.APK 디컴파일 및 MainActivity 확인 암호화 관련 클래스 확인 a(String str) → 문자열 검증b(String str) → 문자열 → 바이트 배열 변환내부 AES 처리: sg.vantagepoint.a.a.a(byte[], byte[])2. Frida attach 및 환경 준비앱 분석을 위해 Frida를 사용하기 전, 먼저 환경을 준비했다.A. 프로세스 목록 확인앱이 실행 중인지, Frida에서 접근 가능한지 확인하기 위해 프로세스 목록을 가져..
이전부터 윈도우 실행 프로그램(EXE 파일)에 대한 리버스 엔지니어링 경험이 있던 나는모바일 앱에도 관심이 생겨 실습을 진행해 봤다.원리는 비슷하지만, 환경과 접근 방식에서 조금 다른 점이 있었다.윈도우 환경에서는 OllyDbg를 주로 사용했다.어셈블리어를 한 줄씩 트래킹 하며 각 레지스터와 스택의 값을 분석하고,함수 호출과 분기 로직을 이해하는 것이 핵심이었다.모바일 환경에서는 Frida를 사용했다.Frida는 단순히 디버깅만 하는 것이 아니라,앱의 메서드를 실시간으로 후킹하고 소스코드 수준에서 값을 변조할 수 있다.정말 매력적이면서도 흥미로웠다.개발환경 구성- 호스트 OS: Windows 10- Android Studio + AVD: Pixel 9 (Google APIs 버전)- ADB: And..