씩 클라이언트 보안 테스트
ACTION REQUIRED(읽은 후 즉시 실행)
NOW:../field-journal/precedent-pentest.md읽기NOW: 대상이 데스크톱 씩 클라이언트(Win/macOS/Linux GUI 또는 서비스 동반)인지 확인, 순수 웹이 아님NOW: case-init; 설치 패키지 출처와 테스트 계정을 scope에 기록NEXT: 도구 준비(Burp 상류 프록시, 프로세스 모니터링, 리버스 엔지니어링 도구)ACT: 신뢰 경계 맵 → 로컬 표면 → 네트워크 표면 → 업데이트/공급망
적용 시나리오
- C/S 아키텍처 클라이언트, Electron/Qt/.NET WinForms/WPF
- 로컬 구성/자격 증명 저장소, IPC, 네임드 파이프
- 클라이언트 측 강제 검증 우회 연구(권한 부여됨)
- 자동 업데이트 채널 및 코드 서명 검증
워크플로우
1. 경계 설정
□ 프로세스 트리, 자식 프로세스, 드라이버/서비스
□ 수신 포트와 아웃바운드 도메인
□ 로컬 중요 경로: %APPDATA%, 키체인, 레지스트리
2. 로컬 공격 표면
□ 평문 설정, 하드코딩된 키, 디버그 스위치
□ DLL 하이재킹/검색 순서(Windows)
□ 데이터베이스 파일(SQLite) 권한 및 암호화
□ IPC: 누가 연결 가능한가? 인증이 있는가?
3. 네트워크 표면
□ 시스템 프록시 / 애플리케이션 사용자 정의 TLS
□ 인증서 고정 → 모바일/js 방법론 또는 Frida와 결합
□ API 권한 상승: 클라이언트에 숨겨진 관리 인터페이스
4. 리버스 엔지니어링 검증
□ .NET → dotnet-reverse; 네이티브 → ida/ghidra; Electron → asar + js-reverse
도구 체인
| 도구 | 용도 |
|---|---|
| Process Monitor / API Monitor | 동작 분석 |
| Burp / mitmproxy | 트래픽 분석 |
| dnSpy / IDA / Ghidra | 리버스 엔지니어링 |
| Sysinternals | Windows 표면 분석 |
| asar / nexe 감지 | Electron 분석 |
참고
references/thick-client-checklist.md../dotnet-reverse/../ida-reverse/../js-reverse/../api-security/
라우팅 컨텍스트
상류: MASTER R32
하류: 순수 프로토콜 protocol-reverse; 공급망 업데이트 supply-chain-security
작업 완료 자체 점검
- 신뢰 경계를 그렸는가?
- 로컬 + 네트워크 표면을 모두 다루었는가?
- 체크리스트를 확인했는가?