상세 컨텐츠

본문 제목

[악성코드 분석리포트] Backdoor.BlackEnergy

악성코드 분석 리포트

by 알약(Alyac) 2016. 2. 24. 10:00

본문

Backdoor.BlackEnergy


해커들이 강력한 파괴력을 가진 멀웨어를 이용하여 우크라이나의 최소 3군대의 지역 전력기관을 감염시켜 지난 12월 23일 우크라이나의 이바노프란키우시크 지역에 정전을 일으킨 것으로 밝혀졌습니다. 우크라이나 자원부는 조사를 통하여 이번 정전사태는 지역 에너지 공급처인 Prykarpattyaoblenergo가 사이버 공격을 당했기 때문이라고 발표하였으며, 실제로 우크라이나의 다수 전력기관들이 "BlackEnergy" 멀웨어에 감염되어 있었던 것으로 밝혀졌습니다.


BlackEnergy 멀웨어는 2007년 처음 발견되었으며, 발견 당시 DDoS 공격을 실행하기 위한 단순한 툴이였지만, 2년전부터 감염된 컴퓨터들을 부팅할 수 없도록 만드는 등의 새로운 기능들이 추가되었습니다. SBU 주 정보부에서는 지난 월요일 이 멀웨어는 "러시아의 보안기관"이 산업 제어 시스템 및 정치적 타겟을 대상으로 사용하기 위해 제작한 것이라고 하였습니다.


ESET에 따르면, 이 멀웨어는 최근 KillDisk라 명명 된 새로운 컴포넌트와 백도어를 포함한 SSH 유틸리티가 업데이트 되었으며, 이로 인해 감염된 컴퓨터에 해커가 영구적으로 접근할 수 있게 되었다고 밝혔습니다. KillDisk모듈은 BlackEnergy 멀웨어가 컴퓨터 하드드라이브의 매우 중요한 부분을 파괴하고 산업 제어 시스템의 파괴를 가능하게 합니다.


BlackEnergy의 최초 감염은 전력기관의 직원들이 악성 매크로가 포함된 MS 오피스 파일을 열었기 때문인 것으로 추정하고 있습니다.


악성파일 분석

※ black.xls


Microsoft Excel 문서 파일이며, 문서 내에 악성파일을 드롭하는 매크로 스크립트가 들어 있습니다. 오피스 프로그램에서 매크로 악성코드가 동작하기 위해서는 우선 매크로 기능이 활성화되어야 하는데, 이를 노린 공격자는 사용자가 매크로를 활성화하도록 유도합니다. 본문의 그림파일 글자는 우크라이나어로 되어 있으며, 내용은 매크로를 실행하면 본문을 볼 수 있다는 것으로 사용자가 매크로를 실행하게끔 유도합니다.


[그림 1] 엑셀파일 실행화면



[그림 2] 문서 내 글자 번역 내용


매크로를 실행한 후 해당 매크로를 열어보면 암호가 지정되어 있어 내용을 볼 수가 없습니다.



[그림 3] 매크로 암호 입력창

툴을 이용하여 매크로 암호를 무력화한 다음 내용을 살펴보면 드롭될 파일의 10진수로 된 아스키코드가 배열로 들어 있으며, 엑셀이 시작될 때 %TEMP%\vba_macro.exe 파일을 생성한 후 실행하는 것을 알 수 있습니다.


[그림 4] 매크로 내용 1



[그림 5] 매크로 내용 2


※ vba_macro.exe


파일드롭


앞서 매크로에 의해서 실행되는 vba_macro.exe는 내부적으로 또 다른 악성 파일을 포함하고 있습니다. 사용자가 알아채지 못하게 해당 파일을 시스템에 생성하고 이를 실행하는 기능을 가지고 있습니다. 아래는 사용자 계정 이하의 Local Settings 폴더에 드롭된 악성 파일의 모습을 나타낸 것입니다.


[그림 6] 사용자 계정 이하의 Local Settings 폴더에 생성된 악성파일


악성 파일은 DAT확장자를 하고 있으나, 실제로는 DLL파일입니다. 따라서 단독으로는 실행될 수 없고 rundll32.exe같은 프로세스와 함께 실행되어야 합니다. system32 이하의 svchost.exe 파일과 동일한 파일 시간으로 설정되어 있습니다. 또한 숨김 처리되어 있기 때문에 탐색기에서 숨김 파일 보이기 옵션을 켜지 않으면 보이지 않습니다.



시작 프로그램 등록 및 악성파일 실행

윈도우가 시작될 때마다 악성코드가 실행되도록 하기 위하여, 시작프로그램 폴더에 바로가기를 생성합니다.

[그림 7] 사용자 계정 이하의 Local Settings 폴더에 생성된 악성 파일


바로가기의 내용을 살펴보면 아래와 같이 rundll32.exe를 이용해서 FONTCACHE.DAT 파일을 실행 시키는 것을 확인할 수 있습니다. 바로가기 등록 후에는 악성코드의 실행을 위하여 바로가기를 직접 실행 시킵니다.


%windir%\System32\rundll32.exe "C:\Documents and Settings\[사용자 계정명]\Local Settings\Application Data\FONTCACHE.DAT",#1


자가 삭제


파일 드롭과 바로가기 설치를 마친 후에는 자기 자신을 삭제함으로써 흔적을 제거합니다. 아래는 자가삭제 코드의 일부분을 나타낸 것입니다.



[그림 8] 자가삭제 코드의 일부분


※ FONTCACHE.DAT


인터넷 익스플로러 보안 수준 변경


인터넷 익스플로러 관련 레지스트리 설정을 변경하여 보안 수준을 낮춥니다. 이는 바로 다음에 나올 내용인 C&C서버에 연결하는데 인터넷 익스플로러 프로세스를 실행시켜서 연결을 시도하기 때문에 각종 보안 수준을 변경하는 것으로 분석됩니다.


 Subkey

 Value

 Data

 설명

 HKCU\Software\Microsoft\Internet Explorer\Main

 Check_Associations

 No

 기본 웹브라우저가 아닐 경우 알림 표시 해제

 HKCU\Software\Microsoft\Internet Explorer\InformationBar

 FirstTime

 0

 알림 표시줄 해제

 HKCU\Software\Microsoft\Internet Explorer\New Windows

 PopupMgr

 No

 팝업차단

 HKCU\Software\Microsoft\Internet Explorer\PhishingFilter

 Enabled

 0

 스마트 스크린 필터 해제

 HKCU\SOFTWARE\Microsoft\Windows\

CurrentVersion\Internet Setting\Cache

 Persistent

 0

 브라우저 종료 시 인터넷 임시 파일 삭제

 HKCU\Software\Microsoft\Internet Explorer\TabbedBrowsing

 WarnOncloseAdvanced

 0

 종료 시 탭을 모두 닫으시겠습니까 경고창 해제

 HKCU\Software\Microsoft\Internet Explorer\Main

 DisableFirstRunCustomize

 1

 새 브라우저 살펴보기 해제

 HKCU\Software\Microsoft\Internet Explorer\Recovery

 NoReopenLastSession

 1

 IE 마지막 검색 세션 다시 열기 해제

 HKCU\Software\Microsoft\Internet Explorer\Main

 NoProtectedModeBanner

 1

 IE 보호모드 해제



C&C서버 연결

악성코드는 내부에 하드코딩 된 C&C서버 주소를 가지고 있습니다. COM API를 이용해서 지속적으로 Internet Explorer를 실행시켜 C&C서버로 연결을 시도하는 기능을 가지고 있습니다. 아래와 같이 IE가 실행되는 모습을 확인할 수 있습니다.




이때 연결되는 주소를 확인해보면 C&C서버 주소로 연결을 시도함을 확인할 수 있습니다. 다만 분석 시점에서는 C&C서버와의 연결이 수립되지 않아서 추가적인 기능의 분석은 수행하지 못하였습니다. 



연결이 수립되면 BOT ID를 비롯해서 OS버전 정보 등을 C&C서버로 전송합니다. 


[그림9] 로컬 정보 수집


봇 기능 수행


아래 코드는 봇 기능을 수행하며 흔히 알려진 BlackEnergy의 명령어와 거의 유사한 명령 집합을 가지고 있습니다. 봇 명령어는 해당 프로세스에 모듈을 로드하는 기능과 언로드하는 기능, 악성코드가 설치된 것을 삭제하는 기능, 서버에서 파일을 받아서 실행하는 기능이 존재하며 이러한 명령들을 이용해서 공격자는 추가 작업을 수행할 가능성이 다분합니다.



[그림 10] 봇 명령 수행



명령어 

기능 

 Delete 

 모듈을 Uninstall한다 

 Ldplg

 플러그인을 로드한다 

 Unlplg 

 플러그인을 언로드한다 

 Dexec 

 파일을 다운로드하고 실행한다. 



결론


우크라이나 정전과 관련된 샘플들 중 한가지를 살펴보았고, 분석 결과 단순한 봇 악성코드임을 확인할 수 있었습니다. 문서 파일을 실행하면 악성매크로가 실행되고 매크로가 실행되면서 봇 악성코드가 실행됩니다. 봇 악성코드는 C&C서버와 연결하여 사용자 PC 정보 수집 및 추가적인 기능을 수행할 가능성이 있다는 것을 확인 하였습니다. 산업시설이라도 이처럼 간단한 봇 악성코드만에 감염되는 것만으로도 사회적으로 큰 대란을 불러일으킬 수 있다는 것을 인지하여야 하겠습니다.


MS 오피스 프로그램 내에서 매크로 실행은 최대한 신중해야 하고 웹브라우저의 취약점, 문서 취약점, 이메일 등으로 악성코드가 전파되기 때문에 웹브라우저와 MS 오피스와 같은 업무용 프로그램의 업데이트를 최신으로 유지 해야 합니다. 그리고 의심되는 이메일에 포함된 첨부 파일은 열어보지 않는 습관을 들이는 것이 좋습니다.


※ 관련 내용은 알약 보안동향보고서 1월호에서도 확인하실 수 있습니다. 

관련글 더보기

댓글 영역