| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- SK쉴더스루키즈
- 프리코스
- 루키즈31기
- 루키즈 31기
- 우테코
- 깃
- c
- 다이나믹 프로그래밍
- 애플리케이션 계층
- 웹개발
- 위상 정렬
- SK쉴더스
- 서울청년문화패스
- 백엔드
- 레나튜토리얼
- 우아한테크코스
- 트랜스포트 계층
- sk쉴더스 루키즈
- 예술의 전당
- 악성코드 분석
- webhacking
- 진입차수
- Dreamhack
- 코리안챔버오케스트라
- 자바
- 알고리즘
- 프랑스어 #프랑스어배우기 #프랑스어독학 #델프인강 #시원스쿨프랑스어 #delf독학 #델프 #프랑스어기초 #프랑스어공부
- sk 쉴더스 루키즈
- React
- linux
- Today
- Total
yon11b
[SK 쉴더스 루키즈] 윈도우 API 개념 & ADS 실습 본문
윈도우 API
대부분의 악성코드는 윈도우 환경에서 동작하기 때문에 윈도우 API에 대해 잘 알아두는 것이 좋다.
사용자가 Windows 32 API를 호출하면, API는 커널에 시스템 호출(SYSCALL)을 전달한다.

윈도우 보안 모델: 핸들

프로그램이 파일 같은 커널 자원을 직접 만지는 게 아니라, 먼저 핸들(허가증)을 받아서 접근해야 한다.
1. 프로그램에서 CreateFile(), OpenProcess() 같은 API를 호출한다.
- 커널에 요청함
2. 커널 내부에 실제 객체가 만들어진다.
3. 커널이 핸들(접근권)을 반환해준다. (이때 프로그램 사용자의 토큰을 확인함)
4. 이제 프로그램은 핸들을 이용해서 작업한다.
- ReadFile(hfile)
- WriteFile(hfile)
DLL
Dynamic Link Libraries (동적 링크 라이브러리)
여러 애플리케이션이 코드를 공유할 수 있도록 윈도우가 제공하는 라이브러리 방식
외부 DLL 사용 사건
다른 프로그램의 DLL을 활용해 직접 구현 없이 기능을 사용할 수 있음
- 한수원 거래처 해킹
- 팀뷰어 내에 있는 DLL파일(원격 제어 기능)
- 북한 소행
- 파이퍼 폭스 DLL로 통신
파일 시스템 API
악성코드에서는 파일 생성, 수정을 많이 다루므로 파일시스템 API에 대해서 잘 알아놔야 한다.
주요 API들
| 함수 | 설몀 |
| CreateFile | 파일 생성, open |
| ReadFile, WriteFile | 파일 read, write |
| CreateFileMapping, MapViewOfFile |
메모리에 가져와서 조작. ctrl+s를 누르기 전까지 반영이 되지 않음. |
파일 시스템
네임스페이스 우회
공유 파일 - SMB 프로토콜로 접근 가능
ADS
NTFS에서 하나의 파일 이름이 여러 개의 데이터 스트림을 가질 수 있게 한 구조
=> 따라서 NTFS 파일 시스템에서는 ADS 영역에 데이터를 작성하여 은닉할 수 있다.
파일 안에 숨겨진 추가 데이터 공간 이라고 생각하면 된다.
쉬운 설명
test.txt라는 파일이 있을 때 실제로는 test.txt:secret같은 숨겨진 스트림을 추가로 만들 수 있다. 즉 하나의 파일에 원래 내용, 숨겨진 내용이 동시에 저장 가능하다.
echo hello > test.txt
echo malware > test.txt:secret
그리고 test.txt를 열면 hello만 보인다.
하지만 내부적으로는 secret 스트림도 존재한다.
ADS 실습
messagebox.exe
test.txt 파일
test.txt 파일 뒤의 ADS 공간에 messagebox.exe를 붙인다.
cat messagebox.exe > test.txt:messagebox.exe
이렇게 해도 test.txt만 보이고 test.txt:messagebox.exe는 보이지 않는다.

심지어 test.txt 파일 크기를 확인해봐도 18바이트로 그대로이다.
test.txt 파일 안에 숨겨진 messagebox 실행하는 명령어
powershell -Command "Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine = '%USERPROFILE%\test.txt:messagebox.exe'}"

숨겨진 스트림 확인하는 dir 옵션 명령어
dir /R test.txt

'보안 > SK 쉴더스 루키즈' 카테고리의 다른 글
| [SK 쉴더스 루키즈] windows API를 활용한 악성 코드들 (0) | 2026.05.28 |
|---|---|
| [SK 쉴더스 루키즈] PE 구조 실습- 손상된 notepad 파일 복구하기 (0) | 2026.05.27 |
| [SK 쉴더스 루키즈] notepad로 알아보는 PE 파일 구조 (feat: PEview) (0) | 2026.05.27 |
| [SK 쉴더스 루키즈] AWS 모니터링 (0) | 2026.05.13 |
| [SK 쉴더스 루키즈] 딥러닝 모델 CNN, RNN (0) | 2026.05.11 |
