TigerDemon

4주차 문서형 악성코드사례 - 한글 문서 취약점 악성코드 본문

2025-SWLUG/악성코드 스터디

4주차 문서형 악성코드사례 - 한글 문서 취약점 악성코드

호랑2D 2025. 9. 30. 23:08

제 3 장 악성코드 상세 분석

제 5 절 한글 문서 취약점 악성코드

아래 한글(.hwp)의 힙 스프레이 기법으로 쉘 코드를 실행시키는 힙 오버플로우 취약점 등을 통해 유포되고 있는 악성코드

 

힙 스프레이기법 : 

 

가. 정보 탈취 악성코드

특정 Windows API 함수를 사용하여 감염 PC의 시스템 정보를 탈취하고, C&C서버나 이메일 계정으로 정보를 전송하는 악성코드

(그림 3-52)은 GetLogicalDriveStringsA(), GetDriveTypeA() 함수를 이용해 디스크 드라이브 목록, 드라이브 유형 정보를 수집하는 코드

 

(그림 3-53)는 GetComputerNameA(), GetUserNameA(), GetLocalTime() 함수를 이용해 컴퓨터 이름, 사용자 이름, 컴퓨터 시간을 수집하는 코드

(그림 3-54)은 GetVersionExA() 함수를 이용해 시스템 버전을 구하고, VersionInformation 구조체 변수에 저장된 운영체제 플랫폼, 운영체제 주 버전, 운영체제 부 버전 정보와 윈도우 서비스 팩 정보를 수집하는 코드

(그림 3-55)는 환경 변수 “COMSPEC”을 이용해 명령 프롬프트를 실행하고 인자 값으로 “systeminfo”명령어를 실행하여 기본 시스템 구성 정보를 수집하는 코드

 

 

나. 키로거 악성코드

특정 Windows API 함수를 사용하여 키보드나 마우스로 입력되는 값을 수집하는 악성코드

(그림 3-57)은 키로그 루틴이며 윈도우 API함수 중 GetKeyState(), GetForegrounWindow(), GetWindowTextA()를 사용하여 입력된 키보드의 가상키 값과 시스템의 최상위 윈도우 프로그램, 제목 표시줄의 문자열을 수집하는 코드

 

다. 백도어

특정 Windows API 함수나 소켓 함수를 사용하여 C&C 서버에 접속하여 추가 명령을 수행한다.

(그림 3-59)과 (그림 3-60)은 소켓 함수를 이용하여 특정 C&C 서버에 접속하여 추가 명령을 수신하고, 이를 “cmd.exe /c”뒤에 인자 값으로 넣어 명령을 수행하는 코드

 

라. 다운로더 악성코드

특정 Windows API 함수를 사용해 C&C 서버에 접속하거나 이메일 계정을 통해 추가 악성코드를 다운로드하는 악성코드

 

(그림 3-61)은 InternetConnectA() 함수로 공격자가 지정한 이메일 계정에 연결하고, InternetReadFile()로 추가 악성코드 다운로드를 수행하는 코드

 

2. 분석 결과

가. C&C서버

악성코드에 감염된 PC는 해당 C&C 서버에 수집된 정보를 전송하거나 추가 명령어를 수신하며, 추가 악성코드를 다운로드한다.

 

나. 이메일 주소

악성코드에 감염된 PC는 해당 이메일 주소를 통해 수집된 정보 전송하거나 추가 악성코드를 다운로드한다.

 

다. 악성코드 통계

한글 문서 취약점으로 생성되는 악성코드 샘플 112개 중 38개의 샘플이 드롭퍼(34%), 19개의 샘플이 정보탈취(17%), 16개의 샘플이 키로거 (14%), 13개의 샘플이 인젝터(12%), 11개의 샘플이 백도어(10%)와 다운로더(10%), 기타(3%)이며, 전체 악성코드 유형 통계는 (그림 3-62)이다.