비상비상

미쁘동. 난 대충 소바 시켰는데 옆 사람 메뉴가 신기해서 찍었다. 언젠가 저거 도전해봄

4. 악성코드 행위 분석 시나리오
- 개요
- 악성코드(멀웨어) 이해하기
- 개요
- 악성 행위를 위해 개발된 컴퓨터에서 동작하는 모든 소프트웨어
- 익스플로잇, 백도어, 디도스, 정보 탈취 등 여러 목적과 기능을 가진 복합적인 형태로 진화
- 기능/목적에 따른 악성코드 분류
- 다운로더 — 지정한 외부 주소에 접속하여 추가 악성코드를 다운로드하여 실행시킴
- 드롭퍼 — 자신 내부에 포함되어 있는 데이터를 이용하여 악성코드 생성
- 인젝터 — 파일을 생성하지 않고 바로 프로세스를 생성하여 메모리에 상주시킴
- 키로거
- 백도어 — 포트를 열어두어 원격 접속을 통해 직접 조작
- 트로이목마 — 정상적인 소프트웨어의 형태를 띠지만 악의적인 행위를 포함
- 랜섬웨어
- 애드웨어
- 스파이웨어 — 사용자 PC에 사전 동의 없이 설치되어 컴퓨터 정보와 개인정보 수집
- 바이러스 — 정상 파일이나 시스템 영역에 침입하여 그곳에 자신의 코드를 삽입하거나 설치. 상주형 바이러스, 파일 바이러스, 덮어쓰기, 은폐형 등
- 웜 — 자기 자신을 레지스트리에 등록하거나 복사본을 생성하여 전파하는 등의 독자적으로 실행됨
- 루트킷 — 프로세스나 파일 등의 흔적을 볼 수 없도록 하는 프로그램
- 부트킷 — MBR 조작
- 파괴형 — MBR과 VBR을 의미 없는 문자열 등으로 덮어씌워 정상 부팅을 하지 못하게
- 은신형 — VBR의 빈 영역에 악성코드를 설치하여 백신이 탐지 못하게
- 개요
- 윈도우 PE 파일 이해하기
- 개요
- Windows 운영체제에서 사용하고 있는 실행 파일 포맷으로 실행 파일이 적재되는 가상 주소, import 함수 목록, Export 함수 목록, 데이터, 코드 등의 정보를 관리하기 위해 파일의 첫 부분에 여러 가지 구조체로 구성되어 있음
- 유닉스에서 사용되는 COFF를 기반으로 마이크로 소프트에서 만든 파일 구조
- 플랫폼에 상관없이 윈도우 운영체제가 돌아가는 환경이면 실행 가능
- 실행 파일(EXE, SCR), 라이브러리(DLL, OCX), 드라이버(SYS), 오브젝트 파일(OBJ) 등
- PE 파일 구조
- PE 헤더, 섹션 헤더, 섹션
- PE 헤더(IMAGE_DOS_HEADER, MS-DOS Stub Program, IMAGE_NT_HEADER)는 모든 파일이 동일하게 가지고 있으나 섹션 헤더와 섹션은 PE 파일마다 갖는 내용이 다름
- IMAGE_DOS_HEADER
- 윈도우 운영체제의 하위 호환성을 지원하기 위한 것
- DOS 운영체제가 윈도우용 PE 파일을 실행했을 때 적절한 오류 메시지를 보여주며 실제 윈도우용 PE 헤더 위치(IMAGE_NT_HEADER)를 가리키는 역할
- MZ 시그니처(0x4D5A)로 시작
- MS-DOS Stub Program — DOS 운영체제에서 윈도우용 PE 파일을 실행했을 때 보여줄 오류 메시지 저장
- IMAGE_NT_HEADER
- 4바이트 Signature와 2개의 IMAGE_FILE_HEADER, IMAGE_OPTION_HEADER 구조체로 구성
- 실제 PE 파일 실행에 필요한 핵심적인 기능
- Signature
- 이 파일이 올바른 PE 포맷으로 구성되어 있는지 확인하기 위한 플래그 값
- 항상 PE\0\0(0x50450000) 4바이트 값을 가짐
- PE 파일 섹션 구조
- 섹션 헤더 — 각 섹션 데이터를 메모리에 로딩하고 속성을 설정하는 데 필요한 정보를 담고 있음
- 섹션 — PE 파일이 가상 주소 공간에 로드된 이후 프로그램 실행 코드, 데이터, 리소스 등 프로그램 실행에 필요한 정보를 배치한 영역
- 코드(.text) — 프로그램
- 데이터
- .data — 읽기 쓰기가 가능한 데이터 섹션으로 전역변수와 정적변수 등이 위치
- .rdata — 읽기 전용 데이터 섹션으로 상수형 변수, 문자열 상수 등이 위치
- .bss — 초기화되지 않은 전역변수 위치(.data에 병합)
- import API
- .idata — 임포트할 DLL과 그 API/함수들에 대한 정보를 담고 있는 섹션으로 대표적으로 IAT(Import Address Table)가 존재(.rdata에 병합)
- .didat — 지연 로딩 임포트 데이터를 위한 섹션
- Export API(.edata) — 익스포트할 DLL과 API/함수에 대한 정보를 담고 있는 섹션으로 일반적으로 API나 변수를 익스포트할 수 있는 경우는 DLL이기 때문에 DLL PE에 해당 섹션 존재(.text 또는 .rdata에 병합)
- 리소스(.rsc) — 다이얼로그, 아이콘, 커서 등의 윈도우 애플리케이션 리소스 관련 데이터들을 담고 있는 섹션
- 재배치 정보(.reloc)
- 실행 파일에 대한 기본 재배치 정보를 담고 있는 섹션
- 재배치 — PE 이미지를 원하는 기본 주소에 로드하지 못하고 다른 주소에 로드했을 경우 코드 상에서의 관련 주소 참조에 대한 정보를 갱신해야 하는 경우. 주로 DDL 파일에서 일어남
- 개요
- 윈도우 레지스트리 이해하기
- 개요
- 윈도우 시스템이 운영되는 데 필요한 정보를 담고 있음
- 설치된 소프트웨어 정보부터 환경설정, 임시 저장값까지 시스템의 거의 모든 정보를 담고 있으므로 사고 분석에 있어 공격자의 중요한 흔적을 찾을 수 있음
- 키 — 최상위 루트키와 그 하위의 서브키로 구분
- 값 — name, type, data
- 하이브 파일
- 레지스트리 정보를 저장하고 있는 물리적인 파일
- 오프라인 상태인 비활성 시스템에서 레지스트리를 분석할 때 활용
- Window XP 환경에서 하이브 파일
- %SYSTEMROOT%\system32\config\SAM — 계정 정보 및 접속 기록
- %SYSTEMROOT%\system32\config\SECURITY — 시스템 보안 정책 및 권한 정보
- %SYSTEMROOT%\system32\config\SOFTWARE — 시스템에 설치된 모든 Application 정보
- %SYSTEMROOT%\system32\config\SYSTEM — 시스템 관련 설정 정보
- C:\Documents and Settings\사용자명\NTUSER.dat — 사용자별 환경설정/프로파일 정보
- 윈도우 부팅 시 하이브 파일에서 값을 읽어들여 구성
- Master Key
- 하이브 파일에서 직접 읽어들여 구성되는 키
- HKLM, HKU
- Drived Key
- Master Key로부터 값을 가져와서 재구성하는 키
- HKCU, HKCC, HKCR
- Master Key
- regit 명령
- 온라인 상태의 시스템에서 레지스트리 정보를 조회하기 위해 이용
- 메모리상에 있는 레지스트리 자료구조 정보를 보여주고 이를 관리할 수 있도록 함
- 최상위 루트키
- HKCR — 파일 확장자와 확장자에 대한 연결 프로그램 정보를 가지고 있음
- HKCU
- 현재 로그인 중인 사용자의 환경설정/프로파일 정보를 가지고 있음
- 주요 환경설정 정보에는 제어판 설정, 네트워크 연결, 응용 프로그램 등이 있으며 HKU 루트키에 있는 해당 사용자 정보에 대한 링크를 가지고 있음
- HKLM — 개별 사용자 단위가 아닌 시스템 전체에 적용되는 하드웨어와 응용 프로그램의 설정 데이터 저장
- HKU
- 다중 사용자 환경에서 각 사용자별로 키 항목을 생성하여 환경설정/프로파일 정보를 저장
- 각 사용자별로 존재하는 하이브 파일 ntuser.dat 파일을 로드하여 생성
- HKCC — 현재 사용 중인 윈도우의 하드웨어 프로필 정보를 가지고 있음
- 개요
5. 워터링 홀
- 개요
- APT 이해하기
- 개요
- APT 공격 단계
- 초기 정찰 단계
- 초기 침입 단계
- 거점 마련 단계
- 권한 상승 단계
- 내부 정찰 단계
- 내부 침투 단계
- 지속성 유지 단계
- 목표 달성 단계
- 주요 침투 기법
- 스피어 피싱 — 특정인을 표적으로 신뢰할 만한 발신인이 보낸 것처럼 위장한 이메일을 발송, 악성 웹사이트로 유도 또는 악성 첨부 파일로 악성코드에 감염시키는 방식
- 워터링 홀 — 공격 대상이 주로 방문하는 웹사이트에 대한 정보를 사전에 파악한 후 제로데이 취약점 등을 이용하여 해당 사이트에 악성코드를 심어두고 공격 대상이 해당 사이트에 접근하게 되면 악성코드에 감염되는 방식
- USB 메모리 스틱 이용
- 사이버 킬 체인 이해하기
- 개요
- 사이버 킬 체인 공격 절차 — 정찰 → 무기화 → 유포 → 악용 → 설치 → 명령 및 제어 → 목적 달성
- 공격 단계 중 하나의 공격을 탐지/차단/대응해 목표 달성 이전에 선제적으로 무력화시키는 방어 시스템
- 단계별 대응 유형
- 탐지 — 공격 행위 발견
- 거부 — 공격자의 접근 차단
- 교란 — 공격을 위한 정보 흐름 방해
- 약화 — 공격 행위의 효율 또는 효과 감소
- 개요
- SSH 포트 포워딩 이해하기
- 개요 — SSH 클라이언트가 SSH 서버에 접속하여 만든 연결을 다른 애플리케이션에서 이용하여 통신할 수 있는 기술
- 로컬 포트 포워딩
- 애플리케이션 클라이언트가 접속할 리스닝 포트를 SSH 클라이언트 호스트에서 생성하여 포워딩하는 방식
- 연결이 생성되면 클라이언트는 SSH 클라이언트 호스트에 생성된 리스닝 포트에 접속하여 SSH 연결을 통해 애플리케이션 서버와 통신
- 리모트 포트 포워딩
- 애플리케이션 클라이언트가 접속할 리스닝 포트를 SSH 서버 호스트에 생성하여 포워딩하는 방식
- 연결이 생성되면 애플리케이션 클라이언트는 SSH 서버 호스트에 생성된 리스닝 포트에 접속하여 SSH 연결을 통해 애플리케이션 서버와 통신
- NTFS 파일 시스템 이해하기
- 개요
- 파티션 — 물리적 디스크를 구획화하여 논리적인 영역을 나눈 것
- 파일 시스템 — 파일을 관리하기 위한 자료구조
- 포맷 — 파티션에 파일 시스템을 구성하는 작업
- 마스터 부트 레코드(MBR)
- 파티션 생성 시 물리적 디스크의 첫 번째 섹터에 위치하는 512바이트 크기의 영역
- 운영체제가 부팅될 때 BIOS에 의해 POST 과정을 마친 후 MBR의 부트 코드를 호출하고 부트 코드는 부팅 관리 파티션을 찾아 해당 파티션 VBR의 부트 고드를 호출하여 운영체제가 기동하게 됨
- 부트 코드(446바이트) — 파티션 테이블에서 부팅 가능한 파티션을 찾아 해당 파티션 VBR의 부트 코드를 호출하는 기계어 코드
- 파티션 테이블(64바이트)
- 디스크 상의 파티션 정보를 담고 있는 테이블
- 16바이트 엔트리 4개
- 각 엔트리가 하나의 파티션 표현
- 4개를 초과하는 파티션을 사용할 경우 EBR로 관리
- 각 엔트레은 파티션의 부팅 가능 정보, 파티션 타입, 파티션의 시작 섹터 위치, 파티션의 크기 등으로 구성
- 시그니처(2바이트) — 정상적인 MBR 영역임을 표시해주는 시그니처(0x55AA)
- NTFS 파일 시스템 구조
- 볼륨 부트 레코드(VBR)
- NTFS 구조에서 가장 앞부분에 위치하는 영역
- 윈도우 부팅을 위한 기계어 코드와 볼륨 및 클러스터의 크기, MFT의 시작 주소 등 설정 정보를 담고 있음
- 파티션 가장 마지막 섹터에 VBR 백업본을 갖고 있음
- 마스터 파일 테이블(MFT)
- 볼륨 /파일 시스템에 존재하는 모든 파일과 디렉터리에 대한 정보를 담고 있는 테이블
- 주로 VBR 뒤에 위치
- MFT 엔트리의 집합으로 구성 — 하나의 파일 또는 디렉터리에 대한 정보를 담구 있는 자료 구조
- 데이터 영역
- 볼륨 부트 레코드(VBR)
- 디스크 파괴형 악성코드 특징
- MBR 또는 VBR 영역을 훼손하여 컴퓨터가 정상적으로 부팅되지 않도록 하는 악성코드
- MBR 손상 — 부트 코드를 정상적인 디스크에서 복사하고 각각의 파티션 정보를 수집하여 파티션 테이블을 완성함으로써 복구
- VBR 손상 — 파티션의 가장 마지막 섹터에 있는 VBR 백업본 덮어쓰기
- 개요
'정보보안기사' 카테고리의 다른 글
| [정보보안기사(실기)] SECTION 17 정보보호 일반/ 관리 (1) | 2026.07.17 |
|---|---|
| [정보보안기사(실기)] SECTION 16 주요 취약점 (0) | 2026.07.08 |
| [정보보안기사(실기)] SECTION 15 침해 사고 유형별 시나리오 (1) (0) | 2026.06.26 |
| [정보보안기사(실기)] SECTION 14 시스템 점검 도구 (0) | 2026.06.16 |
| [정보보안기사(실기)] SECTION 13 보안 장비 운영 (2) (1) | 2026.06.14 |