취약점 점검을 나와서 안드로이드 진단을 위해 프리다를 실행시켰다. 이전에도 별탈 없이 실행시켰었고, 언제나 그래왔듯 이번에도 동일하게 사용하려 했으나, SSL Pinning 을 위해 프리다를 실행시켰더니 신택스 에러가 터졌다.
Failed to load script: script(line 1): SyntaxError: unexpected character
버프슈트의 설정값 오류나, 혹은 커스텀된 인증서로 인하여 해당 오류가 나는 것으로 판단하여
다시 버프슈트 인증서를 재등록하고 기기에 삽입하였으나, 해당 문제는 아니였다.
안드로이드 인증서 설치 방법
안드로이드 인증서 설치 (루팅 기기 시스템 인증서 이용)
https://velog.io/@energy/Android-7.0-%EC%9D%B4%EC%83%81-Burp-Suite-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EC%84%A4%EC%B9%98
안드로이드 인증서 커스텀 설치 (인증서 잔여일 및 key파일 사용 - 루팅 기기 시스템 인증서 이용)
https://information-science.tistory.com/6
윈도우 버전 설치 (3.0.5)
http://slproweb.com/download/Win64OpenSSL-3_0_5.exe
Frida Syntax 관련 에러를 비롯하여 주로 일어나는 에러를 찾아보았으나, 대부분 SSL Pinning 에 필요한 js 소스 특수문자 - 괄호 문자 - 들의 누락이나 잘못 작성된 경우에 Syntax 에러가 일어났으며, 그것이 아니라면 Frida 소스코드 내 선언된 파이썬 경로의 오류였다. 언급한 오류들에 대한 조치방법을 시행했으나, 에러 코드 내 포함된 "line 1" 변하지 않았다.
특정 라인 에러 관련 (42 line, * line)
파이썬 - Frida 버전 관련
파이썬 환경 변수 위치 관련
https://dokhakdubini.tistory.com/540
해당 오류로 인하여 어플리케이션 분석 시작 당일 하루를 넘기고 다음날이 되어서야 간신히 발견할 수 있었는데, 해당 에러의 이유는 상당히 간단했다. 오전 시간만 해보고 정 안되겠으면 다른 대상으로 점검을 진행해야겠다 판단하고 진행하던 와중 초반에 생각없이 넘겼던 Frida 관련 페이지에서 해당 오류의 원인을 찾을 수 있었다.
https://codeantenna.com/a/GeXPPNavVD
서버 파일과 클라이언트 파일의 버전이 달라 생긴 오류였던 것이였으며, 버전을 맞춰 실행하니 허무할 정도로 Pinning 우회가 되는 것을 확인할 수 있었다.
Frida는 애초에 동일한 버전을 사용해야 하므로 잊지말고 확인한 후 사용하길바란다.
Frida 관련 URL :
https://codeshare.frida.re/@pcipolloni/universal-android-ssl-pinning-bypass-with-frida/
https://codeshare.frida.re/@akabe1/frida-multiple-unpinning/
'Tools > Frida' 카테고리의 다른 글
FridaLab - Challenge (0) | 2023.08.30 |
---|---|
Frida SSL Pinning (0) | 2023.08.24 |
Frida - Application Dump (0) | 2023.08.22 |
Frida-iOS-DUMP IPA (0) | 2023.08.22 |
Frida BASIC (0) | 2023.08.22 |