1. 개요
- 록빗(LockBit) 내 개발자로 보이는 인물이 파일을 암호화 하는 인크립터의 코드 공개
- LockBit 3.0 랜섬웨어 빌더는 깃헙에서 다운로드가 가능함
2. 분석
- LockBit 3.0 랜섬웨어 빌더는 총 5개의 파일로 구성되어 있음
- 빌더 순서도는 다음과 같음
2.1 Build.bat
- keygen.exe를 실행하여 공개키/비밀키 쌍을 생성
- 생성된 키쌍을 사용해 Lockbit 3.0 랜섬웨어를 생성하는 builder.exe를 실행
명령줄 | 설명 |
ERASE /F /Q %cd%\Build\*.* | Build 폴더의 모든 파일 삭제 |
keygen -path %cd%\Build -pubkey pub.key -privkey priv.key | keygen.exe를 실행해 pub.key(공개키_암호화 시 사용)/priv.key(개인키_복호화 시 사용) 쌍 생성 |
builder -type dec -privkey %cd%\Build\priv.key -config config.json -offile %cd%\Build\LB3Decryptor.exe | priv.key와 config.json을 사용해 복호기(LB3Decryptor.exe) 생성 |
builder -type enc -exe -pubkey %cd%\Build\pub.key -config config.json -offile %cd%\Build\LB3.exe | pub.key와 config.json을 사용해 exe 파일 형식의 암호기(LB3.exe) 생성 |
builder -type enc -exe -pass -pubkey %cd%\Build\pub.key -config config.json -offile %cd%\Build\LB3_pass.exe | pub.key와 config.json을 사용해 exe 파일 형식의 암호가 지정된 암호기(LB3_pass.exe) 생성 |
builder -type enc -dll -pubkey %cd%\Build\pub.key -config config.json -offile %cd%\Build\LB3_Rundll32.dll | pub.key와 config.json을 사용해 dll 파일 형식의 암호기(LB3_Rundll32.dll) 생성 |
builder -type enc -dll -pass -pubkey %cd%\Build\pub.key -config config.json -offile %cd%\Build\LB3_Rundll32_pass.dll | pub.key와 config.json을 사용해 dll 파일 형식의 암호가 지정된 암호기(LB3_Rundll32_pass.dll) 생성 |
builder -type enc -ref -pubkey %cd%\Build\pub.key -config config.json -offile %cd%\Build\LB3_ReflctiveDll_DllMain.dll | pub.key와 config.json을 사용해 Reflctive-DLL 파일 형식의 암호가 지정된 암호기(LB3_ReflctiveDll_DllMain.dll) 생성 |
exit | 종료 |
- 해당 파일을 실행하면 다음과 같은 파일이 생성됨
2.2 config.json
- 암호화기와 복호화기를 생성하기 위한 설정 값이 저장되어 있으며, 랜섬노트 내용을 커스터마이징 할 수 있음
- bot: 감염된 기기에서 정보를 훔치는 봇 기능에 대한 설정
- config: 설정 값 - 아래 표 참고
변수 | 설명 |
encrypt_mode | 암호화 모드 지정 |
encrypt_filename | 파일 암호화 여부 |
impersonation | 저장된 자격 증명을 통한 로그인 수행 여부 |
skip_hidden_folders | 암호화 대상에서 숨김폴더 제외 여부 |
language_check | CIS 국가(독립국가연합) 체크 여부 |
local_disks | 마운트 후 로컬 디스크 암호화 여부 |
network_shares | 네트워크 공유 폴더 암호화 여부 |
kill_processes | 특정 프로세스 종료 여부 |
kill_services | 특정 서비스 종료 여부 |
running_one | 뮤텍스 생성 여부 *뮤텍스 - 랜섬웨어에서 중복 암호화 방지 목적의 랜덤한 값 |
print_note | 랜섬노트 생성 여부 * 랜섬노트를 통해 복구 비용 지불을 위한 정보를 알려줌 |
set_wallpaper | 바탕화면 변경 여부 * 랜섬웨어 감염 여부를 알리기 위함 |
set_icons | 암호화된 파일 아이콘 변경 여부 |
send_report | 감염된 시스템에서 탈취한 정보와 관련된 보고서 전송 여부 |
self_destruct | 자체 삭제 기능 수행 여부 |
kill_defender | 특정 AV 소프트웨어 종료 여부 |
wipe_freespace | 자체 삭제를 수행할 때 추가적인 기능 여부 |
psexec_netspread | psexec를 사용한 네트워크 전파 여부 * Pxexec 는 cmd 로 원격제어를 할 수 있는 경량 원격 제어 프로그램 |
gpo_netspread | GPO를 사용한 네트워크 전파 여부 * GPO(Group Policy Object) : 관리자들이 컴퓨터 및 사용자 사용 권한을 중앙에서 한번에 제어할 수 있도록 관리작업을 단순화 하는 규칙의 집합 |
gpo_ps_update | powershell 명령을 사용하여 모든 도메인에서 시스템 그룹 정책을 업데이트할지 여부 |
shutdown_system | 시스템 재부팅 여부 |
delete_eventlogs | event log 삭제 여부 * 복구를 어렵게(혹은 불가능)하게 하기위해 event log 등 일부 log를 삭제함 |
delete_gpo_delay | 실행 후 gpo 삭제 여부 |
- 또한, 암호화에서 제외할 목록 및 암호화 전 종료할 프로세스와 서비스, C2 서버 등을 지정할 수 있음
변수 | 설명 |
white_folders | - 암호화에서 제외할 폴더 목록 |
white_files | - 암호화에서 제외할 파일 목록 |
white_extens | - 암호화에서 제외할 확장 목록 |
white_hosts | - 암호화에서 제외할 호스트 이름 목록 |
kill_processes | - 암호화 전에 종료할 프로세스 목록 * 원활한 감염을 위함 |
kill_services | - 암호화 전 종료될 서비스 목록 * 원활한 감염을 위함 |
gate_urls | - C2 서버로 사용할 URL 목록 |
impers_accounts | - 로그온에 사용할 자격 증명 목록 * ID:PW 구조 |
note | - 랜섬노트 출력 내용 |
2.3 Builder.exe
- LockBit 3.0 암호화기 및 복호화기를 생성하는 도구
- 실행 시 사용되는 파라미터 정보
파라미터 | 설명 |
-type | - enc: 암호화기 생성 - dec: 복호화기 생성 |
-config | - 설정 파일 경로 |
-exe, -dll, -ref(reflectiveDLL) | - 생성할 파일 형식 |
-pass | - 암호화기 생성 시 암호화기 실행에 필요한 비밀번호 - 암호화기 실행에 필요한 암호는 Password_exe.txt와 Password_dll.txt에 각각 저장 |
-pubkey, -privkey | - 암복호화기 생성 시 사용할 키 파일의 경로 |
-ofile | - 저장할 파일 경로 |
2.4 Keygen.exe
- 암복호화를 위한 공개키/개인키 키쌍 생성
- MIRACL 기반으로 작성
파라미터 | 설명 |
-path | - 생성된 키 쌍 파일을 저장할 폴더 경로 |
-pubkey, -privkey | - 암호화기가 공개키/개인키로 사용할 파일명(256바이트) |
3. IOC 정보
- IOC에서 확인되는 정보를 엔드단 보안장비(EDR, AV 등)에 적용해 탐지 및 차단 필요(지속 모니터링을 통한 최신화 필요)
파일명 | 유형 | 지표 |
Buid.bat | SHA256 | 8e83a1727696ced618289f79674b97305d88beeeabf46bd25fc77ac53c1ae339 |
SHA1 | 804a1d0c4a280b18e778e4b97f85562fa6d5a4e6 | |
MD5 | 4e46e28b2e61643f6af70a8b19e5cb1f | |
Config.json | SHA256 | 3f7518d88aefd4b1e0a1d6f9748f9a9960c1271d679600e34f5065d8df8c9dc8 |
SHA1 | f3ed67bdaef070cd5a213b89d53c5b8022d6f266 | |
MD5 | a6ba7b662de10b45ebe5b6b7edaa62a9 | |
Buid.exe | SHA256 | a736269f5f3a9f2e11dd776e352e1801bc28bb699e47876784b8ef761e0062db |
SHA1 | 6ae7dc2462c8c35c4a074b0a62f07cfef873c77 | |
MD5 | c2bc344f6dde0573ea9acdfb6698bf4c | |
Keygen.exe | SHA256 | ea6d4dedd8c85e4a6bb60408a0dc1d56def1f4ad4f069c730dc5431b1c23da37 |
SHA1 | bf8ecb6519f16a4838ceb0a49097bcc3ef30f3c4 | |
MD5 | 71c3b2f765b04d0b7ea0328f6ce0c4e2 |
4. 참조
https://rhisac.org/threat-intelligence/lockbit-3-0-builder-code-leak-technical-analysis/
https://isarc.tachyonlab.com/2811
'랜섬웨어 > 분석' 카테고리의 다른 글
LockBit 랜섬웨어 동향 (0) | 2023.06.16 |
---|---|
다크파워 (Dark Power) 랜섬웨어 (1) | 2023.03.28 |
ESXiArgs Ransomware (0) | 2023.02.15 |
Masscan 랜섬웨어 (0) | 2022.10.12 |