Everything is hacked.

There is no 100 % security.

Tools/Burpsuite

Burpsuite Settings - Custom Certification Create

Kai_HT 2023. 3. 11. 19:03

어떤 것이든 커스터마이징을 해야하는 성격은 '모의해킹 컨설턴트' 가 되어서도 동일하게 적용되었다.
툴 세팅 시에도, 진단 시 이용하는 제품들까지 모두 영향을 받았다.

개인 작업노트북을 사용하며 모바일 진단을 수행하기 위해 디바이스 내 설치되어있는 인증서 관리 중 "Port Swigger" 이라는 인증서가 너무 많아 어떤 인증서가 어떤 디바이스의 인증서인지 판단하기 어려웠다. 그래서 전부 지우고 이번 기회에 아예 개인 작업노트북에서 이용하는 버프슈트의 인증서를 커스터마이징하여 사용하기로 판단하고 진행하게 되었다.

참고 게시글 

인증서 생성을 위해서 우선적으로 OpenSSL 툴이 필요하다.
필자는 윈도우 원툴 를 사용하므로 해당 게시글은 윈도우 기준으로 작성되었다.

OpenSSL 설치 URL

※ 설치하고 나서 openssl 의 실행파일 위치를 환경 변수에 추가해주자.

환경변수 추가

1. OpenSSL 프로그램을 설치하고 프로그램이 설치된 위치의 'openssl.cnf' 파일의 위치를 확인한다.

윈도우 기준 파일위치 디렉토리 : C:\Program Files\OpenSSL-Win64\bin\cnf)

2. openssl.cnf 파일을 작업 디렉토리로 복사를 진행한다.

openssl.cnf 파일 복사

3. 해당 파일 복사 이후 인증서와 키 값 생성을 위해 파일을 복사한 디렉터리로 이동한 다음  명령어를 입력하여 생성을 진행한다. (본인이 작성한 -days 36525 는 100년이다.)

openssl req -x509 -days 36525 -newkey rsa:2048 -oulform der-keyout server.key -out ca.der -extensions v3_ca -config .\openssl.cnf

인증서 및 키 생

인증서 커스터마이징은 해당 명령어 이후 진행하게 된다.
스크린샷 최하단에 "Country Name" 이라고 되어있는데 문자열 그대로 국가을 시작으로 국가 내 위치, 소속된 곳, 자신의 이름 등을 작성하게 된다.

4. 자신의 정보 입력

정보 입

이후 인증서 키 파일 작성을 진행하기 위한 명령어를 입력해 준다.

# 인증서 내 키 작성
openssl rsa -in server.key -inform pem -out server.key.der -outform der

# 인증서 정보 입력
openssl pkcs8 -topk8 -in server.key.der -inform der -out server.key.pkcs8.der -outform der -nocrypt

5. der 파일을 pem 파일로 변경해주는 명령어 입력

openssl x509 -inform DER -in ca.der -out ca.pem

6. 해시값 추출한 후 출력된 해시값 확인

추출 해시값 확인

7. ca.pem 파일을 해시값으로 변경 (7a7f8**.0)

ca.pem 파일명 변경

8. 파일 세 개 - 해시값.0, ca.der, server.key.der 를 확인하고 .der 파일들을 버프슈트에 넣어준다.

.der 파일 확인
인증서 파일 삽입 메뉴 접근
.der 파일 삽

9 Mobile Device

9-1 iOS

9-1.1 해당 모바일 디바이스에서 "http://burpsuite" 에 접근하여 'CA Certificate' 로 인증서를 추가해준다..
(구버전 버프슈트 기준 'http://burp' )

http://burpuite 페이지 접근 후 인증서 추가

9-1.2 아이폰 기준, '일반-프로파일 및 기기 관리-다운로드된 프로파일' 메뉴에 접근하여 인증서 설치를 진행함.

iOS 인증서 설치 진행

9-2 Android

9-2.1 안드로이드 기준 인증서 파일을 다운로드를 진행 후 안드로이드 디렉터리 마운트하며 권한을 부여하고 파일명 변경,
경로 '/system/etc/security/cacerts' 에 해당파일 복사, 644 권한을 부여한다.

다운로드 후 콘솔 (혹은 adb shell) 에서 명령어 입력 후 인증서 파일 복사

mount -o rw,remount /

cd [해당폴더] // 인증서 다운로드 폴더로 이동
mv [인증서파일] [해시값].0
cp [해시값].0 /system/etc/security/cacerts/[해시값].0

// 스크린 샷 두 번째 해당 명령어. 해당 명령어는 CLI 로 진행 시 진행할 것
chown 644 /system/etc/security/cacerts/[해시값].0

인증서 다운로드 및 이

9-2.2 권한 부여 이후 안드로이드 폴더를 리마운트를 진행하고 안드로이드 '설정-보안-암호화 및 사용자 인증 정보-사용자 인증 정보' 에서 인증서가 설치된 것을 확인함.

// 작업 이후 디렉터리 전체 권한 변경
mount -o ro,remount /

인증서 설치정보 확인

10. 인증서 설치 이후 정상적으로 패킷이 잡히는 모습의 확인이 가능하다.

패킷 캡처 확인