- 약 한달동안 최소 10개의 조직을 침해했다고 주장하며, 10,000달러라는 비교적 소액의 몸값을 요구
- 프로그래밍 언어로 "님(Nim)"을 사용
1.1 님(Nim)
- 범용 목적의 다중 패러다임의 정적 자료형, 컴파일 시스템 프로그래밍 언어
- 고차원적인 프로그래밍 언어로, 효율성이 높고 다양한 것을 구사할 수 있음
- 대중적이지 않고, 사용이 어렵지 않으며, 여러 플랫폼을 지원하는 장점으로 최근 멀웨어 개발자들이 적극 이용
> 님 기반으로 작성된 멀웨어에 대한 대응 방안이나 솔루션이 충분하지 않아 주의가 요구됨
> 새로운 언어를 익히는 것은 상대적으로 공격자보다 방어자가 더 어렵고 비용이 많이 듬
※ 공격자는 원하는 수준까지 익히지만, 방어자는 대응을위해 더 많은 영역을 알아야 함
2. 다크파워 (Dark Power)
- 다크파워를 비롯한 랜섬웨어의 유포 및 공격 방식은 다음과 같음
① 사회공학적기법 등으로 피해자에게 접근 ex) 피싱메일, 패치 되지않은 취약점
② 피해자 파일 다운로드 유도
③ 파일 다운 후 실행 시 랜섬웨어 실행 및 파일 암호화
④ 복호화를 빌미로 비트코인 등 몸값 지불 요구
2.1 동작과정
① 암호화 키 초기화
- 최초 랜섬웨어가 실행되면, 임의의 64자의 소문자 ASCII 문자열을 생성
- 해당 문자열은 암호화 알고리즘을 초기화하는데 사용됨
② 서비스, 프로세스 종료 및 암호화 제외 파일 설정
- 서비스 종료
> 서비스를 비활성화함으로써 파일을 복구하기 어렵게 만듬
> 대표적으로 VSS(Volume Shadow Copy Service)이 있음
VSS(Volume Shadow Copy Service) - 볼륨 백업을 수행하고 일관된 특정 시점의 데이터 복사본을 만들기위한 프레임 워크를 제공하는 Microsoft Windows의 COM 인터페이스 집합 - 특정한 시각의 파일, 폴더의 복사본이나 볼륨의 스냅샷을 저장해두고 복원할 수 있는 기능
- 프로세스 종료
> WMI "winmgmts:{impersonationLevel=impersonate}!.\root\cimv2"에 쿼리 "select * from win32_process" 수행
> 해당 쿼리는실행 중인 모든 프로세스의 목록을 반환하고,미리 정의된 프로세스 이름과 일치된 항목은 모두 종료
WMI(Windows Management Instrumentation) - 시스템 내의 자원들을 로컬/원격 환경에서 관리할 수 있는 도구의 집합
- 암호화 제외 대상 설정
> 서비스와 프로세스 종료 후 암호화 대상에서 제외할 파일 확장자, 파일 이름, 폴더 이름 설정
③ 흔적 지우기
- 서비스, 프로세스 종료한 뒤 30초의 대기 후 콘솔과 로그를 지움
> 콘솔 지우기: "C:\Windows\system32\cmd.exe /c cls"
> 로그 지우기: WMI 쿼리 "Select * from Win32_NTEventLogFile" 및 "ClearEventLog()"
- 전 세계적으로 약 3,800개의 서버가 피해를 받았으며, 피해를 입은 한 기업은 약 2만 3,000달러의 비트코인이 몸값으로 요구됨
- 프랑스, 미국, 독일, 캐나다 등을 공격
- 악용되는 취약점은 CVE-2021-21974로 OpenSLP의 힙 오버플로우 문제로 인해 발생하는 원격 명령 실행 취약점
제품명
플랫폼
영향 받는 버전
ESXi
모든 플랫폼
ESXi650-202102101-SG 이전 6.5.x 버전
ESXi670-202102401-SG 이전 6.7.x 버전
ESXi70U1c-17325551 이전 7.x 버전
- 해당 취약점은 2년전 VMware에서 패치를 발표하였으나, 패치를 적용하지 않은 취약한 ESXi 서버를 대상으로 공격 수행
- 쇼단의 Facet 기능(통계 요약 서비스)을 이용해 ESXi의 버전을 확인한 결과 취약한 버전이 다수 사용되는 것으로 확인됨
2. ESXiArgs Ransomware
- ESXiArgs의 동작과정은 [사진 3]과 같음
- ESXiArgs에 서버가 침해되면 다음 파일이 /tmp 폴더에 저장
파일명
설명
encrypt
- 암호화기 - ELF 실행 파일
encrypt.sh
- 암호화를 실행하기 전에 다양한 작업을 수행 - 공격 로직 역할을 하는 셸 스크립트
public.pem
- 암호화 키를 암호화하는 데 사용되는 보조 공개 RSA 키
motd
- "오늘의 메시지"로 표시되는 랜섬 노트 - /etc/motd에 복사되는 텍스트 형식의 랜섬 노트로, 서버의 원본 파일은 /etc/motd1에 복사 ※ MOTD(Message Of The Day): 사용자가 처음 연결하거나 로그인하거나 시작할 때 표시되는 일종의 환영 메세지
index.html
- VMware ESXi의 홈 페이지를 대체할 HTML 형식의 랜섬 노트
2.1 기술적 분석
- 다음의 명령을 사용함
encrypt <public_key> <file_to_encrypt> [<enc_step>] [<enc_size>] [<file_size>] enc_step - 암호화 시 넘어갈 MB 크기 enc_size - 암호화 블록의 MB 크기 file_size - 파일 크기(바이트)(스퍼스 파일의 경우)
- 스크립트는 먼저 "esxcli vm process list" 명령을 사용함
① ESXi 서버에서 실행 중인 가상 시스템의 구성 파일을 식별
② 가상 디스크 및 스왑 파일의 경로를 수정_'.vmdk'를 '1.vmdk'로, '.vswp'를 '1.vswp'로 대체
- 구성 파일의 파일 이름을 변경함으로써 암호화 후 피해자가 원본 데이터를 찾아 복원하는 것을 어렵게 하기 위한 목적
- 공격자는 이전에 수집한 정보를 이용하여 다른 서버로 원격접속하여 내부이동 - 내부이동 시 위에서 사용한 RDP 정보수집 도구 및 네트워크 스캔 도구를 통해 추가 서버를 찾으며, 가장 많은 정보를 가지고 있는 서버를 거점으로 삼아 랜섬웨어 공격준비
* 대체로 백업서버가 모든 서버와 연결되는 서버이므로, 공격자가 거점으로 많이 선택
2.2.12 감염
- ATT&CK Matrix : T1486 Data Encrypted for Impact
- 공격자는 거점서버를 통해 다른 서버에 접속하여 랜섬웨어를 실행(RunExe.exe 파일과 EnCrypt.exe 파일을 사용) - RunExe.exe의 경우 VSS(VolumShadowCopy Service)를 삭제하고 디렉터리내 exe파일을 실행 - RunExe.exe를 통해 실제 파일을 암호화하는 EnCrypt.exe이 실행되어 파일을 암호화 - 랜섬웨어에 감염된 후, 각 폴더에 랜섬노트(RECOVERY INFORMATION !!!.txt)가 생성
2.2.13 로그 삭제
- ATT&CK Matrix : T1070.001 Indicator Removal on Host : Clear Windows Event Logs
T1070.004 Indicator Removal on Host : File Deletion
- 공격자는 랜섬웨어를 실행 후 공격 흔적을 지우기 위해서 이벤트로그(Security, System), 정보수집 도구 삭제
2.2.14 사후 정리
- ATT&CK Matrix : T1529 System Shutdown / Reboot - 공격자는 공격흔적을 모두 지운 뒤 서버 재부팅, 원격접속을 해제