Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/vichhka-git/universal-flutter-ssl-pinning
Static AnalysisDynamic Analysis (Sandboxing)Web Proxies & InterceptionReverse EngineeringPenetration TestingMobile SecurityBinary Analysis
GitHubvichhka-git/universal-flutter-ssl-pinning

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

universal-flutter-ssl-pinning

모든 Flutter 및 Shorebird 버전에 대한 자동화된 SSL 핀닝 우회 — PyGhidra 정적 분석이 BoringSSL을 자동으로 발견하고 즉시 실행 가능한 Frida 및 Renef 스크립트를 생성합니다

저장소 보기
6272개월 전Kitploit 검토 완료

universal-flutter-ssl-pinning

PyGhidra를 사용하여 libflutter.so를 리버스 엔지니어링하여 SSL 인증서 검증 함수를 찾은 다음, Frida와 Renef 모두에서 사용할 수 있는 우회 스크립트를 생성합니다.

작동 방식

  1. PyGhidra가 libflutter.so를 헤드리스 모드로 로드하고 정의된 모든 문자열에서 ssl_client를 스캔합니다.
  2. 해당 문자열의 교차 참조를 확인하여 이를 포함하는 함수를 찾습니다.
  3. 각 함수를 디컴파일하여 정확한 매개변수 개수를 얻습니다.
  4. 3개의 매개변수를 가진 함수가 선택됩니다 — 이것이 ssl_crypto_x509_session_verify_cert_chain입니다.
  5. 해당 함수의 RVA가 다음 스크립트에 포함됩니다:
    • Frida 스크립트(flutter_ssl_pinning.js) — 런타임에 반환 값을 ptr(1)(SSL_VERIFY_OK)로 패치합니다.
    • Renef 스크립트(flutter_ssl_pinning.lua) — Memory.patch를 사용하여 함수 진입점을 MOV X0, #1 ; RET(ARM64)로 덮어씁니다.

요구 사항

  • Ghidra — brew install ghidra
  • pyghidra — pip install pyghidra
  • Frida — pip install frida-tools 또는 Renef — renef.io

환경 변수 GHIDRA_INSTALL_DIR을 설정하거나 --ghidra-install-dir을 전달하세요.

사용법

root@kitploit:~
# libflutter.so 분석 및 두 스크립트 생성
python3 flutter_ssl_pinning.py libflutter.so

# Frida로 실행
frida -U -f com.example.app -l flutter_ssl_pinning.js

# Renef로 실행
renef -s com.example.app -l flutter_ssl_pinning.lua

옵션

출력 파일

파일도구메커니즘
flutter_ssl_pinning.jsFridaInterceptor.attach + retval.replace(ptr(1))
flutter_ssl_pinning.lua

생성된 출력 예제는 example/ 디렉터리를 참조하세요.


테스트 환경

대상상태
Google Flutter (arm64-v8a)

Google Flutter와 Shorebird 모두 동일한 libflutter.so SSL 엔진을 사용합니다. 동일한 Flutter 엔진 버전의 경우 빌드 유형에 관계없이 자동으로 발견된 RVA가 동일합니다.


빠른 트래픽 캡처 (프록시 없음)

프록시 기반 MITM을 위한 핀닝 우회 외에도, 자체 포함된 flutter_http_monitor.py를 사용하여 Frida 내에서 직접 복호화된 HTTP 트래픽을 캡처할 수 있습니다. 이 스크립트는 libflutter.so(모든 Flutter 버전, arm64)에서 BoringSSL의 SSL_write/SSL_read를 자동으로 찾아 평문 요청과 응답을 출력하는 Frida 스크립트를 생성합니다 — 재조립, 청크 해제, gzip 해제, JSON 예쁘게 출력 포함.

root@kitploit:~
pip install capstone pyelftools

# 바이너리 스캔 및 모니터 생성 (또는 .apk 전달 가능)
python3 flutter_http_monitor.py path/to/libflutter.so -o monitor.js

# 앱에 대해 실행
frida -U -f com.target.app -l monitor.js

선택 사항으로, Frida REPL에서 addScope('api.example.com')를 사용하여 특정 호스트만 모니터링할 수 있습니다 (Burp 스타일 스코프). 단일 파일 — 추가로 배포할 것이 없습니다.

면책 조항

이 도구는 허가된 보안 연구 및 침투 테스트만을 위한 것입니다.
소유하지 않거나 명시적인 서면 허가를 받지 않은 앱에 대해 사용하지 마십시오.

Star History Chart
도구 다운로드
인수기본값설명
binary(필수)libflutter.so의 경로
outputflutter_ssl_pinning출력 파일 기본 이름 (<name>.js 및 <name>.lua 생성)
--modulelibflutter.so대상 프로세스의 모듈 이름
--ghidra-install-dir자동Ghidra 설치 디렉터리
Renef
Memory.patch (MOV X0, #1 ; RET)
libflutter.so
✅ 작동 확인
Shorebird 패치 Flutter 빌드✅ 작동 확인
Ghidra 12.x + pyghidra✅ 작동 확인
Frida 17.x 및 16.x✅ 작동 확인
Renef (최신 버전)✅ 작동 확인