목차
1. 개요
2. Nox 준비
2.1. Nox 설치
2.2. Android 9 생성
2.3. 시스템 설정
3. ADB 준비
3.1. ADB 환경 변수 등록
3.2. ADB 기기 접속
4. Nox & Burp Suite 연동
4.1. Burp Suite 프록시 설정
4.2. Nox 프록시 설정
4.3. OpenSSL 설치
4.4. 인증서 설치
5. 마무리
1. 개요

우리가 매일 사용하는 스마트폰 앱은 보이지 않는 곳에서 엄청난 양의 데이터를 주고받습니다.
예를 들어 배달 앱에서 '주문하기' 버튼을 누르면, 내 주소, 메뉴 정보, 결제 수단 등의 정보가 하나의 디지털 패키지로 묶여 서버로 전송됩니다.
앱 분석이란 바로 이 디지털 패키지를 들여다보는 작업입니다.
앱이 서버와 나누는 비밀스러운 대화를 엿봄으로써, 혹시 개인정보가 암호화되지 않은 채 전달되지는 않는지, 또는 보안상 취약한 부분은 없는지를 점검할 수 있습니다.
하지만 이러한 대화는 눈에 보이지 않을 정도로 빠르게 오가기 때문에, 우리는 이를 잠시 멈춰 세워 내용을 확인할 수 있는 분석 환경을 따로 만들어야 합니다.
❓ 왜 Nox와 Burp Suite를 쓰나요?
- Nox : 컴퓨터 안에 설치하는 가상 스마트폰입니다. 실제 휴대폰을 루팅하거나 설정을 변경할 필요 없이, 문제가 생기더라도 언제든 삭제하고 다시 만들 수 있어 안전하고 부담 없는 테스트 환경을 제공합니다.
- Burp Suite : 앱과 서버 사이에 설치하는 디지털 검문소와 같습니다. 평소에는 데이터가 고속도로를 달리듯 쌩쌩 지나가지만, Burp Suite를 사용하면 모든 데이터가 이 검문소를 반드시 거쳐가게 됩니다. 우리는 이 지점에서 통과하는 요청과 응답을 하나하나 확인할 수 있습니다.
본 게시글에서는 안드로이드 모바일 환경에서 동작하는 웹 기반 앱을 점검하기 위해, 모바일에서 발생하는 통신 트래픽을 확인할 수 있는 분석 환경을 구축하는 방법을 설명합니다.
이를 위해 Nox로 가상 스마트폰을 구성하고, Burp Suite라는 검문소를 설치한 뒤, 두 환경을 ADB라는 연결 통로를 통해 연동함으로써 앱이 내부적으로 웹 페이지를 호출하거나 서버와 통신하는 과정에서 발생하는 요청·응답을 직접 확인할 수 있도록 단계별로 정리합니다.
2. Nox 준비
2.1. Nox 설치
STEP 1) Nox 홈페이지 접속 후 다운로드 클릭

STEP 2) 다운로드한 nox_setup.exe 파일 실행 후 바로설치 클릭

2.2. Android 9 생성
STEP 1) 설치가 완료 된 후 같이 설치된 녹스 매니저 실행

STEP 2) 멀티 실행 메뉴에서 앱플레이어 추가

STEP 3) android 9 설치

기본 제공되는 android 7 환경에서는 앱의 최소 지원 버전 제한으로 인해 일부 앱이 실행되지 않을 수 있으므로, android 9 설치를 권장합니다.
STEP 4) android 9 실행

STEP 5) 정상적으로 설치가 된 것을 확인

2.3. 시스템설정
STEP 1) NoxPlayer 오른쪽 상단 시스템설정 버튼 클릭

STEP 2) 시스템설정 성능 메뉴에서 해상도 "스마트폰" 설정

STEP 3) 일반 메뉴에서 "ROOT켜기" 체크 및 설정저장 후 재실행


3. ADB 준비
ADB(Android Debug Bridge)는 PC와 안드로이드 기기 간의 통신을 지원하는 명령줄 기반 도구입니다.
ADB를 통해 안드로이드 기기에 명령을 전달하고, 앱 설치·삭제, 로그 확인, 파일 전송, shell 접근 등 다양한 작업을 수행할 수 있습니다.
ADB는 일반적으로 터미널 환경에서 사용되므로, 위치에 상관없이 adb 명령어를 실행하려면 환경 변수 등록 과정이 필요합니다.
환경 변수에 등록되어 있지 않은 경우, 매번 ADB가 위치한 디렉터리로 직접 이동하거나 전체 경로를 입력해야 하는 번거로움이 발생합니다.
하지만 환경 변수를 등록하면 어떤 경로에서든 adb 명령어를 즉시 실행할 수 있어 훨씬 효율적인 작업 환경을 구축할 수 있습니다.
3.1. ADB 환경 변수 등록
STEP 1) Nox 설치 폴더 경로 확인 시 adb 실행 파일이 있는 것을 확인

STEP 2) 시스템 환경 변수 편집에서 환경 변수 클릭

STEP 3) 시스템 변수 내 "Path" 편집

STEP 4) 새로 만들기 버튼 클릭 후 adb 실행 파일이 위치한 폴더 경로 추가

3.2. ADB 기기 접속
STEP 1) 환경 변수 등록 후에는 어떤 경로에서든 adb 명령어 실행이 가능

STEP 2) Nox 환경에서 루팅을 적용한 결과, adb를 통해 기기 쉘(adb shell)에 접속이 가능

연결된 기기가 여러 개인 환경에서는 "adb devices" 명령어를 통해 device id를 확인한 후, "adb -s {device id} shell" 명령어를 사용하여 접속하고자 하는 특정 기기에 접속하시면 됩니다.

4. Nox & Burp Suite 연동
💡 Burp Suite의 설치와 기본 설정법이 궁금하시다면 👉 Burp Suite 사용 가이드 : 설치와 기본 설정법 해당 게시글을 참고해주세요.
4.1. Burp Suite 프록시 설정
STEP 1) Burp Suite 실행 후 Proxy 메뉴 내 "Proxy settings" 클릭

STEP 2) Add 버튼을 클릭하여 새로운 리스너 추가

STEP 3) 임의의 포트번호와 네트워크 바인딩 방식을 선택

포트 번호와 네트워크 바인딩 방식은 고정된 값이 아니므로, 사용 환경과 분석 대상에 따라 각자 상황에 맞는 방식으로 자유롭게 설정하시면 됩니다.
4.2. Nox 프록시 설정
STEP 1) Nox 내 설정에서 네트워크 및 인터넷 클릭

STEP 2) Wi-Fi 클릭

STEP 3) 연결된 네트워크 설정 클릭

STEP 4) 네트워크 세부정보 편집에서 프록시 수동 클릭

STEP 5) 프록시 서버의 IP 주소와 포트 번호 설정 후 저장

4.3. OpenSSL 설치
인증서 설치에 앞서 인증서 설치 과정에 필요한 👉 openssl 를 설치해줍니다.
STEP 1) 설치 페이지 접속 후 OpenSSL 실행 파일 다운로드

STEP 2) 라이선스 동의 후 Next 버튼을 눌러 설치 진행

이 단계에서는 OpenSSL 설치 경로를 지정합니다. 기본 경로로 설치해도 무방하며, 이후 해당 설치 경로가 환경 변수에 등록되므로 경로를 기억해두는 것이 좋습니다.
STEP 3) 환경 변수에 OpenSSL 파일 경로 등록

STEP 4) 임의의 경로에서 "openssl" 명령어가 정상적으로 동작하는 것을 확인

4.4. 인증서 설치
Nox와 Burp Suite를 연동한 상태에서 별도의 설정 없이 HTTPS 요청을 시도하면 인증서 오류가 발생합니다.
이는 Burp Suite이 중간자 프록시로 동작하며 서버의 원본 인증서를 자체 인증서로 대체하기 때문입니다.
안드로이드 시스템은 신뢰되지 않은 인증서의 통신을 차단하므로, 정상적인 분석을 위해서는 Burp의 CA 인증서를 안드로이드 기기에 신뢰할 수 있는 인증서로 등록하는 과정이 필요합니다.
STEP 1) 인터넷 접속 시 인증서 오류 발생

STEP 2) Burp Suite의 Proxy settings 내 "import/export CA certificate" 클릭

STEP 3) "Certificate in DER format" 클릭

STEP 4) 인증서를 저장할 경로와 {임의의 파일명}.der로 저장

STEP 5) Burp 인증서를 PEM 형식으로 변환한 뒤, 안드로이드에서 사용하는 Subject 해시값을 추출

STEP 6) 변환된 "burp.pem" 파일을 "해시값.0" 형식으로 파일 이름 변경

STEP 7) 시스템 파티션을 쓰기 가능 상태로 변경한 뒤, 앞서 생성한 인증서를 시스템 CA 경로("/system/etc/security/cacerts")에 복사하고 권한을 설정

STEP 8) Nox 환경에서 시스템 신뢰 인증서 목록에 인증서가 정상적으로 등록된 것을 확인

STEP 9) 인증서 등록이 정상적으로 적용되어, 모바일 환경에서 발생하는 네트워크 트래픽이 Burp Suite를 통해 정상적으로 캡처되는 것을 확인

5. 마무리
이제 Nox와 Burp Suite를 활용한 기본적인 앱 분석 환경 구성이 완료되었습니다.
이 환경을 통해 안드로이드 모바일 환경에서 동작하는 웹 기반 앱이 서버와 어떤 데이터를 주고받는지 직접 확인하고, 요청·응답 구조나 전송되는 파라미터를 살펴보며 보안 관점에서 다양한 테스트를 진행할 수 있습니다.
다소 설정 과정이 길게 느껴질 수 있지만, 한 번만 구성해두면 이후에는 별도의 환경 준비 없이 바로 앱 분석을 시작할 수 있어 전체 작업 흐름이 훨씬 수월해지실 겁니다.
목차
1. 개요
2. Nox 준비
2.1. Nox 설치
2.2. Android 9 생성
2.3. 시스템 설정
3. ADB 준비
3.1. ADB 환경 변수 등록
3.2. ADB 기기 접속
4. Nox & Burp Suite 연동
4.1. Burp Suite 프록시 설정
4.2. Nox 프록시 설정
4.3. OpenSSL 설치
4.4. 인증서 설치
5. 마무리
1. 개요
우리가 매일 사용하는 스마트폰 앱은 보이지 않는 곳에서 엄청난 양의 데이터를 주고받습니다.
예를 들어 배달 앱에서 '주문하기' 버튼을 누르면, 내 주소, 메뉴 정보, 결제 수단 등의 정보가 하나의 디지털 패키지로 묶여 서버로 전송됩니다.
앱 분석이란 바로 이 디지털 패키지를 들여다보는 작업입니다.
앱이 서버와 나누는 비밀스러운 대화를 엿봄으로써, 혹시 개인정보가 암호화되지 않은 채 전달되지는 않는지, 또는 보안상 취약한 부분은 없는지를 점검할 수 있습니다.
하지만 이러한 대화는 눈에 보이지 않을 정도로 빠르게 오가기 때문에, 우리는 이를 잠시 멈춰 세워 내용을 확인할 수 있는 분석 환경을 따로 만들어야 합니다.
❓ 왜 Nox와 Burp Suite를 쓰나요?
본 게시글에서는 안드로이드 모바일 환경에서 동작하는 웹 기반 앱을 점검하기 위해, 모바일에서 발생하는 통신 트래픽을 확인할 수 있는 분석 환경을 구축하는 방법을 설명합니다.
이를 위해 Nox로 가상 스마트폰을 구성하고, Burp Suite라는 검문소를 설치한 뒤, 두 환경을 ADB라는 연결 통로를 통해 연동함으로써 앱이 내부적으로 웹 페이지를 호출하거나 서버와 통신하는 과정에서 발생하는 요청·응답을 직접 확인할 수 있도록 단계별로 정리합니다.
2. Nox 준비
2.1. Nox 설치
STEP 1) Nox 홈페이지 접속 후 다운로드 클릭
STEP 2) 다운로드한 nox_setup.exe 파일 실행 후 바로설치 클릭
2.2. Android 9 생성
STEP 1) 설치가 완료 된 후 같이 설치된 녹스 매니저 실행
STEP 2) 멀티 실행 메뉴에서 앱플레이어 추가
STEP 3) android 9 설치
기본 제공되는 android 7 환경에서는 앱의 최소 지원 버전 제한으로 인해 일부 앱이 실행되지 않을 수 있으므로, android 9 설치를 권장합니다.
STEP 4) android 9 실행
STEP 5) 정상적으로 설치가 된 것을 확인
2.3. 시스템설정
STEP 1) NoxPlayer 오른쪽 상단 시스템설정 버튼 클릭
STEP 2) 시스템설정 성능 메뉴에서 해상도 "스마트폰" 설정
STEP 3) 일반 메뉴에서 "ROOT켜기" 체크 및 설정저장 후 재실행
3. ADB 준비
ADB(Android Debug Bridge)는 PC와 안드로이드 기기 간의 통신을 지원하는 명령줄 기반 도구입니다.
ADB를 통해 안드로이드 기기에 명령을 전달하고, 앱 설치·삭제, 로그 확인, 파일 전송, shell 접근 등 다양한 작업을 수행할 수 있습니다.
ADB는 일반적으로 터미널 환경에서 사용되므로, 위치에 상관없이 adb 명령어를 실행하려면 환경 변수 등록 과정이 필요합니다.
환경 변수에 등록되어 있지 않은 경우, 매번 ADB가 위치한 디렉터리로 직접 이동하거나 전체 경로를 입력해야 하는 번거로움이 발생합니다.
하지만 환경 변수를 등록하면 어떤 경로에서든 adb 명령어를 즉시 실행할 수 있어 훨씬 효율적인 작업 환경을 구축할 수 있습니다.
3.1. ADB 환경 변수 등록
STEP 1) Nox 설치 폴더 경로 확인 시 adb 실행 파일이 있는 것을 확인
STEP 2) 시스템 환경 변수 편집에서 환경 변수 클릭
STEP 3) 시스템 변수 내 "Path" 편집
STEP 4) 새로 만들기 버튼 클릭 후 adb 실행 파일이 위치한 폴더 경로 추가
3.2. ADB 기기 접속
STEP 1) 환경 변수 등록 후에는 어떤 경로에서든 adb 명령어 실행이 가능
STEP 2) Nox 환경에서 루팅을 적용한 결과, adb를 통해 기기 쉘(adb shell)에 접속이 가능
연결된 기기가 여러 개인 환경에서는 "adb devices" 명령어를 통해 device id를 확인한 후, "adb -s {device id} shell" 명령어를 사용하여 접속하고자 하는 특정 기기에 접속하시면 됩니다.
4. Nox & Burp Suite 연동
💡 Burp Suite의 설치와 기본 설정법이 궁금하시다면 👉 Burp Suite 사용 가이드 : 설치와 기본 설정법 해당 게시글을 참고해주세요.
4.1. Burp Suite 프록시 설정
STEP 1) Burp Suite 실행 후 Proxy 메뉴 내 "Proxy settings" 클릭
STEP 2) Add 버튼을 클릭하여 새로운 리스너 추가
STEP 3) 임의의 포트번호와 네트워크 바인딩 방식을 선택
포트 번호와 네트워크 바인딩 방식은 고정된 값이 아니므로, 사용 환경과 분석 대상에 따라 각자 상황에 맞는 방식으로 자유롭게 설정하시면 됩니다.
4.2. Nox 프록시 설정
STEP 1) Nox 내 설정에서 네트워크 및 인터넷 클릭
STEP 2) Wi-Fi 클릭
STEP 3) 연결된 네트워크 설정 클릭
STEP 4) 네트워크 세부정보 편집에서 프록시 수동 클릭
STEP 5) 프록시 서버의 IP 주소와 포트 번호 설정 후 저장
4.3. OpenSSL 설치
인증서 설치에 앞서 인증서 설치 과정에 필요한 👉 openssl 를 설치해줍니다.
STEP 1) 설치 페이지 접속 후 OpenSSL 실행 파일 다운로드
STEP 2) 라이선스 동의 후 Next 버튼을 눌러 설치 진행
이 단계에서는 OpenSSL 설치 경로를 지정합니다. 기본 경로로 설치해도 무방하며, 이후 해당 설치 경로가 환경 변수에 등록되므로 경로를 기억해두는 것이 좋습니다.
STEP 3) 환경 변수에 OpenSSL 파일 경로 등록
STEP 4) 임의의 경로에서 "openssl" 명령어가 정상적으로 동작하는 것을 확인
4.4. 인증서 설치
Nox와 Burp Suite를 연동한 상태에서 별도의 설정 없이 HTTPS 요청을 시도하면 인증서 오류가 발생합니다.
이는 Burp Suite이 중간자 프록시로 동작하며 서버의 원본 인증서를 자체 인증서로 대체하기 때문입니다.
안드로이드 시스템은 신뢰되지 않은 인증서의 통신을 차단하므로, 정상적인 분석을 위해서는 Burp의 CA 인증서를 안드로이드 기기에 신뢰할 수 있는 인증서로 등록하는 과정이 필요합니다.
STEP 1) 인터넷 접속 시 인증서 오류 발생
STEP 2) Burp Suite의 Proxy settings 내 "import/export CA certificate" 클릭
STEP 3) "Certificate in DER format" 클릭
STEP 4) 인증서를 저장할 경로와 {임의의 파일명}.der로 저장
STEP 5) Burp 인증서를 PEM 형식으로 변환한 뒤, 안드로이드에서 사용하는 Subject 해시값을 추출
STEP 6) 변환된 "burp.pem" 파일을 "해시값.0" 형식으로 파일 이름 변경
STEP 7) 시스템 파티션을 쓰기 가능 상태로 변경한 뒤, 앞서 생성한 인증서를 시스템 CA 경로("/system/etc/security/cacerts")에 복사하고 권한을 설정
STEP 8) Nox 환경에서 시스템 신뢰 인증서 목록에 인증서가 정상적으로 등록된 것을 확인
STEP 9) 인증서 등록이 정상적으로 적용되어, 모바일 환경에서 발생하는 네트워크 트래픽이 Burp Suite를 통해 정상적으로 캡처되는 것을 확인
5. 마무리
이제 Nox와 Burp Suite를 활용한 기본적인 앱 분석 환경 구성이 완료되었습니다.
이 환경을 통해 안드로이드 모바일 환경에서 동작하는 웹 기반 앱이 서버와 어떤 데이터를 주고받는지 직접 확인하고, 요청·응답 구조나 전송되는 파라미터를 살펴보며 보안 관점에서 다양한 테스트를 진행할 수 있습니다.
다소 설정 과정이 길게 느껴질 수 있지만, 한 번만 구성해두면 이후에는 별도의 환경 준비 없이 바로 앱 분석을 시작할 수 있어 전체 작업 흐름이 훨씬 수월해지실 겁니다.
문건호 | mkh@cela.kr