본 게시물은 Warren Mercer, Paul Rascagneres의 글, Jungsoo (Jason) An의 기여를 통해 작성되었습니다.
Executive Summary
올해 초 Talos는 한국 내 위협과 관련된 2개의 기사를 게재했습니다. 첫 번째 기사 내용은 다수의 손상된 웹사이트의
악성 페이로드를 받는 데 사용되는 다운로더를 드롭한 악성 HWP 문서의 사용에 관한 것이었습니다.
손상된 웹사이트 중에는 정부 웹사이트도 있었습니다. 우리는 이 사건에 "사악한 새해(Evil New Years)"라는 이름을
붙였습니다. 두 번째 기사는 ROKRAT 악성코드의 분석과 발견에 관한 것이었습니다.
이번 달에 Talos는 새로운 ROKRAT 버전을 발견했습니다. 이 버전에는 이전의 두 기사를 연결하는 기술적 요소가
포함되어 있습니다. 이 새로운 샘플에는 올해 초의 2개 간행물의 코드가 포함되어 있습니다.
-
- 사용된 동일한 정찰 코드를 포함하고 있습니다.
-
- "사악한 새해(Evil New Years)" 샘플이 사용한 유사한 PDB 패턴이 발견되었습니다.
-
- ROKRAT이 사용한 동일한 클라우드 기능 및 유사한 복사-붙여넣기 방법을 포함합니다.
-
- 클라우드 플랫폼을 C&C로 사용하지만 완전히 동일하지는 않습니다. 이 버전은 pcloud,
box, dropbox, yandex를 이용합니다.
우리는 또한 ROKRAT의 새로운 버전이 FreeMilk 캠페인에서 사용되는 다운로더인 Freenki와 코드를 공유한다는
사실도 알게 되었습니다.
해당 캠페인은 예상대로 악성 HWP 문서와 함께 시작했습니다. 이 문서는 북한 인권 및 한반도 통일을 위한 "시민" 연대를
대표한다는 한 변호사가 작성했다고 주장하면서, 11월 1일 서울에서 개최된 이 단체의 회의를 언급합니다.
이와 같은 악의적인 내용으로 보아, 이 문서는 읽는 이가 북한의 상황에 관심을 가지도록 만든다는 점을 추측할 수 있습니다.
이 악성 문서는 새로운 ROKRAT 버전을 드롭하고 실행합니다.
HWP 악성 문서
이전 ROKRAT 캠페인에서 우리는 이 악성코드와 함께 사용되는 감염 벡터가 악성 HWP 문서임을 설명한 바 있습니다.
HWP 파일은 한글과컴퓨터에서 개발하였으며, 한국인에게는 Microsoft Office의 대체 소프트웨어라 할 수 있는 한글 워드
프로세서를 이용해 생성됩니다. 여기 해당 악성 문서의 스크린샷이 있습니다.
이 악성 문서에서는 "북한 인권 및 통일 커뮤니티"가 언급되어 있습니다. 우리는 먼저 그의 2017년 11월 중 캠페인을 관찰했습니다. 문서는 '올인통 (올바른북한인권법과통일을위한시민모임)'으로 알려진 커뮤니티를 대표해온 변호사가 작성한 것이라고
주장하고 있었습니다.
해당 문서의 목적은 2016년 한국에서 통과된 '북한 인권법'과 '법 제정'과 관련된 항목을 논의하기 위한 회의를 주선하는 것입니다.
회의 날짜(2017년 11월 1일)를 고려하면, 이 유인용 문서가 2017년 11월 전에 사람들이 활동에 보다 관심을 갖게 할 수 있는
아이디어나 방법을 논의하도록 참여 요청을 가장하는 방식으로 '올인통' 커뮤니티의 이해관계자에게 전달되었을 것으로 추측할 수 있습니다.
HWP 파일에는 BIN0001.OLE라는 OLE 개체가 포함되어 있습니다. 추출 후 압축을 해제(zlib)하면 다음과 같은 스크립트를
얻을 수 있습니다:
목적은 base64 알고리즘을 사용하여 strEncode 변수의 콘텐츠를 디코딩하는 것입니다. 디코딩된 데이터는 c:\ProgramData\HncModuleUpdate.exe 파일에 저장되고 실행됩니다. 이 바이너리는 ROKRAT 드로퍼입니다.
특정 파일 이름 'HncModuleUpdate'을 보면 사용자가 정상적인 한글과컴퓨터 소프트웨어인 것처럼 속을 수 있습니다.
1 단계: 드로퍼
드로퍼의 목적은 SBS 라는 이름의 리소스를 추출하는 것입니다. 이 리소스는 악성 쉘코드를 포함합니다.
또한 드로퍼는 새로운 cmd.exe 프로세스를 실행하고 추출된 리소스를 인젝션하여 실행합니다.
코드 인젝션 VirtualAlloc(), WriteProcessMemory() 및 CreateRemoteThread() Api에 의해 수행됩니다.
일단 실행되고 나면 쉘코드는 PE 파일을 디코딩하고, 그것을 cmd.exe의 메모리에 로드한 후 최종적으로 해당 파일을 실행합니다.
이 페이로드는 ROKRAT의 새로운 변종입니다.
또한, 분석된 드로퍼 중 하나는 사용자에게 아래와 같은 사진을 표시합니다.
사진에 있는 사람들은 한국 전쟁과 "독립운동" 기간 중의 독립운동과 관련된 사람들입니다. 왼쪽 상단의 이미지는 출처가 위키백과입니다. 왼쪽 중간에 있는 그림은 이 블로그에서 가져온 것입니다. 그리고 하단 왼쪽 이미지는 이 뉴스 웹사이트가 그 출처입니다. 유인용 이미지는 여러 장의 공개 이미지인 것으로 보입니다.
2 단계: ROKRAT
"사악한 새해(Evil New Years)" MalDoc과의 유사성
ROKRAT의 변종에는 "사악한 새해(Evil New Years)" 다운로더와 유사한 코드가 포함되어 있습니다. 정찰 단계 동안 수집된 정보는 비슷합니다. 이 악성코드는 컴퓨터 종류를 확인하기 위해 다음의 레지스트리 키를 사용합니다: HKLM\System\CurrentControlSet\Services\mssmbios\Data\SMBiosData. "System Manufacturer(시스템 제조사)" 값은 컴퓨터의 유형을 식별하는 데 사용됩니다. 다음은 "사악한 새해" 다운로더의 그래프 흐름입니다:
ROKRAT 변종의 그래프 흐름:
그래프 흐름은 99% 유사합니다. 또한, 컴퓨터 종류는 다음과 같은 문자열로 표기합니다:
누락된 값은 포럼 게시물에서도 생략되어 있습니다.
또 다른 유사성은 PDB 경로입니다. "사악한 새해" 샘플은 다음 PDB의 경로를 포함했습니다:
- e:\Happy\Work\Source\version 12\T+M\Result\DocPrint.pdb
이 새로운 ROKRAT는 다음 PDB를 포함하고 있습니다:
- d:\HighSchool\version 13\2ndBD\T+M\T+M\Result\DocPrint.pdb
따라서 이 둘의 패턴이 유사함을 뚜렷하게 확인할 수 있습니다.
안티 샌드박스
이 ROKRAT 변종은 안티 샌드박스 트릭을 포함합니다. 이것은 다음의 라이브러리 로드를 확인하여 수행됩니다.
-
- SbieDll.dll (sandboxie 라이브러리)
-
- Dbghelp.dll (Microsoft 디버깅 도구)
-
- Api_log.dll (threatAnalyzer / GFI SandBox)
-
- Dir_watch.dll (threatAnalyzer / GFI SandBox)
안티 디버그
이 ROKRAT 버전은 안티 디버그 트릭을 포함합니다. 예를 들자면 다음 NOP 기술이 사용됩니다:
nop dword ptr [eax + eax + 00 h] 는 5 바이트 NOP: 0x0F1F440000입니다. 그러나 이 opcode는 Immunity Debugger에 의해 올바르게 지원되지 않으며, 어셈블리는 스크린샷의 빨간색 "???"로 대체되어 있습니다:
스크린샷 특징
두 개의 ROKRAT 버전 스크린샷을 수행했습니다. 흥미롭게도 두 버전 간에 유사성이 발견되었는데, 특히 저장된 스크린샷의 파일명에서 이러한 점을 확인할 수 있습니다. 다음은 4월 ROKRAT 버전입니다:
그리고 11월 버전의 코드는 다음과 같습니다:
패턴은 다음과 같이 정확하게 일치합니다: %s%04X%04X.tmp. 두 개의 %04X는 임의의 값이며, %s는 임시 경로(GetTempPath()으로 확보)를 포함하고 있습니다. 두 샘플 모두에서 문자열 길이는 0x12C (300)입니다. 이 부분은 틀림없이
복사-붙여넣기를 수행한 것입니다.
브라우저 비밀번호 스틸러
분석된 11 월 ROKRAT 샘플 중 하나는 브라우저 정보를 훔치는 기능을 포함하고 있습니다. 악성 코드는 Internet Explorer, Chrome, Firefox에서 저장된 암호를 추출할 수 있습니다. Chrome, Firefox의 경우, 악성 코드는 URL, 사용자 이름 및 비밀번호를 포함하는 sqlite 데이터베이스를 쿼리합니다:
또한, ROKRAT는 Microsoft Vault 메커니즘을 지원합니다. Vault는 Windows 7에서 구현되었으며, Internet explorer의
모든 민감한 데이터(자격 증명)를 포함합니다. 이것은 Vault API의 초기화입니다:
ROKRAT 구현은 다음 프로젝트에 상당 부분 기초하고 있습니다. 이것은 이전 샘플/버전과 비교할 때 ROKRAT에 대한
전술 변화가 있음을 보여줍니다. 이번의 이 악성코드는 추가적인 침해에 사용될 수 있는 정보뿐만 아니라 잠재적인
개인 계정에 대한 정보까지 대상으로 하고 있다고 볼 수 있습니다. 또한 ROKRAT 공격자가 사용하는 방법은 악성 코드가
전체 SQLite 라이브러리를 자체 실행 가능 파일에 내장하여 Firefox 및 Google Chrome에 사용되는 SQLite 브라우징 시
도를 허용한다는 점에서 다른 일반적인 경우와 차별화됩니다.
조사 과정에서, 브라우저 비밀번호 스틸러 코드가 FreeMilk 캠페인 중 사용된 코드와 완전히 동일하다는 사실이 드러났습니다. 이미 FreeMilk와 ROKRAT 간의 C2 인프라 중복이 확인되었으며, 2개의 샘플 간에 일부 코드 중복이 있다는 사실도
확인할 수 있습니다:
왼쪽은 ROKRAT 샘플이고 오른쪽은 FreeMilk 샘플입니다. 코드 외에도 "IE Registery"와 같은 영어 오타까지
복사-붙여넣기한 것을 볼 수 있습니다.
C&C로 사용되는 클라우드 플랫폼
마지막으로, 이 ROKRAT 버전은 우리의 이전 분석과 정확하게 일치하는 방식으로 클라우드 플랫폼을 사용합니다.
이번에는 소셜 네트워크 플랫폼이 아닌, 다른 클라우드 제공업체가 사용되었습니다.
결론
이 캠페인은 ROKRAT 배후 공격 조직이 여전히 활동하고 있음을 보여줍니다. PDB 정보를 기반으로 추정해 보면 이 악성 코드는
13번째 버전일 수 있습니다. 이 공격 조직은 적법한 클라우드 플랫폼만을 이용하도록 결정을 내렸지만 마지막 실현 단계에서 일부를 변경했습니다. 이는 공격자의 관점에서 볼 때 흥미로운 선택이라 할 수 있습니다. 네트워크 플로우는 HTTPS와 함께 기본으로 암호화되고 악성 플로우는 합법적인 트래픽 중간에 섞여 있어 찾기 어렵기 때문입니다. 이 공격 조직은 이미 인터넷에서 구할 수 있는 코드를 사용하는 것을 선호한다는 사실도 확인할 수 있었습니다. 이러한 코드는 이 게시물 전체에서 언급된 다양한 저장소,
즉 GitHub, Code Project 및 기타 공개 포럼에 존재하는 것입니다.
소스 코드 복사-붙여넣기 기법을 볼 때, 우리는 ROKRAT의 공격 조직은 FreeMilk 스피어 피싱 캠페인 배후에 있거나 또는 그 배후자들과 협력하고 있음을 확신할 수 있습니다. ROKRAT이 FreeMilk 캠페인에 사용된 Freenki 다운로더와 코드를 공유한다는 점을 고려하면 이러한 추측은 더욱 신빙성이 높습니다.
또한 이 공격 조직은 동일한 패턴의 대상에 항상 관심이 있으며, 유인용 문서는 남북한의 지정학적 상황과 관련된 특정 요소를 언급하고 있습니다. 문서는 전반적으로 통일부 또는 북한 주민의 상황에 대해 언급합니다.
이러한 내용에는 실제로 존재하는 특정 회의 또는 컨퍼런스가 포함되는 경우가 많아서, 한국 및 북한에서 진행되는 이벤트에 대한 높은 지식을 보유하고 있음을 보여주고 있습니다.
커버리지
고객이 이 위협을 탐지 및 차단할 수 있는 또 다른 방법은 다음과 같습니다.
Advanced Malware Protection(AMP)은 이러한 위협 행위자가 사용하는 악성 코드의 실행을 차단하는데 가장 적합합니다.
CWS 또는 WSA 웹 스캐닝은 악성 웹사이트로 접근하는 것을 방지하고 이러한 공격에 사용되는 악성 코드를 탐지합니다.
Email Security는 위협 행위자가 캠페인의 일환으로 전송하는 악성 이메일을 차단할 수 있습니다.
NGFW, NGIPS, Meraki MX와 같은 네트워크 보안 어플라이언스는 이러한 위협과 연결된 악성 활동을 탐지할 수 있습니다.
AMP Threat Grid는 악성 바이너리 파일을 확인하고 모든 Cisco 보안 제품 내에 보호 기능을 구축하게 해 줍니다.
Umbrella는 Cisco의 보안 인터넷 게이트웨이(SIG)로, 사용자가 기업 네트워크에 연결되어 있는지 여부에 상관없이 악성 도메인, IP, URL에 연결되는 것을 차단합니다.
오픈소스 Snort 구독자 규칙 세트 고객은 Snort.org에서 구매한 제품을 위한 최신 규칙 팩을 다운로드하여 제품을 최신으로 유지할 수 있습니다.
IOC
경로: c:\ProgramData\HncModuleUpdate.exe
MalDoc: 171e26822421f7ed2e34cc092eaeba8a504b5d576c7fd54aa6975c2e2db0f824
Dropper #1: a29b07a6fe5d7ce3147dd7ef1d7d18df16e347f37282c43139d53cce25ae7037
Dropper #2: eb6d25e08b2b32a736b57f8df22db6d03dc82f16da554f4e8bb67120eacb1d14
Dropper #3: 9b383ebc1c592d5556fec9d513223d4f99a5061591671db560faf742dd68493f
ROKRAT: b3de3f9309b2f320738772353eb724a0782a1fc2c912483c036c303389307e2e
Freenki: 99c1b4887d96cb94f32b280c1039b3a7e39ad996859ffa6dd011cf3cca4f1ba5
이번 포스팅은 시스코 탈로스 팀에서 작성한 ROKRAT Reloaded를 바탕으로 준비되었습니다.
'디지털 세상 > 보안' 카테고리의 다른 글
사이버위협 진화에 맞서 발전하는 지능형 보안관제서비스 (0) | 2017.12.05 |
---|---|
진화하는 사이버공격, 혼자서는 안되겠다…보안 업계 공조 바람 (0) | 2017.11.30 |
온라인서 맞이하는 블랙프라이데이...보안은? (0) | 2017.11.22 |
랜섬웨어 철통방어 불가능하다는데… 탐지와 대응까지 모두 챙겨야 (0) | 2017.11.06 |
[Cisco Talos 보안 업데이트] Bad Rabbit 악성코드 (0) | 2017.10.27 |