봔하는 수달

Black Basta 랜섬웨어 본문

정보보안/악성코드분석

Black Basta 랜섬웨어

봔수달 2022. 12. 28. 10:41
구분 Basta Ransomware
MD5 998022b70d83c6de68e5bdf94e0f8d71
TimeStamp 2022/04/16 06:29:58 UTC
주요 동작 파일 암호화
레지스트리 생성
프로세스 종료
서비스 종료
VSS 종료 및 삭제
USER 그룹 권한 변경

 

분석 결과

o Black basta

해당 악성코드는 서유럽권 및 미국을 대상으로 공격을 진행했던 APT 형식의 랜섬웨어로서, 지금까지 발견된 다른 랜섬웨어와 비슷한 동작을 진행하며 암호화 알고리즘으로는 ChaCha20알고리즘을 사용하는 것으로 파악됨.

 

악성코드 동작 과정

악성코드 실행

메타 정보 입수 (시간, 프로세스, 스레드, 실행시간)

디버깅 탐지

중복실행 방지를 위해 뮤텍스 생성

VSS 서비스 중지 및 삭제

레지스트리 생성 및 변조

쓰레드를 이용한 LDAP 쿼리문 작성

근처 워크스페이스 감염

동작중인 서비스 및 프로세스 탐지

탐지된 서비스 및 프로세스 중지

암호화 진행

 

Black Basta RansomWare 악성코드 OSINT

주요 공격 타겟으로는 유럽 및 서부권을 상대로 공격 진행, 아직 국내에 공격사례가 발견되지는 않았음.

출처 : https://www.trendmicro.com/vinfo/us/security/news/ransomware-spotlight/ransomware-spotlight-blackbasta

 

랜섬노트에 파일 내부에 하드코딩된 기업의 ID값을 기입하는 것으로 미루어보아 APT 공격방식을 선호하는 것으로 추정됨.

 

Black Basta는 랜섬노트에 명시되어있는 주소와 기업의 ID값을 통해 협상을 진행.

 

또한, 정보를 암호화하여 키를 판매하는 형식만을 진행하는 게 아니라 정보를 탈취하여 협상에 불응할 시, 블로그에 기업의 기밀자료를 공개하겠다는 협박 진행.

Black Basta의 협상 사이트를 우회하여 해당 그룹의 협상 전략을 확인한 결과 해당 그룹은 협상에 협조적일 시 제시했던 모든 약속을 지키는 것으로 확인되었음.

거래 정황
거래 내역

Black Basta RansomWare 악성코드 상세 분석 결과

최초 실행 이후 실행 환경에 대한 시간, 프로세스, 스레드, 실행시간에 대한 정보를 수집을 진행.

실행 환경 정보 수집

 

디버깅을 탐지하는 루틴 존재. (디버깅 당할 시 루틴 추가 해야함)

디버깅 탐지

 

중복실행 방지를 위해 뮤텍스 탐지 및 생성

뮤텍스 생성

 

SID 할당 및 초기화를 통해 USER 그룹 권한 변경

AllocateAndInitializedSid

 

시스템 복원 무력화를 위한 vss 종료 및 삭제

vss delete command
명령 프롬프트를 이용한 vss 삭제

 

이후 랜섬웨어 감염사실을 알리기 위한 바탕화면 jpg 파일 생성

랜섬웨어 바탕화면 생성 함수

 

이후 생성된 jpg 파일을 SystemParametersInfow에서 0x14u 옵션을 통해 배경 변경

SystemParametersInfoW를 통한 배경 변경

 

또한, 랜섬웨어에 감염될 시 파일의 아이콘을 바꾸기 위해 ico 파일 또한 생성

ico 파일 생성 함수

 

이후 생성된 ico 파일과 확장자를 연결시키기 위해 레지스트리를 생성 및 변조하는 루틴 존재.

레지스트리 생성 및 변조 전체 함수
레지스트리 생성
레지스트리 값 변조

 

LDAP 쿼리문을 통해 네트워크에 자동 배포기능 구현 (samAccountType=805306369)을 통해 모든

워크스테이션을 반복적으로 탐색.

쓰레드를 이용한 LDAP 쿼리문
LDAP 쿼리 구현 함수
LDAP 코드

 

현재 서비스 중인 목록을 파싱하고 특정 서비스들 중지

서비스 목록 파싱 및 중지 함수

 

현재 동작중인 프로세스 확인 및 종료 (분석 과정에서 디버거 또한 종료됨)

현재 동작중인 프로세스 확인 반복문
프로세스 목록 확인
프로세스 종료 루틴

암호화를 진행하기 위해 시스템의 디스크 드라이브 정보를 확인.

드라이브 탐색

 

랜섬노트 생성을 위해 문자열을 인자로 받아온 뒤 파일 생성 이후 문자열 작성

문자열 인자
CreateFileW
WriteFile
하드코딩된 랜섬노트 문자열

쓰레드를 생성하여 암호화 진행

멀티 쓰레드

 

ChaCha20 알고리즘 사용하여 암호화 진행

ChaCha20

expa nd 3 2-by te k
Key Key Key Key
Key Key Key Key
Counter Counter Nonce Nonce

 

암호화를 진행할 때 속도향상을 위해 192byte씩 잘라서 읽어들인 뒤 앞의 64byte에 대해서만 암호화 진행.

암호화 속도 향상을 위해 부분적으로 암호화 진행

 

암호화 과정에서 원활한 악성 행위 및 최소한의 시스템 구성을 위해 필요한 대상들은 암호화 예외 처리.

폴더 $Recyle.Bin
Windows
Local Settings
Application Data
Boot
파일 NTUSER.DAT
Readme.txt
Ransom.ico
Ransom Wallet.jpg

 

감염 완료된 환경

감염 완료된 환경

 

Comments