안녕하세요. 이스트시큐리티입니다.
최근 GlobeImposter 랜섬웨어의 유포가 빈번하게 발생하고 있습니다. 주로 스팸 메일을 통해 유입되는 것으로 보이며, 다양한 변종들이 지속적으로 등장하고 있습니다. 그 중에서도 암호화된 파일의 확장자를 .707으로 변경시키는 악성코드에 대해 상세 분석을 진행하고자 합니다.
악성코드 상세 분석
프로세스 전체 흐름도
다음은 GlobeImposter 랜섬웨어가 동작하는 방식에 대한 전체적인 흐름도입니다. 생성된 뮤텍스의 존재 여부에 따라 동작이 구분됩니다.
[그림 1] GlobeImposter 랜섬웨어 프로세스 전체 흐름도
Image Hijacking
본 악성코드의 악성행위는 child process를 생성하여 Image Hijacking 후에 진행됩니다. Image Hijacking을 시도 하기 이전에 우선 OS의 버전을 체크하고 버전에 맞는 인젝션을 시도합니다. 버전을 체크하는 코드는 다음과 같습니다.
[그림 2] OS버전 확인 코드
확인된 OS버전에 따라 다른 뮤텍스 생성과 인젝션 코드를 실행합니다. 다음은 인젝션 코드의 일부입니다.
[그림 3] 인젝션 코드의 일부
자가복제 및 자동실행 등록
랜섬웨어 실행 중 부팅으로 인한 암호화 실패를 막기 위해 자가 복제 및 레지스트리를 이용하여 자동실행 등록을 합니다. 자가복제 되는 파일은 ‘%appdata%\Microsoft\SystemCertificates\My\Certificates’ 하위 경로에 생성되며 레지스트리 ‘Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce’의‘CertificatesCheck’로 등록되어 자동실행 되도록 설정합니다. 다음은 자가복제 및 자동실행 코드입니다.
[그림 4] 자가복제 및 자동실행 등록코드
파일 암호화
공격자는 현재 사용자가 접근 중인 파일들도 암호화하기 위하여 문서작업, 메일, 데이터베이스와 관련된 특정 프로세스들을 검색한 뒤 종료합니다. 프로세스 검색 및 종료코드는 다음과 같습니다.
[그림 5] 프로세스 검색 및 종료코드
검색 및 종료 대상 프로세스는 다음과 같습니다.
"sql", "outlook", "ssms", "postgre", "1c", "excel", "word"
[표 1] 종료 대상 프로세스 목록
이번 GlobeImposter 랜섬웨어에서 발견된 특징은 암호화 대상의 확장자가 존재하지 않고 모든 파일을 대상으로 암호화 시킨다는 점입니다. 하지만 암호화 대상 확장자를 비교하지 않는 대신 파일 경로에 다음과 같은 문자열이 포함되어 있다면 암호화 대상에서 제외시킵니다. 다음은 제외 문자열 목록입니다.
"windows" "Microsoft" "MicrosoftHelp" "WindowsAppCertificationKit" "WindowsDefender" "ESET" "COMODO" "WindowsNT" "WindowsKits" "WindowsMail" "WindowsMediaPlayer" "WindowsMultimediaPlatform" "WindowsPhoneKits" "WindowsPhoneSilverlightKits" "WindowsPhotoViewer" |
"WindowsPortableDevices" "WindowsSidebar" "WindowsPowerShell" "Temp" "NVIDIACorporation" "Microsoft.NET" "InternetExplorer" "KasperskyLab" "McAfee" "Avira" "spytechsoftware" "sysconfig" "Avast" "Dr.Web" "Symantec" |
"Symantec_Client_Security" "systemvolumeinformation" "AVG" "MicrosoftShared" "CommonFiles" "OutlookExpress" "MovieMaker" "Chrome" "MozillaFirefox" "Opera" "YandexBrowser" "ntldr" "wsus" "Wsus" "ProgramData" |
[표 2] 암호화 제외 문자열 목록
암호화 대상일 경우 다음 코드를 통하여 파일을 암호화를 진행합니다. 암호화된 파일은 확장자 ‘.707’이 새롭게 추가됩니다. 암호화된 파일의 구조는 0x2000바이트씩 번갈아 가며 암호화 데이터와 기존데이터로 구성되며 암호화된 키 값이 추가됩니다. 다음은 파일 암호화 코드의 일부입니다.
[그림 6] 파일 암호화 코드의 일부
결제유도와 복호화
암호화가 진행된 폴더의 경우, 각 폴더에 복호화를 위한 결제안내의 랜섬노트를 드롭합니다. 생성된 파일은 “로컬의 파일들은 암호화가 되었고 이를 복호화하기 위해서는 결제가 필요하다”라는 내용으로 안내하며 결제를 유도합니다. 다음은 드롭된 랜섬노트 화면입니다.
[그림 7] 랜섬노트 화면
또한 공격자는 사용자의 결제 동기 부여를 위해 1개의 파일을 복호화를 시켜줍니다. 복호화는 ‘https://supp7.freshdesk.com/support/tickets/new’로부터 이루어집니다. 복호화 제공 사이트의 화면은 다음과 같습니다.
[그림 8] 복호화 제공 사이트
실제로 해당 사이트를 통해 공격자에게 암호화된 데이터를 전달하면, 다음과 같이 복호화가 이루어진 데이터를 전달받게 됩니다.
암호화된 데이터 |
복호화된 데이터 |
|
|
[표 3] 암 · 복호화된 데이터 비교
볼륨섀도우 삭제와 원격지원 무력화 및 로그삭제
GlobeImposter 랜섬웨어는 사용자의 파일복원을 방지하기 위해 볼륨섀도우를 카피본을 삭제합니다. 또한 원활한 감염을 위해 원격지원과 관련된 레지스트리를 삭제하여 무력화시키고 해당 로그를 삭제합니다. 다음은 볼륨섀도우 삭제 및 원격 지원관련 삭제 코드입니다.
[그림 9] 볼륨섀도우 삭제 및 원격지원 레지스트리 삭제코드
결론
이번에 알아본 GlobeImposter 랜섬웨어는 사용자의 중요파일을 암호화한 뒤 데이터 복호화의 대가로 비트코인 결제를 요구하는 악성코드입니다. 이 악성코드에 감염되면 특정 경로의 파일들을 제외하고 확장자에 관계없이 모두 암호화시킵니다. 또한 완벽한 암호화를 위해 현재 작성 중인 문서까지 타겟으로 하는 치밀함까지 보였습니다.
본 보고서에서 다루는 GlobeImposter 랜섬웨어 외에도 암호화된 파일의 확장자를 ‘.707’이 아닌 다양한 문자열로 변경시키는 다수의 변종들이 유포되고 있습니다.
따라서 지속적으로 변종이 등장하고 있는 만큼 사용자는 주기적으로 중요 파일을 백업하는 습관을 들여야 하며, 패치 누락으로 인한 취약점이 발생하지 않도록 OS와 소프트웨어는 최신 버전의 업데이트를 유지해야 합니다. 메일로 첨부되는 파일에 대해서는 실행 시 주의해야 하고 백신을 최신 업데이트 상태로 유지하며 주기적인 검사를 실시하여 감염을 예방해야 합니다.
[주의] 한국에서 제작된 것으로 추정되는 Blacklistcp 랜섬웨어 등장 (19) | 2017.11.13 |
---|---|
[주의] MS Word 매크로 기법이 아닌 DDE 방식을 이용한 랜섬웨어 감염 기법 (0) | 2017.10.31 |
러시아, 우크라이나 등 일부 국가를 대상으로 유포된 Bad Rabbit 랜섬웨어 주의 (4) | 2017.10.25 |
한국을 겨냥한 MyRansom 랜섬웨어 유포 주의 (6) | 2017.10.19 |
확장자를 asasin으로 변경하는 Locky 랜섬웨어 변종 주의 (4) | 2017.10.11 |
댓글 영역