tmxklab
악성코드 기능 본문
0. 목차
1. 다운로더
2. 드로퍼
3. 키로거
4. 이동식 미디어를 통한 악성코드 복제
5. 악성코드 명령 및 제어
6. 파워쉘 기반 실행
1. 다운로더(Downloader)
- 인터넷에서 다른 악성코드 컴포넌트를 다운로드하고 시스템에서 실행하는 프로그램
- 다운로드를 위해 UrlDownloadToFile() API 호출
- 다운로드 완료 후 ShellExecute(), WinExec(), 또는 CreateProcess() API 호출하여 다운로드한 컴포넌트 실행
2. 드로퍼(Dropper)
- 추가 악성코드 컴포넌트를 내부에 포함하고 있는 프로그램
- 실행되면 드로퍼는 악성코드 컴포넌트를 추출해 디스크에 저장
- 일반적으로 리소스 섹션에 추가 바이너리를 포함한다.
- 내장한 실행 파일을 추출하고자 FileResource(), LoadResource(), LockResource(), SizeOfResource() API 호출
3. 키로거(Keylogger)
- 키 입력을 가로채서 기록하는 프로그램
- 공격자는 다양한 기술을 이용해 가로챌 수 있는데 키 입력을 로깅하는 가장 흔한 방법은 다음과 같다.
① 키 상태를 확인(GetAsyncKeyState())
② 훅 설치(SetWindowHookEx())
① GetAsyncKeyState()를 이용한 키로거
- 현재 키의 상태를 알아오는 함수
- 키보드의 개별 키 상태를 질의하여 키가 눌러졌는지 아닌지를 확인한다.
② SetWindowHookEx()를 이용한 키로거
- 훅 프로시저(hook procedure)라고 불리는 함수를 설치해 키보드 이벤트를 모니터링
- 악성 프로그램은 키보드 이벤트가 트리거될 때 알려주는 함수(hook procedure)를 등록하고 키 입력을 파일에 기록하거나 네트워크를 통해 전달
- 악성 코드는 SetWindowsHookEx() API를 사용해 어떤 이벤트 유형(ex. 키보드, 마우스 등)을 모니터링할지와 특정 이벤트 유형이 발생했을 때 알림해야 하는 훅 프로시저를 지정
4. 이동식 미디어를 통한 악성코드 복제
- Autorun 기능을 활용해 감염된 미디어가 꽂혔을 때 자동적으로 다른 시스템 감염
- autorun.inf : 미디어가 삽입되었을 때 자동으로 프로그램 실행할 수 있도록 도와줌
- 일반적으로 파일을 복사하거나 이동식 미디어에 저장된 기존 파일을 수정
5. 악성코드 명령 및 제어(C&C, C2)
- 악성코드 명령 및 제어(C&C 또는 C2)는 공격자가 감염된 시스템과 통신하고 제어
- 시스템을 감염시키면 대부분의 악성코드는 공격자가 제어하는 서버(C2 서버)와 통신해 명령을 받거나 추가 컴포넌트를 다운로드하거나 또는 정보를 유출
- C2 채널로 사용하는 가장 일반적인 프로토콜은 HTTP/HTTPS, 경우에 따라 P2P와 같은 프로토콜을 사용하거나 DNS 터널링을 사용한다.
① HTTP 명령 및 제어
- InternetOpen(), InternetOpenUrl(), InternetReadFile() 함수를 사용해 공격자가 통제하는 C2 서버에서 웹 페이지를 가져온다.
- 웬 페이지에 특별한 html태그가 포함되어 있으며 태그 내의 데이터를 복호화하고 명령으로 해석
② 유저 정의 명령 및 제어
- 유저 정의 프로토콜을 사용하거나 비표준 포트를 통해 통신하여 명령 및 제어 트래픽을 숨길 수 있다.
6. 파워쉘 기반 실행
- 탐지를 우회하고자 시스템에 존재하는 파워쉘 같은 도구를 활용해 악의적인 행위를 숨김
- 파워쉘은 .NET 프레임워크에 기반한 관리 엔진이며 이 엔진은 cmdlets라 불리는 일련의 명령어를 제공한다.
- 파워쉘은 일반적으로 시스템 관리자가 정상적인 목적을 위해 사용하지만 공격자가 악성코드를 실행하고자 파워쉘을 사용한다.
- 공격자가 파워쉘을 사용하는 주요 이유는 주요 운영 시스템의 함수에 대해 접근을 제공하고 매우 적은 흔적을 남겨 탐지를 좀 더 어렵게 하기 때문이다.
+) 파워쉘 프롬프트에서 스크립트를 실행하면 모든 명령이 한 번에 실행된다. 실행되는 동안 제어하고자 한다면 PowerShell ISE를 이용해 파워쉘을 디버깅할 수 있다.
+) 파워쉘 옵션
+) 참고자료
'Security > 07 Malware Technique' 카테고리의 다른 글
SetWindowsHookEx DLL Injection (0) | 2021.04.20 |
---|---|
APC Injection (4) | 2021.04.19 |
악성코드 지속메커니즘 (0) | 2021.04.18 |
파일리스(Fileless)기법 설명 (0) | 2021.01.16 |
UAC bypass(레지스트리 어뷰징) 분석 (0) | 2021.01.09 |
Comments