악성코드 분석 2026-04-23



| 검사 항목 | 위치 | 정상 값 | 디버거 환경 값 |
|---|---|---|---|
| BeingDebugged 디버거 부착 플래그 | PEB+0x02 | 0 | 1 |
| NtGlobalFlag 전역 디버그 설정 값 | PEB+0xBC | 0 | 0x70 계열 플래그 |
| Heap Flags / ForceFlags 메모리 관리 방식 차이 | PEB.ProcessHeap → 내부 구조체 | 일반 heap flags | 메모리 진단 모드 활성화 계열 |




| 옵션 | 기능 | 설명 |
|---|---|---|
|
-p |
암호화 경로 지정 | 암호화할 폴더 경로를 세미콜론(;)으로 구분해 여러 개 입력 |
|
-b |
제외 폴더 지정 | 암호화하지 않을 폴더 경로 목록 |
|
-m |
암호화 범위 선택 | all(전체) / local(내 컴퓨터만) / net(네트워크 공유 포함) |
|
-t |
시작 대기 시간 | 암호화를 시작하기 전 지정한 초(秒)만큼 기다림 |
| -n <0/1/2> | 랜섬노트 저장 위치 | 0: 생성 안 함 / 1: 모든 암호화 경로 / 2: C 드라이브 최상위에만 |
| -h / --help | 도움말 출력 | 사용 가능한 옵션 목록을 화면에 출력 |
| -k | 실행 파일 보호 | .exe 파일은 삭제하지 않음 |
| -w | 빈 공간 덮어쓰기 | 암호화 완료 후 디스크 빈 공간을 무작위 데이터로 채워 복구를 방해 |
| -f | 빠른 암호화 | 파일 일부만 암호화해 속도를 우선으로 처리 |
| -i | 조용한 실행 | 확장자 변경, 랜섬노트 생성, 수정 시각 변경 없이 눈에 띄지 않게 실행 |
| -d | 디버그 모드 | 동작 과정을 화면에 출력하며 실행 (분석·테스트용) |
| -v | 상태 표시 모드 | 콘솔에 진행 상태바를 표시하며 실행. -p 옵션과 함께 쓰면 비활성됨 |
| -nomutex | 중복 실행 허용 | 기본적으로 한 번만 실행되도록 막혀 있는 제한을 해제해 동시에 여러 개 실행 가능 |

| 알고리즘 | XChaCha20 (상수: "expand 32-byte k") |
|---|---|
| 키 도출 | HChaCha20로 서브키 유도 |
| 처리 단위 | 8MB 청크(0x800000) 단위 원본 위치 직접 덮어쓰기 |
| Footer | 96바이트 footer/trailer 추가 |
| 재암호화 방지 필드 | footer/trailer 기반 재처리 방지 값을 처리 |
| 중복 방지 | footer/trailer 구조 확인으로 이미 처리된 파일을 건너뜀 |
| 멀티스레드 | 병렬 처리 |




| 확장자 및 파일 |
|---|
| exe, dll, sys, lnk, cpl, encmeta / iconcache.db, e.db, thumbs.db |
| 폴더 |
|---|
| $Recycle.Bin, AllUsers, Boot, chocolatey Microsoft Office, Microsoft Visual Studio, Windows Kits, WindowsApps VisualStudio, System Volume Information, Microsoft\Windows, Windows\Hyper-V \AppData\Local\Temp\ |
위협분석센터 ms.kim2@piolink.com