보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

SamSam Ransomware

2018.05.02

16,530

서비스사업본부 보안분석팀 김유진


1. 개요

지난 3월, 미국 남동부 최대 도시 Atlanta의 내부 시스템이 공격받아 도시 업무가 마비되는 사태가 발생했다.감염된 악성코드는 SamSam 랜섬웨어로 병원 및 헬스케어 업체, 관공서 및 교육 기관 등과 기타 산업체까지 피해가 확대되고 있다.

SamSam 랜섬웨어가 처음 등장했을 때는 JBOSS의 알려진 취약점(CVE-2010-0738)을 이용하여 패치가 진행되지 않은 서버를 공략했으며, 최근에는 취약한 RDP(Remote Desktop Protocol) 계정 및 SMB 프로토콜을 통한 침투까지 이어지고 있다.

따라서 이번 호에서는 SamSam 랜섬웨어의 침투 방식과 동작 방식, 그리고 대응방안에 대해 알아 보고자 한다. 


[그림 1] SamSam 랜섬웨어 피해 (출처:데일리시큐)


2. SamSam 랜섬웨어

먼저, 2016년에 처음 발견됐지만 최근까지 이슈가 되고 있는 SamSam 랜섬웨어의 주요 활동 사항과 기존의 다른 랜섬웨어와 무엇이 다른지 알아보자. 


1) SamSam 랜섬웨어 주요 활동 사항

SamSam 랜섬웨어의 발견부터 어떤 공격을 감행해 왔는지의 활동 내역은 아래 표와 같다.

날짜

내용

2018.03

Atlanta 시 정부 컴퓨터 네트워크가 감염되어 전산망 마비

메밀랜드볼티모어 시도 랜섬웨어로 알려진 사이버 공격을 받음

2018.01

병원, 시 의회, 교육기관 및 교통 시스템이 랜섬웨어 감염되어 비트코인 지불

2016.04

의료기관과 건강관리 기업을 타깃으로 Jboss 오픈소스 프레임워크 REGeorg
취약점을 악용하여 침투

2016.03

취약한 JBOSS 서버를 대상으로 jexboss 도구를 이용한 랜섬웨어 유포 시작

헬스케어 업체를 주요 표적으로 활동


[표 1] SamSam 랜섬웨어 동작 방식  


2) 기존 랜섬웨어와의 차이점

SamSam 랜섬웨어는 특정 시스템 서버의 취약점을 수동으로 공격하며, 다른 멀웨어 캠페인과 비교해 볼 때 공격 과정에서 알려진 공격 도구 및 소스코드를 상대적으로 많이 활용하고 있다

그 동안의 랜섬웨어

SamSam 랜섬웨어

불특정 다수를 겨냥하여 무작위 공격

드라이브 바이 다운로드(Drive-by-Download)

악성 스팸메일

명령제어(C&C) 서버에 접속 RSA 페어 생성

패치가 되지 않은 서버 탐색

특정 타깃을 겨냥하여 표적 공격 형태

Rsa 페어를 스스로 생성하여 공개키를 랜섬웨어와 같이 업로드

알려진 공격 도구 및 소스코드 활용


[표 2] SamSam 랜섬웨어 차이점


3) SamSam 랜섬웨어 특징

SamSam 랜섬웨어가 처음 등장했을 때는 JBOSS의 알려진 취약점(CVE-2010-0738)을 이용하여 패치가 진행되지 않은 서버를 공격했으며, 최근에는 취약한 RDP 계정 및 SMB 프로토콜 등 특정 시스템 서버의 취약점을 노려 공격을 수행한다. 또한 .NET을 이용하여 랜섬웨어가 제작된 것으로 알려졌다.

SamSam 랜섬웨어 특징

서버의 취약점을 노리며 특정 시스템을 노려 수동 공격 진행
알려진 공격 도구 및 소스코드를 많이 활용
.NET을 이용하여 랜섬웨어가 제작됨

[표 3] SamSam 랜섬웨어 특징


3. SamSam 랜섬웨어 동작 방식

SamSam 랜섬웨어의 동작방식을 간단하게 설명하자면, 먼저 서버의 취약점을 노려 특정 시스템에 대해 수동으로 공격을 시도한다. 만약 취약한 서버에 접근이 성공했다면, Backdoor 및 webshell을 설치해 악성 프로 그램을 실행시키도록 하고 여러 프로그램들을 활용해 피해 서버와 연결된 시스템, 소프트웨어 등에 공격자가 제작한 코드로 랜섬웨어를 전파한다.


[그림 2] SamSam 랜섬웨어 동작 방식


아래 표는 최근에 발견된 SamSam 랜섬웨어가 동작하면서 활용되고 있는 프로그램에 대한 정보이다.

프로그램명

설명

프로그램명

설명

SamSam

.NET 바이너리로 del.exeselfdel.exe로 이루어져 있음, 파일 암호화 및 삭제 가능

csvde.exe

Active Directory 데이터 탈취에 이용

JexBoss

JBoss 취약점 스캐너

 

RDP 계정 탈취를 위해 이용

Mimikatz

Windows 계정 탈취 도구

xDedicRDPPatch

새로운 RDP 계정 생성에 이용

reGeorg

Reverse proxy shell 도구

Wmiexec

Windows Management Instrument
(WMI)
명령어 실행 프로그램

Hyena

네트워크 관리도구, 내부 스캐닝에 이용

RDPWrap

Windows 계정을 로컬과 원격에서
동시 로그인이 가능하게 함


[표 4] 활용되고 있는 프로그램


1) 침투

SamSam 랜섬웨어는 최근 psexec, wmiexec 등 원격 쉘 접근 기능을 공략하는 사례가 발견되었지만,대표적 으로 Jboss 취약점을 이용하여 취약한 시스템에 침투한다. 또한 RDP 계정을 Brute Forcing 공격으로 탈취 하여 서버에 접근한다.


[그림 3] Jboss 취약점 스캐너 Jexboss (출처 : 구글)


[그림 4] RDP Brute Force 도구 : NLBrute (출처 : 구글)


2) 실행

침투에 성공하면 공격자는 Backdoor 및 webshell을 설치하여 피해 시스템 내에서 임의의 명령을 실행할 수 있게 한다.


[그림 5] webshell (출처: Secureworks)


또한 공격자는 ‘자체 삭제’ 기능을 수행하기 위해 del.exe 또는 delfiletype.exe 및 selfdel.exe 등의 두 가지의 실행파일을 포함하고 있는 SamSam 이라는 프로그램을 실행한다.


[그림 6] SamSam 바이너리 (출처: Secureworks)


아래 그림은 selfdel.exe 파일의 코드인데, 이 파일은 samsam 랜섬웨어 프로세스를 삭제하도록 구성되어 있다. 


[그림 7] selfdel.exe 코드


3) 내부 전파

SamSam 랜섬웨어는 다른 시스템으로의 전파를 위해 피해 시스템 내에서 네트워크 관리 프로그램 “Hyena”를 이용해 내부 스캔을 진행한다. 이를 통해 연결된 시스템과 설치된 스프트웨어, 설정 등의 정보를 얻고, csvde.exe를 사용하여 계정을 탈취한다. 이러한 과정을 공격자는 .vbs파일 또는 배치 파일을 통해 작업한다. 


[그림 8] Hyena 네트워크 관리 도구 (출처 : Secureworks)


또한 공격자는 관리자 계정 액세스를 목표로 Mimikatz 도구를 이용하여 자격증명을 추출하게 되는데 이 때, PowerShell 명령을 사용해 온라인에 있는 Mimikatz를 호출하기도 한다. 이러한 방법을 통해 연결된 시스템에 동일하게 감염이 진행되게 한다. 


[그림 9] PowerShell


4) 암호화

예전의 SamSam 랜섬웨어 코드는 API DriverInfo.GetDrives()를 호출하여 컴퓨터에 연결되어 있는 SMB 드라이브, CD 드라이브, 이동식 드라이브 등 모든 드라이브 목록을 가져오고 암호화했다. 또한 드라이브를 통해 액세스 할 수 있는 데이터베이스 파일들도 함께 암호화 된다.

최근에 발견된 새 버전의 SamSam은 드라이브 문자를 하드코딩해 드라이브가 준비되었는지 확인한 후 블랙리스트에 없는 폴더 경로에서 대상 파일을 검색한다. 


[그림 10] 이전 버전에서 드라이브를 컴퓨터에 가져오기 위한 호출


암호화는 Rijndael 알고리즘을 통해 대칭키를 생성하고 대칭키는 RSA-2048 알고리즘을 이용해 Public 키를 생성하며 C2 서버로 전송된다. 파일을 암호화할 때에는 아래 그림과 같이 “Windows”, Microsoft 폴더에 있는 “Reference Assemblies”, “Recycle.Bin” 등 암호화 하는 파일을 제한하고 있다.


[그림 11] 특정 폴더에서 파일은 암호화하지 않도록 하는 코드


SamSam 랜섬웨어는 아래 표와 같은 약 300개의 대상 파일 확장명을 하드코딩하여 작은 파일에서 큰 파일의 순서대로 암호화 한다.


[표 5] 암호화 되는 확장자


이렇게 암호화된 데이터를 .encryptedRSA라는 확장명을 가진 새로운 파일에 작성하고 원본 파일과 랜섬웨어 바이너리 파일을 삭제한다. 그 후 시스템 동작에 필요한 최소한의 용량만 남기고 디스크의 Free space를 제거하여 복호화 시도를 차단하고 “HELP_DECRYPT_YOUR_FILES”라는 제목으로 랜섬노트를 생성한다.


[그림 12] SamSam 랜섬웨어 랜섬노트


4. 대응방안


SamSam 랜섬웨어 유포 그룹은 소프트웨어의 알려진 취약점을 이용해 서버에 접근 권한을 얻으므로 사용하는 소프트웨어의 버전 정보를 정기적으로 점검하여 알려진 취약점을 조치해야 한다. 또한 RDP 및 기타 원격 접속 가능한 프로토콜의 계정 비밀번호가 안전하게 설정되어 있는지 확인하여 Brute Force 공격을 예방한다.

프로그램명

설명

프로그램명

설명

SamSam

.NET 바이너리로 del.exeselfdel.exe로 이루어져 있음, 파일 암호화 및 삭제 가능

csvde.exe

Active Directory 데이터 탈취에 이용

JexBoss

JBoss 취약점 스캐너

 

RDP 계정 탈취를 위해 이용

Mimikatz

Windows 계정 탈취 도구

xDedicRDPPatch

새로운 RDP 계정 생성에 이용

reGeorg

Reverse proxy shell 도구

Wmiexec

Windows Management Instrument
(WMI)
명령어 실행 프로그램

Hyena

네트워크 관리도구, 내부 스캐닝에 이용

RDPWrap

Windows 계정을 로컬과 원격에서
동시 로그인이 가능하게 함


[표 6] 대응방안


1) 탐지 rule

설명

RULE

1

SamSam 랜섬웨어에 포함된 delfiletype.exe 로드 탐지

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS ( msg:"MALWARE-OTHER samsam delfiletype.exe file load attempt"; flow:to_server,establishedhttp_urimetadata:impact_flag red; service:httpclasstype:trojan-activity

2

samsam.exe
랜섬웨어 로드 탐지

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS ( msg:"MALWARE-OTHER samsam samsam.exe file load attempt"; flow:to_server,establishedhttp_urimetadata:impact_flag red; service:httpclasstype:trojan-activity

3

SamSam 랜섬웨어에 포함된 sqlsrvtmg1.exe 로드 탐지

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS ( msg:"MALWARE-OTHER samsam sqlsrvtmg1.exe file load attempt"; flow:to_server,establishedhttp_urimetadata:impact_flag red; service:httpclasstype:trojan-activity

4

SamSam 랜섬웨어에 포함된 delfiletype.exe 로드 탐지

alert tcp $HOME_NET any -> $HOME_NET [139,445] ( msg:"MALWARE-OTHER samsam delfiletype.exe file load attempt"; flow:to_server,establishedmetadata:impact_flag red; service:netbios-ssnclasstype:trojan-activity


[표 7] snort rule_01


설명

RULE

5

SamSam 랜섬웨어에 포함된 sqlsrvtmg1.exe 로드 탐지

alert tcp $HOME_NET any -> $HOME_NET [139,445] ( msg:"MALWARE-OTHER samsam sqlsrvtmg1.exe file load attempt"; flow:to_server,establishedmetadata:impact_flag red; service:netbios-ssnclasstype:trojan-activity

6

samsam.exe 랜섬웨어 로드 탐지

alert tcp $HOME_NET any -> $HOME_NET [139,445] ( msg:"MALWARE-OTHER samsam samsam.exe file load attempt"; flow:to_server,establishedmetadata:impact_flag red; service:netbios-ssnclasstype:trojan-activity

7

SMB를 통한 SamSam 랜섬웨어 전파 탐지

alert tcp any any -> $HOME_NET 445 ( msg:"MALWARE-OTHER Win.Ransomware.Samsam propagation via SMB transfer attempt"; flow:to_server,establishedmetadata:impact_flag red,policy balanced-ips drop,policy security-ips drop; service:netbios-ssnreference:url,www.virustotal.com/en/file/8eabfa74d88e439cfca9ccabd0ee34422892d8e58331a63bea94a7c4140cf7ab/analysis/; classtype:trojan-activity

8

SMB2를 통한 SamSam 랜섬웨어 전파 탐지

alert tcp any any -> $HOME_NET 445 ( msg:"MALWARE-OTHER Win.Ransomware.Samsam propagation via SMB2 transfer attempt"; flow:to_server,establishedFE|SMB",depth 4,offset 4; content:"|05 00|",within 2,distance 8; content:".|00|s|00|t|00|u|00|b|00|b|00|i|00|n|00|",fast_pattern,nocase; metadata:impact_flag red,policy balanced-ips drop,policy security-ips drop; service:netbios-ssnreference:url,www.virustotal.com/en/file/8eabfa74d88e439cfca9ccabd0ee34422892d8e58331a63bea94a7c4140cf7ab/analysis/; classtype:trojan-activity

9

SamSam 랜섬웨어
업로드 탐지

alert tcp any any -> $HOME_NET 445 ( msg:"MALWARE-OTHER Win.Ransomware.Samsam upload attempt"; flow:to_server,establishedmetadata:impact_flag red,policy balanced-ips drop,policy security-ips drop; service:netbios-ssnreference:url,www.virustotal.com/en/file/8eabfa74d88e439cfca9ccabd0ee34422892d8e58331a63bea94a7c4140cf7ab/analysis/; classtype:trojan-activity


[표 8] snort rule_02


2) IOC 정보


1HASH (SHA-256)

URL

1

426142a23d356f105dfdfa27e9855d3ee47fe7149a502e9eb3cde1f368025fee

fxn5ao5mmaktpsug.onion

2

9b62a5d1712a987b6b01afd3d24c401a00317519a6e6951f576d3993512598f2

fxn5ao5mmaktpsug.onion.to

3

f82e90c02b05f86cd720f7f15667356a7e997c5cf13a1d6f6492db0c5ffbe6a2

fxn5ao5mmaktpsug.onion.to/19732remarkably84561/

4

ffa28db79daca3b93a283ce2a6ff24791956a768cb5fc791c075b638416b51f4

fxn5ao5mmaktpsug.onion/19732remarkably84561/

5

022f80d65608a6af3eb500f4b60674d2c59b11322a3f87dcbb8582ce34c39b99

sqnhh67wiujb3q6x.onion

6

0785bb93fdb219ea8cb1673de1166bea839da8ba6d7312284d2a08bd41e38cb9

jcmi5n4c3mvgtyt5.onion

7

338fdf3626aa4a48a5972f291aacf3d6172dd920fe16ac4da4dd6c5b999d2f13

-

8

3531bb1077c64840b9c95c45d382448abffa4f386ad88e125c96a38166832252

-

9

4856f898cd27fd2fed1ea33b4d463a6ae89a9ccee49b134ea8b5492cb447fb75

-

10

516fb821ee6c19cf2873e637c21be7603e7a39720c7d6d71a8c19d8d717a2495

-

11

72832db9b951663b8f322778440b8720ea95cde0349a1d26477edd95b3915479

-

12

754fab056e0319408227ad07670b77dde2414597ff5e154856ecae5e14415e1a

-

13

88d24b497cfeb47ec6719752f2af00c802c38e7d4b5d526311d552c6d5f4ad34

-

14

88e344977bf6451e15fe202d65471a5f75d22370050fe6ba4dfa2c2d0fae7828

-

15

8eabfa74d88e439cfca9ccabd0ee34422892d8e58331a63bea94a7c4140cf7ab

-

16

8f803b66f6c6bc4da9211a2c4c4c5b46a113201ecaf056d35cad325ec4054656

-

17

dabc0f171b55f4aff88f32871374bf09da83668e1db2d2c18b0cd58ed04f0707

-

18

e7bebd1b1419f42293732c70095f35c8310fa3afee55f1df68d4fe6bbee5397e

-


[표 9] ioc 정보



5. 참고자료

[4] https://new.acalvio.com/technical-analysis-of-samsam-ransomware/