Thursday, March 21, 2013

맥아피 블로그에 이번 공격을 분석한 내용이 나왔다. 오역/의역했다.
http://blogs.mcafee.com/mcafee-labs/south-korean-banks-media-companies-targeted-by-destructive-malware

...(전략)...

이 맬웨어는 하드디스크의 마스터부트레코드(master boot records, MBR)를 지우고 PRINCPES, PR!NCPES, HASTATI 중 한 가지 문자열로 덮어썼다.

또한 파일시스템의 임의의 일부를 같은 문자열로 덮어씀으로써, 일부 파일을 복구불능으로 만들었다. 따라서 MBR을 복구하더라도 이들 파일은 손상되어 있을 것이다.
그 후, 시스템은 다음 명령에 의해 강제 재부팅된다:
    shutdown -r -t 0
그 결과 컴퓨터는 부팅이 불가능하게 된다. MBR이 손상됐기 때문이다.
게다가 MBR에 덮어쓰기 이전에, 이 맬웨어는 안랩과 하우리의 안티바이러스 제품의 메인 프로세스를 죽이기를 시도한다:
    taskkill /F /IM pasvc.exe
    taskkill /F /IM Clisvc.exe
이 맬웨어는 네트워크 통신과 관계된 어떤 함수도 포함하고 있지 않으며, 우리(McAfee)는 이것이 원격 호스트와 통신할 수 있다는 어떤 조짐도 찾을 수 없었다.
이것은 또한, dropping file이나 레지스트리 키 교체 같은, 다른 변화를 전혀 일으키지 않는다. 이 공격의 목표는 단지 대상 컴퓨터를 사용 불능으로 만드는 것으로 보인다.
이번 공격의 original dropper로 보이는 드로퍼가 발견되었다. 이 파일은 418KB 크기이고, UPX 압축돼 있고, 해시는 다음과 같다:
    9263E40D9823AECF9388B64DE34EAE54
이 드로퍼(dropper)는 MBR 파괴 모듈을 %TEMP% 폴더 안에 AgentBase.exe라는 이름으로 드롭한 후 실행한다.
이것은 다른 두 개의 깨끗한 파일도 %TEMP%에 드롭하는데 Putty SSH client와 Putty SCP client이다. 그리고 파일시스템에서 두 SSH 클라이언트의 설정 파일들을 찾는다:
    Felix Deimel’s mRemote: %sAppData\Local\Felix_Deimel\mRemote\confCons.xml
    VanDyke’s Secure CRT: %sAppData\Roaming\VanDyke\Config\Sessions
이 맬웨어가 설정 파일을 찾으면, 원격 시스템에서 “root” 유저 엔트리를 찾고, 연결 정보를 추출한 후, Putty client를 이용하여 시스템 연결이 가능한지 확인한다:
    %s -batch -P %s -l %s -pw %s %s %s:/tmp/cups
    %s -batch -P %s -l %s -pw %s %s “chmod 755 /tmp/cups;/tmp/cups”
그 후 이 맬웨어는 또다른 파일인 "pr1.tmp"를 %TEMP% 폴더에 드롭하는데, 이것은 BASH 셸 스크립트로서 파티션 삭제를 시도하는데 Linux, HP-UX, SunOS의 3가지 유닉스 버전을 목표로 한다.
이 스크립트는 시스템을 확인하여 각 OS에 맞는 함수를 호출, 디스크 파티션들에 덮어쓰기를 시도한다. 명령이 실행될 수 없는 경우, 다음 폴더들의 삭제를 시도한다:
    /kernel/
    /usr/
    /etc/
    /home/
McAfee Labs는 이 공격과 관련된 다음 해시들을 확인할 수 있었다:
Wiper module
    DB4BBDC36A78A8807AD9B15A562515C4  ApcRunCmd.exe
    F0E045210E3258DAD91D7B6B4D64E7F3  ApcRunCmd.exe
    0A8032CD6B4A710B1771A080FA09FB87  mb_join.exe
    5FCD6E1DACE6B0599429D913850F0364  OthDown.exe
Dropper
    9263E40D9823AECF9388B64DE34EAE54  APCRunCmd.DRP
Unix Shell Script
    DC789DEE20087C5E1552804492B042CD  pr1.tmp

우리의 샘플 데이터베이스에서 관련 파일들을 찾아 본 결과, 기본 구조가 같은 두 개의 샘플을 확인했으나, 이들은 MBR을 파괴하는 능력이 없었다:

  • E4F66C3CD27B97649976F6F0DAAD9032 E4F66C3CD27B97649976F6F0DAAD9032.bin
  • 50E03200C3A0BECBF33B3788DAC8CD46  jar_cache1221312510715123682.tmp

이들 샘플은 야생에서(in the wild) 2012년 8월과 10월에 발견됐다. 이들은 MBR 삭제 맬웨어와 같은 basic stub을 공유하지만, 단순 다운로더일 뿐이며 안티바이러스 프로세스를 죽이는 명령을 포함하지 않는다. 이들은 실행 후에 자신을 삭제하는 MS-DOS 명령만 가지고 있다.
우리의 분석에 따르면 이들 샘플은 공격에 관련된 것은 아니나, MBR 삭제 코드를 생성하기 위해 임의의 함수를 실행하도록 개조될 수 있는, '템플릿 Trojan'으로 공격자가 사용했을 수 있다.
...(후략)...


  1. the wild를 뭐라고 번역해야 할까 ㅋ
  2. Putty가 명품이여.
  3. 공용 컴퓨터에 {개인 용도로 쓰다가} {USB 꽂고/ActiveX 깔고} Trojan 옮기지 좀 마
  4. MSE나 쓰라구








1 comment:

  1. 우연찮게 잘 보고 갑니다. in the wild를 번역할 때 참 애매모해요. 야생? 서핑? 인터넷질? 돌아다니다가? 흠..

    ReplyDelete

창 핸들을 만드는 동안 오류가 발생했습니다

System.ComponentModel.Win32Exception was unhandled   MyForm w = new MyForm IntPtr handle = wnd.Handle;   // Exception occurs here class MyFo...