표 목차
- 개요
- 초기 조사 결과.
- 감염 사슬.
- 기술적 분석
- 초기 감염 – 악성 문서.
- 두 번째 단계 – 악성 PyInstaller 실행 파일.
- 마지막 단계 – 악성 Python 스크립트.
- Discord 봇 기능.
- 랜섬웨어의 특징.
- 맺음말
- 시크라이트 보호.
- IOC
- 미터 공격.
- 작성자
개요
Seqrite Labs APT-Team은 최근 인도 식품 기업(FCI)의 자격 요건과 관련된 허위 직무 기술서가 포함된 여러 캠페인을 발견했습니다. 이 캠페인은 Xelera라는 랜섬웨어 변종을 이용하여 FCI의 다양한 기술직을 노리는 사람들을 표적으로 삼았습니다. 이 사례에서는 악성 코드 Python으로 작성되었고 대상 머신에서 실행되는 PyInstaller를 사용하여 패키징되었습니다.
이 블로그에서는 원격 분석 중 발견된 캠페인의 기술적 세부 사항을 살펴보겠습니다. 이 캠페인의 여러 단계를 살펴보겠습니다. 먼저 초기 악성 문서 페이로드와 문서 내용을 살펴보고, 악성 PyInstaller와 추출된 악성 Python 스크립트를 추출 및 분석한 후, 마지막으로 악성 랜섬웨어 파일을 검토합니다.
초기 발견
최근 18년 2025월 XNUMX일, 저희 팀은 악성 문서를 발견했습니다. VirusTotal, 사냥 규칙에 따라 OLE 스트림 내에 악성 내장 콘텐츠가 포함된 문서 파일을 사냥하는 데 사용합니다.
초기 분석 결과, FCEI-job-notification.doc라는 악성 미끼가 엔지니어 및 기타 기술직 및 준기술직 등 다양한 직무에 지원하는 구직자를 표적으로 삼고 있음을 발견했습니다. OLE 스트림 중 하나에서 악성 페이로드를 추출한 결과, 해당 페이로드는 jobnotification2025.exe라는 PyInstaller 기반 실행 파일임을 확인했습니다. 이 파일에는 랜섬웨어 제작자가 제어하는 Discord 봇을 사용하여 대상 컴퓨터에서 랜섬웨어 실행 및 기타 의도치 않은 작업을 수행하는 악성 Python 스크립트가 포함되어 있습니다.
PyInstaller는 악성 소프트웨어 개발자가 선호하는 도구 중 하나로, 이들은 파이썬 스크립팅을 선호합니다. 이전에 HolyCrypt와 다른 잘 알려진 로커 및 스틸러는 PyInstaller를 악용하여 악성 소프트웨어를 In-The-Wild에 배포했습니다.
감염 사슬

기술 분석
분석을 세 부분으로 나누어 보겠습니다.
초기 감염 – 악성 문서.
초기 감염은 스피어 피싱 첨부 파일을 통해 확산되는 악성 워드 문서로 인해 발생합니다. 문서의 악성 OLE 스트림을 살펴보기 전에, 그 유인책을 살펴보겠습니다.

이 문서는 세 페이지 분량의 정보를 담고 있으며, 첫 번째 페이지에는 인도 식품공사(Food Corporation of India)의 공석 수와 필요한 인력 유형이 언급되어 있습니다. 두 번째 페이지에는 각 직책의 연령 제한 및 자격 기준이 명시되어 있으며, 각 직책에 필요한 최소 및 최대 연령이 명시되어 있습니다.

또한, 이 페이지에서는 직무에 따라 학사 학위 또는 기타 학위 등 다양한 직책에 필요한 학력 요건에 대한 개요를 제공합니다. 세 번째 페이지에서는 시험 유형을 포함한 채용 절차를 자세히 설명합니다.

시험은 수리 능력, 영어, 논리 추론, 교양 과목 등 100문항으로 구성되어 있다고 명시되어 있습니다. 응시자는 시험 시간 60분, 오답 시 XNUMX/XNUMX점 감점이 부여되며, 답하지 않은 문제는 감점 대상이 아닙니다. 이 문서의 악의적인 스트림을 살펴보고 추가 분석을 위해 신속하게 추출해 주시기 바랍니다.

악성 문서를 분석한 결과 해당 문서에 다음 내용이 포함되어 있음을 발견했습니다. 내장된 OLE 개체 (Ole10Native), 이 객체는 ObjectPool 구조 내부에 위치하며 크기는 31.5MB입니다.
![]()
악성 OLE 스트림에서 내장된 콘텐츠를 추출하여 분석 도구에 파일을 로드한 결과, 이는 기본적으로 압축된 PyInstaller 바이너리인 PE64 바이너리라는 것을 알아냈습니다.

두 번째 단계 – 악성 PyInstaller 실행 파일
다음을 사용하여 실행 파일의 내용을 추출한 후 pyinstxttractor, 우리는 mainscript.pyc와 같이 파이썬으로 컴파일된 파일이 포함된 흥미로운 파일과 폴더를 발견했습니다. mainscript.pyc는 맬웨어 파일의 주요 로직 역할을 하는 컴파일된 파이썬 스크립트입니다.

psutil, aiohttp, asyncio와 같은 지원 디렉토리와 라이브러리도 존재하여, 맬웨어에서 데이터 수집이나 명령 및 제어(C2) 통신에 일반적으로 사용되는 시스템 모니터링 및 비동기 네트워크 작업에 대한 기능을 시사했습니다.

또한 notoken887, command 등 파이썬으로 컴파일된 파일이 포함된 흥미로운 폴더들을 발견했는데, 이를 통해 해당 캠페인이 XELERA 랜섬웨어 배포뿐만 아니라 그 이상의 다양한 활동과 관련이 있음을 알 수 있습니다. 다음 섹션에서는 파이썬으로 디컴파일된 파일들을 분석해 보겠습니다.

최종 단계 – 악성 Python 스크립트
main.pyc 파일을 디컴파일한 결과, notoken887, start, command 등 여러 흥미로운 라이브러리를 가져오는 것을 발견했습니다. 또한 면밀히 분석한 결과, 위협 행위자가 Discord를 명령 및 제어(C&C) 도구로 사용하여 원격 명령을 실행하고 최종적으로 XELERA 랜섬웨어를 배포한다는 것을 발견했습니다.

Discord 봇 기능
이제 디스코드 봇이 대상 컴퓨터에서 실행할 수 있는 흥미로운 명령과 랜섬웨어의 작동 방식을 살펴보겠습니다.

피해자가 악성 문서를 실행한 후 영향을 받으면 위협 행위자는 Discord Bot을 사용하여 브라우저 기반 자격 증명을 훔치거나 대상에게 특정 비방 메시지를 스팸으로 보내는 등 특정 불법적인 작업을 수행합니다.
권한 상승 및 시스템 제어
- 관리자 실행 요청: 봇에는 IsUserAdmin API를 사용하여 봇 프로세스가 관리자 권한으로 실행되는지 확인하는 명령(admin)이 포함되어 있으며, 그렇지 않은 경우 runas 형식으로 ShellExecuteW API를 사용하여 작업을 수행합니다.

- 잠금 및 종료 제어: 봇은 시스템을 잠그거나(🔒 lockpc) 강제로 종료/재시작(📤 shutdown, 🔄 restartpc)하여 대상 컴퓨터에 불편을 초래할 수 있습니다.


브라우저 자격 증명 및 파일 도용
- 파일 도용: 디스코드 봇은 대상 컴퓨터에서 파일을 추출할 수 있습니다.

- 브라우저 자격 증명 도용: 디스코드 봇은 Google Chrome, Microsoft Edge 등 다양한 브라우저에서 쿠키, 사용자 이름, 비밀번호와 같은 민감한 정보를 대상 컴퓨터에서 훔칠 수 있습니다.


사악한 활동: 방해 행위 및 공격적인 콘텐츠 스팸 발송.
- 시각적 장애 : 공격자는 왜곡 효과를 일으키고, 배경 화면을 변경하고, 기타 시각적 방해를 일으켜 대상 컴퓨터에서 문제를 일으키는 방식으로 시각적 방해를 만듭니다.



- 감각 장애: 공격자는 마우스 입력을 차단하고 대상 컴퓨터에서 오디오를 재생하여 감각적 장애를 일으켜 대상 컴퓨터에서 문제를 일으킵니다.

명령어 목록
| Command | 목적 | |
| 1 | 🔧 관리자 | 관리자 권한으로 맬웨어를 실행하도록 요청합니다. |
| 2 | 🚫 nomouse (시작/중지) | 사용자의 마우스 및 키보드 권한 거부 |
| 3 | 체크파일 | 특정 파일을 확인하고 선택적으로 삭제합니다. |
| 4 | bsod | 블루 스크린 오브 데스(BSOD) 발생 |
| 5 | 🌊 흐릿함 | 극단적인 GDI 흐림 효과 적용 |
| 6 | 🔥 녹다 | 화면 멜트 효과 만들기 |
| 7 | 🌎 화면 스와이프 | 화면 전체를 스와이프하고 구부리세요 |
| 8 | ⚡ 발작 | 발작을 유도하기 위해 화면을 깜빡입니다. |
| 9 | 🌪 토네이도 | 화면 토네이도 효과 만들기 |
| 10 | 👴 하얗게 하다 | 화면을 하얗게 하다 |
| 11 | 🚫 블록스크린 | 히틀러 이미지를 화면 블록으로 표시합니다. |
| 12 | 🥏 초발작 | 시작/중단 논쟁이 있는 더욱 강렬한 발작 버전 |
| 13 | 📂 나무 | 피해자의 시스템에서 파일 트리를 가져옵니다. |
| 14 | 📤 공유하기 | 피해자의 PC에 파일을 업로드하고 실행합니다. |
| 15 | 🔗 링크 공유 | 피해자의 PC에 URL 기반 파일을 다운로드하고 실행합니다. |
| 16 | 📊 lp | 활성 프로세스 나열 |
| 17 | 🔨 케이피 | 특정 프로세스를 종료합니다 |
| 18 | 📂 getfiles | 피해자의 시스템에서 파일을 훔칩니다. |
| 19 | 📁 씨디 | 피해자의 파일 시스템을 탐색합니다. |
| 20 | 📸 ss | 스크린샷을 캡처하세요 |
| 21 | 📷 웹캠 사진 | 피해자의 웹캠에서 이미지를 캡처합니다. |
| 22 | 📥 깡패파일 | 다운로드/문서의 모든 파일을 영구적으로 이름 변경하고 손상시킵니다. |
| 23 | 🌍 오픈URL | 피해자의 브라우저에서 웹사이트를 엽니다. |
| 24 | 🔎 검색 | 웹 검색을 수행하세요 |
| 25 | 🔐 getpwds | Microsoft Edge에서 저장된 비밀번호 추출 |
| 26 | 📜 getbrowserhistory | 피해자의 시스템에서 브라우저 기록을 가져옵니다. |
| 27 | 😂 ㅋㅋ | 피해자의 화면에 KKK 관련 밈을 표시합니다. |
| 28 | 🔔 스팸알림 | 스팸 알림을 반복적으로 보냅니다 |
| 29 | 🔊 베이스 부스트 | 볼륨을 100%로 강제로 설정 |
| 30 | ㅈ 씨발브라우저 | 피해자의 PC에 설치된 Chrome이 손상됨 |
| 31 | 🛑 만자 | 회전하는 만자를 배경화면으로 설정(시작/중지) |
| 32 | 🤯 뉴크피씨 | 피해자의 PC에 심각한 공격을 가합니다. |
| 33 | 🔄 pc를 다시 시작하세요 | 피해자의 PC를 다시 시작하세요 |
| 34 | 📤 종료 | 피해자의 PC를 종료하세요 |
| 35 | ❌ 닫기 | thugware 애플리케이션을 닫습니다 |
| 36 | 🧹 깨끗하다 | 현재 채널을 제외한 모든 Discord 채널을 제거합니다. |
| 37 | ❌ 오류 스팸 | 스팸 이상한 오류 메시지 |
| 38 | 🌐 아이피 | 피해자의 IP 주소를 검색합니다 |
| 39 | 🎵 플레이사운드 | 업로드된 파일에서 배경 오디오 재생 |
| 40 | 💻 시스템 정보 | 시스템 정보 추출 |
| 41 | 🖼 배경화면 | 피해자의 바탕 화면 배경을 변경하세요 |
| 42 | ℹ 도움 | 모든 명령에 대한 도움말 메시지를 표시합니다. |
| 43 | 🔄 재장전 | Thugware 봇을 다시 시작하세요 |
| 44 | 🔒 잠금pc | 피해자의 PC를 잠급니다(로그인 화면 강제 실행) |
랜섬웨어의 특징.
공격자는 악성 디스코드 기반 스틸러와 함께 랜섬웨어로 알려진 랜섬웨어도 배포합니다. 셀레라경고 기능을 살펴보면, 랜섬웨어 관련 다양한 목적에 맞춰 총 6가지의 중요한 기능이 있다는 것을 알 수 있습니다.

랜섬웨어 메시지를 확인할 수 있으며, 몸값을 지불할 라이트코인 주소도 함께 제공됩니다. 다른 다양한 기능도 살펴보겠습니다.

첫 번째 함수인 kill_explorer 함수를 살펴보면 실행 중인 프로세스를 반복합니다. memz.exe가 있는지 확인하기 위해 연속 루프를 실행합니다. memz.exe가 찾을 수 없습니다그런 다음 explorer.exe를 찾습니다. 그것을 종료하려고 시도합니다. 이 순환은 무기한 반복되며, memz.exe가 활성화되어 있지 않으면 Windows 탐색기가 실행되지 않습니다.

반면, 이 랜섬웨어에서 언급된 create_memz_in_startup 파일은 기본적으로 MBR 손상 기반 실행 파일을 다운로드하고 있습니다.

이제 다음 기능을 살펴보기 전에 여기에서 MEMZ.exe로 다운로드되는 MBR 손상 도구의 작동 방식을 살펴보겠습니다.

The MEMZ.exe 악성코드는 명령줄 인수를 분석하여 작동 모드를 파악함으로써 실행을 시작합니다. /watchdog 인수가 있는 경우, 모니터링 스레드를 생성하고 숨겨진 창을 등록하는 "워치독" 모드를 활성화합니다. 이를 통해 악성코드는 계속 실행되고 Windows 메시지 루프를 활용하여 종료되지 않도록 합니다.

MBR의 이 부분에서는 디스크의 마스터 부트 레코드(MBR)를 덮어써서 시스템을 부팅할 수 없게 만듭니다. 맬웨어는 \\.\PhysicalDrive0을 열어 기본 디스크에 대한 원시 접근 권한을 얻고, 악성 페이로드를 준비하기 위해 64KB 버퍼를 할당합니다.

다음으로, MBR 손상자는 도발적인 메시지가 포함된 note.txt라는 텍스트 파일을 생성합니다. 이 파일에는 사용자에게 시스템이 MEMZ 트로이 목마에 감염되었음을 알리는 텍스트가 포함되어 있습니다. 이 메시지는 악성코드를 차단하려고 시도하면 시스템이 즉시 파괴될 것이라고 경고합니다.
이제 MBR Corruption 맬웨어에 대한 이해가 끝났으므로 다른 기능 집합을 살펴보겠습니다.
두 번째 함수를 살펴보면, change_wallpaper는 기본적으로 바탕 화면 배경 무늬를 자물쇠 이미지로 변경합니다.

이 랜섬웨어의 세 번째와 네 번째 기능은 기본적으로 피해자의 컴퓨터가 영향을 받았다는 메시지를 모든 창 제목에 스팸으로 보내고, 바탕 화면에 있는 모든 파일과 폴더를 삭제하고, 같은 폴더를 랜섬웨어 이미지로 가득 채우는 것입니다.

다섯 번째 기능은 MBR Corruption 기반 악성코드를 실행하는 데 중점을 둡니다. 먼저 Windows 시작 폴더를 열거하고 악성 소프트웨어가 발견되면 해당 악성코드를 실행합니다. 여섯 번째 기능은 배경화면을 다운로드하고 현재 바탕화면을 다운로드된 바탕화면으로 변경합니다. 그런 다음, 무한 루프에서 텍스트 음성 변환(TTS)을 사용하여 무한 루프에서 오디오 메시지를 실행합니다.


랜섬웨어가 실행되면 화면에 다음과 같은 메시지가 표시됩니다. 다음으로, 언급된 암호화폐 지갑 주소를 살펴보면 동일한 지갑 주소를 사용하여 총 16건의 거래가 발생한 것을 확인할 수 있습니다.

맺음말
XELERA 랜섬웨어가 발견되었습니다. 이는 파이썬 기반 악성코드로, 현재 매우 새로운 공격 유형으로, 데이터 및 자격 증명을 훔치고 암호화를 전혀 수행하지 않는 랜섬웨어를 배포하는 방식을 사용합니다. 이 랜섬웨어는 활발하게 확산되고 있으며, 현재 위에서 언급한 공격 방식이 주요 공격 방식으로, 다양한 대상 컴퓨터에 랜섬웨어를 유포하는 데 사용됩니다.
Seqrite 보호
- OLE.랜섬.49280.GC
- 랜섬.Xelera
IOC
| 파일 이름 | SHA-256 |
| FCEI-채용공고.doc | ff06ce3fd6fe994aeaa0edc5162989d08f34440e9cacbc9e49e5db8ef98a74e3 |
| mainscript.exe(jobnotification2025.exe) | 519401c998fe5d6eb143415f7c17ad5f8e5ef5ebae57ac91e9fa89a0bfcf0c7f |
| URL |
| hxxps[:]//github[.]com/Sam-cpu999/stuff/raw/main/MEMZ[.]exe |
| hxxps[:]//th[.]bing[.]com/th/id/OIP.nQu9CQ9gM84Pblh6AgykIgHaHa?rs=1&pid=ImgDetMain |
| hxxps[:]//pghnetworks[.]com/wp-content/uploads/2018/06/블로그-pic[.]jpg |
| hxxps[:]//thugging[.]org/static/kkk[.]png |
| hxxps[:]//thugging[.]org/static/3[.]mp4 |
| hxxps[.]//chochox[.]com/wp-content/uploads/2016/10/Geto 29[.]jpg |
LTC Address: LaHL1jGMk2VUgn6c4QtFVLi7BjycWrQorB
MITER ATT & CK
| 술책 | 기술 ID | 성함 |
| 초기 액세스 | T1566.001 | 피싱: 스피어 피싱 첨부 파일.
|
| 실행 | T1204.002
T1059.006 |
사용자 실행: 악성 파일.
파이썬. |
| 고집 | T1547.001 | 레지스트리 실행 키 / 시작 폴더. |
| 방어 회피 | T1562.001 | 방어력 약화: 도구를 비활성화하거나 수정합니다. |
| 자격 증명 액세스 | T1555.003 | 웹 브라우저의 자격 증명. |
| 발견 | T1033
T1217
T1010
T1083
T1016 |
시스템 소유자/사용자 검색.
브라우저 정보 검색.
애플리케이션 창 검색.
파일 및 디렉토리 검색.
시스템 네트워크 구성 검색. |
| 수집 | T1560.002
T1056.001 T1113
|
도서관을 통해 보관하세요.
키로깅. 화면 캡처.
|
| 명령 및 제어 | T1102.002 | 양방향 통신. |
| 영향 | T1531
T1486 T1657 T1491.001 T1561.001 T1489 T1529
|
계정 접근 권한 제거.
충격에 대비해 데이터를 암호화했습니다. 금전적 절도. 내부 훼손. 디스크 콘텐츠 삭제. 서비스 정지. 시스템 종료/재부팅.
|
작성자
- 수바지트 싱하
- 카르티쿠마르 이슈바르바이 지바니




