Ghost Locker는 GhostSec[해커 그룹]이 개발한 서비스형 랜섬웨어(RAAS)입니다. GhostSec은 2023년 2023월 GhostLocker 프레임워크를 출시했습니다. XNUMX년 XNUMX월 Stormous 랜섬웨어 그룹과의 성공적인 협력 이후, GhostLocker 랜섬웨어 운영자들은 제휴사들에게 다양한 옵션을 제공하고 있습니다.
Ghost Locker 2.0은 새로운 변종입니다. 랜섬 피해자의 파일을 유출 및 암호화한 후 파일 잠금 해제에 필요한 복호화 키에 대한 몸값을 요구하는 악성 프로그램입니다. 브라질, 인도, 중국, 남아프리카공화국, 이집트, 터키 등 여러 국가에 영향을 미치는 것으로 확인되었습니다.
기술적 분석 :
Seqrite 위협 탐지 과정에서 Ghost Locker 랜섬웨어의 두 가지 변종을 발견했습니다. Ghost Locker 버전 1.0은 파이썬 기반 스크립트로 작성되었고, 2.0은 Go 언어로 작성되었습니다.
변형 1 :
이 변종은 처음 실행할 때 Windows 시작 폴더를 얻고 그 폴더에 자기 자신을 복사하여 지속성을 확립합니다.

그림 1: 지속성 생성
그런 다음 암호화 과정에서 활용하기 위해 피해자의 컴퓨터에 장착된 드라이브 목록을 얻습니다.

그림 2: 드라이버 목록 얻기
또한 32바이트의 무작위 문자열을 생성하여 랜섬웨어 JSON 파일의 ID로 사용합니다. 위협 행위자는 이 ID를 제어판에서 감염된 컴퓨터를 식별하는 데 사용합니다.

그림 3: ID 생성
랜섬웨어는 URL “hxxp[://]2[.]41[.]216[.]183[/]incrementLaunch”를 통해 위협 행위자의 C31 서버에 연결을 설정하여 위협 행위자에게 [Ghost Locker의 제어판] 목록에 피해자 컴퓨터가 하나 더 있다는 사실을 알립니다.

그림 4: C2 연결
이 Ghost Locker 변종은 Fernet 대칭 암호화 알고리즘을 사용하여 비밀 키를 생성합니다. 생성된 비밀 키는 JSON 파일을 통해 공격자에게 전송되어 파일 암호화에 사용됩니다.

그림 5: 비밀 키 생성
그 후, 랜섬웨어는 암호화 상태를 포함한 구성 매개변수에서 피해자의 IP 주소, 암호화 ID, 감염 날짜 및 기타 정보를 생성하고 몸값과 피해자 식별자 문자열을 수집합니다.
랜섬웨어는 피해자의 컴퓨터에 JSON 파일을 생성하고 위의 세부 정보를 저장합니다.

그림 6: JSON 파일 생성
생성된 JSON 파일은 URL "hxxp[://]2[.]41[.]216[.]183[/]addInfection"을 통해 C31 서버로 전송되어 해당 C2 패널에 피해자 컴퓨터를 등록합니다.

그림 7: C2 패널에 감염된 컴퓨터 등록
이 변종은 감염된 시스템에 관리자 권한이 있는지 확인합니다. 권한이 없는 경우, 파일 시스템에 접근하는 데 사용되는 takeown 유틸리티를 통해 읽기 및 삭제 등의 작업을 수행합니다.

그림 8: takeown을 통해 소유권 획득
아래 그림 9에서 보듯이 “C:\Windows” 폴더, “new-mains.exe” 및 “.귀신" 암호화 과정 중에 확장자 파일을 삭제합니다.

그림 9: 파일 및 폴더 건너뛰기
이 랜섬웨어는 AES 암호화 알고리즘과 256비트 키 길이를 사용합니다. 메모리에 저장된 파일을 암호화하고, 암호화된 파일의 복사본을 디스크에 ".ghost" 확장자로 생성한 후 원본 파일을 삭제합니다.

그림 10: 암호화 프로세스
암호화 프로세스가 완료되면 랜섬웨어는 내장된 랜섬 노트를 "라는 HTML 파일에 저장합니다.랜섬노트.html피해자의 데스크탑에 "를 설치하고 Windows '시작' 명령으로 실행합니다.

그림 11: 랜섬웨어 참고 사항
변형 2 :
이 Ghost Locker 변종은 대부분 Golang 기반입니다. 랜섬웨어 기능의 대부분은 변종 1과 동일합니다.
두 Ghost Locker 버전의 차이점은 다음과 같습니다.
- C2 서버가 변경되었습니다. 변형 41의 hxxp:[//]216[.]183.31[.]7[/](그림 2) C1 서버에서 변형 94의 hxxp[://]103[.]91[.]246[.]2[/] C2 서버로 변경되었습니다.
- 실행: 변종 1은 C2 서버와의 연결이 성공하지 않아도 실행됩니다. 그러나 변종 2는 피해자의 컴퓨터가 C2 서버와의 연결을 성공적으로 설정한 경우에만 완전히 실행됩니다.
- JSON 파일의 사용자 이름: 사용자 이름은 제로 변형 1과 고스트섹 메모리에 생성된 JSON 파일의 변형 2에서 다른 제휴사가 이 랜섬웨어 빌더를 통해 다른 구성으로 이 랜섬웨어 바이너리를 생성한 것으로 보입니다.
- 침출: 그림 13에서 볼 수 있듯이, 변종 2는 탐지를 피하기 위해 위협 행위자가 정의한 서비스와 프로세스를 파괴합니다. 암호화 및 침출을 위한 위협 행위자가 정의한 대상 파일은 .doc, .docx, .xls 및 .xlsx입니다.
- 파일 건너뛰기: 그림 9에서 언급했듯이 변형 1은 "new-mains.exe암호화 과정 중에 ” 파일을 건너뛰기 목록에 추가했지만 변형 2는 그렇지 않았습니다.
그림 1과 3에서 언급했듯이, 이 Ghost Locker 변종은 지속성을 확립하기 위해 Windows 시작 폴더에 자체를 복사하고 JSON 파일의 ID에 대한 32바이트의 난수 문자열을 생성합니다.
감염된 컴퓨터가 C2 패널에 등록되면 랜섬웨어 샘플은 피해자의 컴퓨터에서 정의된 프로세스 목록이나 서비스(랜섬웨어 샘플을 구축하는 동안 위협 행위자가 정의한 목록)를 종료하려고 합니다.


그림 12: TA에서 정의한 서비스 및 프로세스를 종료하는 기능
공격자가 정의한 파일 확장자 목록을 사용하여 피해자의 컴퓨터에서 대상 파일을 찾습니다. 암호화 루틴이 시작되기 전에 그림 2과 같이 HTTP POST 방식을 사용하여 URL을 통해 대상 파일을 C13 서버에 업로드합니다. 이 변종에서 공격자는 .doc, .docx, .xls, .xlsx 확장자를 가진 파일을 추출하고 암호화했습니다.

그림 13: TA가 지정한 파일을 C2 서버로 추출
IOC:
C30A14B595FA334084CD32FA60B3C827
8AD67A1B7A5F2428C93F7A13A398E39C
hxxp[:]//94[.]103[.]91.246[/]증가시작
hxxp[://]41[.]216[.]183[.]31[/]증가시작
hxxp[:]//94[.]103[.]91.246[/]감염 추가
hxxp[://]41[.]216[.]183[.]31[/]감염 추가
감지:
랜섬.고스트락.S32894932
야라 규칙:
"pe"를 가져오다
규칙 Ghost_locker
{
문자열:
//$s2={06 6F ?? 00 00 0A 28 ?? 00 00 0A 28 ?? 00 00 0A 28 ?? 00 00 06 26}
$s1={3C 74 69 74 6C 65 3E 47 68 6F 73 74 4C 6F 63 6B 65 72 20 4E 6F 74 65 3C 2F 74 69 74 6C 65 3E}
$s2={68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 61 64 64 49 6E 66 65 63 74 69 6F 6E}
$s3={68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 69 6E 63 72 65 6D 65 6E 74 4C 61 75 6E 63 68}
$s4={3C 61 20 68 72 65 66 3D 22 68 74 74 70 3A 2F 2F ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2F 76 69 63 74 69 6D 63 68 61 74 3F 69 64 3D 5B 45 4E 43 52 59 50 54 49 4F 4E 49 44 5D 22 3E 43 6C 69 63 6B 20 6D 65 3C 2F 61 3E}
$s5={2E 67 68 6F 73 74}
상태: 모두}
MITRE 공격 TTP:
| 술책 | 기술/절차 |
| 실행 | T1059.003 : 명령 및 스크립팅 인터프리터: Windows 명령 셸
|
| 발견 | T1007 : 시스템 서비스 검색 |
| T1082 : 시스템 정보 검색 | |
| T1083 : 파일 및 디렉토리 검색 | |
| 명령 및 제어 | T1071 : 애플리케이션 계층 프로토콜 |
| 여과 | T1041 : C2 채널을 통한 유출
|
| 영향 | T1486 : 영향력을 위해 암호화된 데이터 |
| T1489 : 서비스 중지 | |
| T1490 : 시스템 복구 억제 |
결론 :
Ghost Locker는 Python 스크립트에서 Go 언어로 전환된 서비스형 랜섬웨어(RAAS)입니다. 데이터를 유출하고 파일을 암호화합니다. 탐지를 피하기 위해 공격자가 정의한 서비스나 프로세스를 삭제하고 암호화 후 자체 삭제 메커니즘을 사용합니다.
저자:
마노즈 쿠마르 닐라메감
공저자:
루마나 시디키



