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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
androidqf — androidqf (Android Quick Forensics)는 Android 기기에서 포렌식 증거를 신속하게 수집하여 잠재적인 침해 흔적을 식별하는 데 도움을 줍니다. | Kitploit
도구/GitHubGitHub/mvt-project/androidqf
Android SecurityForensicsMobile ForensicsData RecoveryDigital ForensicsThreat IntelligenceIncident Response
GitHubmvt-project/androidqf

androidqf

androidqf (Android Quick Forensics)는 Android 기기에서 포렌식 증거를 신속하게 수집하여 잠재적인 침해 흔적을 식별하는 데 도움을 줍니다.

저장소 보기
2304114일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

androidqf

Go Report Card

androidqf (Android Quick Forensics)는 Android 기기에서 관련 법의학 데이터를 쉽게 수집할 수 있는 휴대용 도구입니다.

androidqf는 Android 기기에서 데이터를 신속하게 수집할 수 있는 간단하고 휴대 가능한 크로스 플랫폼 유틸리티를 제공하기 위해 설계되었습니다. 기능적으로는 mvt-android와 유사합니다. 그러나 MVT와 달리 androidqf는 기술에 익숙하지 않은 사용자도 쉽게 실행할 수 있도록 설계되었습니다. androidqf로 추출된 데이터는 MVT로 분석할 수 있습니다.

이 저장소는 국제앰네스티 보안 연구소(Amnesty International's Security Lab)에서 관리하는 androidqf의 포크입니다. androidqf 도구는 원래 Claudio Guarnieri가 개발했습니다.

androidqf 다운로드

빌드

Linux, Windows 및 Mac용 실행 바이너리는 최신 릴리스에서 확인할 수 있습니다. 바이너리 실행에 문제가 있는 경우 직접 빌드할 수 있습니다.

GoReleaser로 빌드 (권장)

이 프로젝트는 자동 빌드 및 릴리스를 위해 GoReleaser를 사용합니다. 로컬에서 빌드하려면:

  1. GoReleaser 설치:

    root@kitploit:~
    go install github.com/goreleaser/goreleaser@latest
    
  2. 스냅샷 빌드 실행 (게시 안 함):

    root@kitploit:~
    ./build_locally.sh
    

이 명령은 dist/ 디렉토리에 모든 플랫폼용 바이너리를 생성하며, Intel 및 Apple Silicon 모두에서 작동하는 macOS용 유니버설 바이너리도 포함됩니다.

Make로 빌드 (레거시)

기존의 Makefile 방식을 계속 사용할 수 있습니다. Go 1.23+와 make, git, unzip, wget이 설치되어 있어야 합니다. AndroidQF는 대상 기기에서 실행되어 법의학적으로 관련된 정보를 더 안정적으로 추출하는 크로스 컴파일된 collector를 포함합니다.

먼저 collector 모듈을 빌드합니다:

root@kitploit:~
make collector

그런 다음 선택한 플랫폼에 맞게 AndroidQF를 컴파일합니다:

root@kitploit:~
make linux
make darwin
make windows

이 명령들은 build/ 폴더에 바이너리를 생성합니다.

번들 자산 없이 배포 패키지 빌드

배포 패키지는 unbundle 빌드 태그를 사용하여 번들된 ADB 및 collector 바이너리를 포함하지 않도록 선택할 수 있습니다:

root@kitploit:~
go build -tags unbundle -o build/

이 태그가 활성화되면 androidqf는 다음을 기대합니다:

  • adb가 시스템 PATH에서 사용 가능해야 함.
  • collector 바이너리가 androidqf가 예상하는 이름(예: collector_arm, collector_arm64)으로 /usr/lib/androidqf/android-collector/ 아래에 설치되어야 함.

패키징 담당자는 빌드 전에 assets/에서 번들 바이너리 자산을 제거할 수 있지만, assets/ 패키지 디렉토리와 해당 Go 소스 파일은 남아 있어야 합니다. unbundle 빌드는 여전히 assets 패키지를 임포트하며, assets/ 디렉토리 전체가 삭제되면 빌드가 실패합니다.

컨테이너 이미지

릴리스 컨테이너 이미지는 GitHub Container Registry에 게시됩니다:

root@kitploit:~
docker pull ghcr.io/mvt-project/androidqf:latest

Linux에서 USB로 연결된 Android 기기에서 수집하려면 USB 버스를 통과시키고 출력 디렉토리를 마운트하십시오:

root@kitploit:~
docker run --rm -it --privileged \
  -v /dev/bus/usb:/dev/bus/usb \
  -v "$(pwd)/output:/output" \
  ghcr.io/mvt-project/androidqf:latest -fast -output /output

특정 릴리스 버전에 대해 로컬에서 이미지를 빌드할 수도 있습니다:

root@kitploit:~
docker build --build-arg VERSION=1.8.3 -t androidqf .

사용 방법

[!TIP] 아카이브 형식, 무결성 해시, 암호화 및 대용량 파일 처리에 대해서는 수집 아카이브를 참조하십시오. 수집된 파일 사전은 타사 SocialTIC AndroidQF 출력 파일 사전을 참조하십시오.

androidqf를 실행하기 전에 대상 Android 기기를 USB로 컴퓨터에 연결하고 USB 디버깅을 활성화해야 합니다. USB 디버깅 활성화 방법은 공식 문서를 참조하십시오. 다만, 제조사에 따라 Android 휴대폰의 탐색 단계가 기본값과 다를 수 있음에 유의하십시오.

USB 디버깅이 활성화되면 androidqf를 실행할 수 있습니다. 먼저 USB 브리지를 통해 기기에 연결을 시도하며, Android 휴대폰에서 호스트 키를 수동으로 승인하라는 메시지가 표시됩니다. 키를 승인하고, 가능하면 영구적으로 승인하여 이후에 다시 표시되지 않도록 하십시오.

이제 androidqf가 실행되어 현재 작업 디렉토리 또는 -output으로 지정된 디렉토리에 수집 zip 아카이브를 생성합니다. 실행 중에 androidqf가 몇 가지 선택 사항을 묻는 메시지를 표시합니다. 이 프롬프트는 선택이 제공될 때까지 수집을 일시 중지하므로 주의하십시오.

다음 데이터를 추출할 수 있습니다:

모든 수집에는 acquisition.json, 로그 출력이 생성된 경우 command.log, 그리고 hashes.csv도 포함됩니다. 해시 목록은 각 이전 평문 아카이브 항목의 SHA-256 다이제스트를 기록하며, 자신은 포함하지 않습니다. 실패한 기기 풀은 아카이브 항목으로 커밋되지 않습니다. 자세한 내용은 수집 아카이브를 참조하십시오.

선택적 데이터 수집 정보

백업

androidqf 수집을 실행할 때 다음 옵션이 표시됩니다:

root@kitploit:~
기기에서 백업을 수행하시겠습니까?
...
? 백업:
  ▸ SMS만
    전체
    백업 안 함

이 옵션들은 백그라운드에서 adb backup 명령을 실행하여 기기에서 데이터를 수집하는 것을 의미합니다. 백업 안 함을 선택하면 adb backup 명령이 실행되지 않습니다.

옵션설명
SMS만adb backup com.android.providers.telephony가 실행됩니다. com.android.providers.telephony의 데이터만 수집됩니다. 여기에는 SMS 데이터베이스가 포함됩니다.

앱 복사본 다운로드

root@kitploit:~
모든 앱 또는 시스템 앱이 아닌 앱만 다운로드하시겠습니까?

? 다운로드:
  ▸ 모두
    시스템 앱이 아닌 패키지만
    다운로드 안 함
옵션설명
모두설치된 모든 패키지가 휴대폰에서 검색됩니다
시스템 앱이 아닌 패키지만adb pm list packages -s에 나열된 패키지는 다운로드하지 않습니다
다운로드 안 함패키지를 다운로드하지 않습니다

침입 로그

root@kitploit:~
기기에서 침입 로그를 가져오시겠습니까?

? 침입 로그:
  ▸ 예
    아니요
옵션설명
예침입 로그가 휴대폰에서 검색됩니다
아니요침입 로그 수집을 건너뜁니다

암호화 및 잠재적 위협

암호화되지 않은 드라이브에 androidqf 수집 데이터를 휴대하면 자신, 특히 데이터를 수집한 대상자에게 심각한 위험에 노출될 수 있습니다. 예를 들어, 문제가 있는 국경에서 정차당할 수 있으며 androidqf 드라이브가 압수될 수 있습니다. 원시 데이터는 여행 목적을 노출시킬 뿐만 아니라 매우 민감한 데이터(예: 설치된 애플리케이션 목록 또는 SMS 메시지)도 포함할 가능성이 높습니다.

이상적으로는 드라이브 전체를 암호화해야 하지만 항상 가능한 것은 아닙니다. VeraCrypt 컨테이너에 androidqf를 넣고 마운트할 VeraCrypt 복사본을 함께 휴대하는 것도 고려할 수 있습니다. 그러나 VeraCrypt 컨테이너는 일반적으로 비밀번호로만 보호되며, 이를 제공하도록 강요받을 수 있습니다.

또는 androidqf는 제공된 age 공개 키로 각 수집을 암호화할 수 있습니다. 바람직하게는 이 공개 키는 최종 사용자가 개인 키를 소유하지 않거나 최소한 휴대하지 않는 키 쌍에 속해야 합니다. 이렇게 하면 최종 사용자가 강압을 받더라도 수집된 데이터를 해독할 수 없습니다.

androidqf는 각 수집을 zip 아카이브로 스트리밍합니다. 현재 작업 디렉토리에 key.txt 파일을 배치하면 androidqf가 zip 스트림을 age로 암호화하여 <UUID>.zip.age를 작성합니다. 그렇지 않으면 암호화되지 않은 <UUID>.zip을 작성합니다. androidqf는 실행 파일과 동일한 폴더에서도 key.txt를 확인합니다. 두 파일이 모두 존재하면 현재 작업 디렉토리가 우선합니다.

암호화된 수집은 평문 수집 아카이브를 생성하지 않습니다. 암호화된 아카이브에 추가되기 전에 검증이 필요한 기기 파일은 인증된 ChaCha20-Poly1305 암호화로 임시 스테이징됩니다. 전체 데이터 흐름 및 대용량 APK 동작은 수집 아카이브를 참조하십시오.

암호화된 수집 파일을 검색한 후 age를 사용하여 다음과 같이 해독할 수 있습니다:

root@kitploit:~
$ age --decrypt -i ~/path/to/privatekey.txt -o <UUID>.zip <UUID>.zip.age

고급 포렌식 기술을 통해 암호화되지 않은 데이터의 일부가 복구될 가능성이 항상 존재한다는 점을 명심하십시오. 그러나 이를 완화하기 위해 노력하고 있습니다.

라이선스

androidqf의 목적은 정교한 모바일 스파이웨어 공격의 표적이 될 수 있는 사람들, 특히 시민 사회 및 소외된 커뮤니티 구성원들의 기기에 대한 동의 기반 법의학 분석을 용이하게 하는 것입니다. androidqf가 동의하지 않은 개인의 프라이버시 침해를 가능하게 하는 것을 원하지 않습니다. 따라서 이 라이선스의 목표는 적대적 포렌식 목적으로 androidqf(및 동일하게 라이선스된 다른 소프트웨어)를 사용하는 것을 금지하는 것입니다.

이를 위해 androidqf는 Mozilla Public License v2.0을 수정한 MVT License 1.1로 배포됩니다. 수정된 라이선스에는 "동의 기반 사용 제한"이라는 새로운 조항 3.0이 포함되어 있으며, 라이선스 소프트웨어(및 그로부터 파생된 모든 "더 큰 저작물")를 데이터를 추출 및/또는 분석하는 사람("데이터 소유자")의 명시적 동의가 있는 경우에만 사용을 허용합니다.

도구 다운로드
데이터선택 사항?출력 경로
SMS 및 MMS 메시지의 전체 백업 또는 백업✅backup.ab
빌드 정보 및 구성 매개변수를 제공하는 getprop 셸 명령 출력getprop.txt
모든 시스템 설정settings_*.txt
실행 중인 모든 프로세스 목록을 제공하는 ps 셸 명령 출력processes.txt
시스템 서비스 목록services.txt
시스템 로그 전체 복사본logs/, logcat.txt
기기 진단 정보를 제공하는 dumpsys 셸 명령 출력dumpsys.txt
설치된 모든 패키지 및 관련 배포 파일 목록packages.json
설치된 모든 APK 또는 시스템 앱으로 표시되지 않은 APK의 복사본✅apks/*
침입 로그. 탐색 기록과 같은 개인 데이터 포함✅intrusion_logs/*
시스템 파일 목록files.json
임시 폴더에서 사용 가능한 파일 복사본tmp/*
개인 데이터를 포함하지 않는 시스템 및 앱별 로그가 포함된 버그 리포트bugreport.zip
전체adb backup -all이 실행됩니다. 이 방법을 통해 명시적으로 데이터 백업을 허용한 앱의 백업만 요청합니다. Android 12+부터 이 방법은 거의 모든 앱에 대해 어떤 데이터도 추출하지 않습니다.
백업 안 함adb backup이 실행되지 않습니다.