NOVABLIGHT 한눈에 보기
NOVABLIGHT는 프랑스어 사용 능력을 갖춘 위협 그룹이 개발하고 판매하는 Node.js 기반의 악성 소프트웨어 서비스(MaaS) 정보 유출 도구입니다. 이것은 그들의 주요 판매 및 지원 플랫폼인 텔레그램과 디스코드에서의 논의와 운영 커뮤니케이션에서 명확히 드러납니다.
NOVABLIGHT의 최신 공개 버전을 분석한 결과, Nova Sentinel과 MALICORD를 개발한 Sordeal Group이 NOVABLIGHT의 개발에도 관여한 것으로 추정됩니다.
핵심 사항
- NOVABLIGHT는 교육용 도구로 묘사된 정보 유출 악성 소프트웨어입니다. 그러나 텔레그램 채널 메시지에는 민감한 정보와 편집되지 않은 스크린샷이 포함되어 있습니다.
- NOVABLIGHT 라이선스는 최대 1년간 유효하며, 바이너리 파일은 Telegram 또는 Discord를 통해 생성할 수 있습니다.
- 복잡하게 난독화된 코드로 다양한 기능을 갖추고 있습니다.
탐색
Elastic Security Labs는 인터넷 사용자의 MaaS 감염을 위한 초기 접근 유인물로 가짜 비디오 게임 설치 프로그램 다운로드를 활용하는 다수의 캠페인을 식별했습니다. 한 예로, URL http://gonefishe[.]com
은 사용자에게 바이너리 파일을 다운로드하고 설치하도록 유도했으며, 이 게임은 최근 스팀에 출시된 게임과 이름 및 설명이 유사한 프랑스어 버전이었다.
배포, 수익화, 및 커뮤니티
해당 그룹은 다양한 온라인 플랫폼에서 제품을 홍보하고 판매해 왔으며, 이전에는 Sellix와 Sellpass를 사용했으며 현재는 Billgang을 사용하고 있습니다.
해당 그룹은 API 키를 판매하며, 이 키는 1 에서 12 개월 사이에 만료됩니다. 이 키는 Telegram 봇을 통해 또는 Discord를 통해 NOVABLIGHT의 인스턴스를 생성하는 데 사용할 수 있습니다.
해당 그룹은 디스코드 채널을 통해 추천 프로그램을 운영하며, 보상으로 API 키를 제공합니다.
사용자는 그룹에서 호스팅하는 대시보드에 액세스할 수 있으며, 이 대시보드에는 피해자로부터 수집된 정보가 표시됩니다. 다음 도메인이 식별되었으나, 다른 도메인이 존재할 수 있습니다:
api.nova-blight[.]top
shadow.nova-blight[.]top
nova-blight[.]site
nova-blight[.]xyz
bamboulacity.nova-blight[.]xyz
대시보드 패널에 사용된 일부 이미지는 다양한 계정과 연결된 GitHub 저장소에 호스팅되어 있으며, 이는 해당 그룹에 대한 추가 정보를 공개하는 데 도움이 되었습니다.
GitHub 계정 KSCHcuck1
은 MALICORD의 이전 작성자와 유사한 가명입니다. MALICORD는 GitHub 계정 KSCH-58
(웹 아카이브 링크)에 호스팅되었던 스틸러의 초기 버전 무료 버전입니다. " X 계정 @KSCH_dsc
역시 유사한 특징을 가지고 있었으며, 2023년까지만 해도 "에서 ' '라는 최고의 도용 앱을 적극적으로 홍보하고 있었습니다.
다음 GitHub 계정이 해당 그룹과 관련되어 확인되었습니다:
- https://github.com/KSCHcuck1
- https://github.com/CrackedProgramer412/caca
- https://github.com/MYnva
- https://github. com/404log (사망)
그들의 공개 텔레그램 채널에는 튜토리얼과 사용자 커뮤니티가 있습니다. 다음 이미지 캡처에서 사용자들은 빌드 프로세스의 스크린샷을 공유하고 있습니다.
정보 유출 악성 소프트웨어(infostealer) 사용자들이 명품 아이템과 자금 이체 이미지를 공개적으로 공유하고 있습니다. 이는 NOVABLIGHT가 순수히 교육 목적으로만 사용된다고 설명된 점과 대비되어 주목할 만합니다.
노바블라이트 분석
NOVABLIGHT는 NodeJS와 Electron 프레임워크를 기반으로 개발된 모듈형이고 다양한 기능을 갖춘 정보 탈취 도구입니다. 그 기능은 단순한 자격 증명 도용을 넘어 데이터 수집 및 유출, 샌드박스 탐지, 그리고 강력한 난독화 기술을 포함합니다.
이 악성 소프트웨어의 빌드 프로세스에서 주목할 만한 특징은 모듈형 구성입니다. 고객은 특정 기능을 비활성화할 수 있지만, 해당 기능의 기본 코드는 최종 페이로드 내에 남아 있습니다. 이 코드는 비활성화 상태로 유지되며, 빌드의 구성 플래그에 따라 실행되지 않습니다.
이 보고서에서 사용된 코드 스니펫은 버전 2.0 의 비암호화 샘플에서 추출되었으며, 구현 세부 사항이 버전 2.2 샘플과 일치하는 경우 해당 샘플에서 가져왔습니다. 또는 구현 세부 사항이 다를 경우, 버전 2.2 샘플의 코드를 수동으로 암호화 해제하여 추출한 코드에서 가져왔습니다.
코드 구조
초기 설정부터 데이터 유출까지, 정보 유출 악성 코드는 고위급 랜섬웨어 유틸리티( ") 흐름 컨트롤러(" )에 의해 관리되는 명확한 다단계 파이프라인으로 구성되어 있습니다. 주요 단계는 다음과 같습니다:
- flow/init: 사전 점검 (실행 중인 인스턴스, 관리자 권한, 인터넷 연결), 분석 방지 점검, 시스템 정보 열거, 지속성 설정 등.
- 흐름/주입: 애플리케이션 주입 및 패치 적용 (Atomic, Mullvad, Discord, …)
- 흐름/캡처: 데이터 수집
- 흐름/클립보드: 클립보드 가로채기
- 흐름/전송: 데이터 유출
- 흐름/비활성화: 시스템 파괴 (Windows Defender 비활성화, 시스템 재설정 방지, 인터넷 연결 끊김, …)
- 흐름/청소: 데이터 유출 후 정리 작업
코드 구조에 대한 자세한 내용은 이 GitHub Gist를 참고하세요. 이 문서에는 NOVABLIGHT의 핵심 모듈과 실행 흐름 각각에 대한 직접적인 의존성이 목록으로 정리되어 있습니다.
디버깅 방지 및 샌드박스 탐지
NOVABLIGHT는 분석 환경을 탐지하고 회피하기 위해 환경 지문 인식 기술과 능동적 대응 조치를 결합한 다중 기술을 적용합니다. 이 점검 항목에는 다음과 같은 내용이 포함됩니다:
- VM 관련 GPU 이름(VMware, VirtualBox, QEMU) 감지
- 블랙리스트에 등록된 사용자 이름 확인 (샌드박스, 테스트, 악성 소프트웨어)
- VM 전용 드라이버 파일(balloon.sys, qemu-ga)
- 화면 해상도가 낮거나 USB 장치가 연결되어 있지 않은지 확인합니다.
- GitHub에서 IP 주소, HWID, 사용자 이름, 프로그램, 조직, GPU 이름, PC 이름 및 운영 체제의 블랙리스트를 조회합니다.
- 원격 목록에 포함된 알려진 분석 및 디버깅 도구를 적극적으로 제거합니다.
블랙리스트는 GitHub에 호스팅되어 있습니다:
- https://raw.githubusercontent.com/Mynva/sub/main/json/blocked_ips.json
- https://raw.githubusercontent.com/Mynva/sub/main/json/blocked_progr.json
- https://raw.githubusercontent.com/Mynva/sub/refs/heads/main/json/blockedorg.json
- https://raw.githubusercontent.com/Mynva/sub/main/json/blocked_GPUTYPE.json
- https://raw.githubusercontent.com/Mynva/sub/main/json/nope.json
- https://raw.githubusercontent.com/Mynva/sub/main/json/blocked_hwid.json
- https://raw.githubusercontent.com/Mynva/sub/main/json/blockedpcname.json
- https://raw.githubusercontent.com/MYnva/sub/refs/heads/main/json/blockedOS.json
디펜더 & 가 작업 관리자를 비활성화하려고 시도합니다.
NOVABLIGHT는 DisableWD.bat라는 배치 스크립트를 다운로드하고 실행하여 Windows Defender 및 관련 Windows 보안 기능을 비활성화하려고 시도합니다. 공개 GitHub 저장소에서.
이 악성 소프트웨어는 작업 관리자를 비활성화할 수 있다고 주장하며, 이로 인해 기술적 지식이 없는 사용자가 악성 프로그램을 식별하고 종료하는 것이 어려워집니다. 이 명령어는 regedit-rs
패키지의 setValues
함수를 사용하여 HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\System
아래의 DisableTaskMgr
값을 1
로 설정합니다.
그러나 regedit-rs
저장소 (v1.0.3과 일치)를 살펴보면, setValues
라는 이름의 수출된 함수는 없으며, putValue
만 존재합니다. 이 기능은 의도한 대로 작동하지 않을 수 있습니다.
인터넷 접속을 차단합니다.
피해자의 인터넷 연결을 방해하기 위해 악성 소프트웨어는 두 가지 서로 다른 방법을 사용합니다. 첫 번째 방법은 외부 npm 패키지인 wifi-control과 그 내의 resetWiFi 함수를 활용하여 Wi-Fi 어댑터를 빠르게 반복적으로 재설정하는 방식으로 지속적으로 비활성화하는 것입니다.
두 번째 방법은 ' netsh
' 명령어를 사용하여 기본 'Ethernet' 네트워크 어댑터를 비활성화합니다. 이 명령어는 5 초마다 실행되어 재활성화 시도를 방지합니다.
시스템 복구 방지
악성 소프트웨어는 구성에서 " antireset
" 플래그가 활성화된 경우 Windows 복구 환경(reagentc /disable
)을 비활성화하고 모든 볼륨 그림자 복사본(vssadmin delete shadows /all
)을 삭제하여 시스템 복구를 방해할 수 있습니다.
파일 삭제 차단
피해자에게 눈에 띄게 나타날 수 있는 또 다른 시스템 파괴 기능은 악성 소프트웨어의 실행 파일을 삭제할 수 없도록 보안 icacls “${filePath}” /deny ${currentUser}:(DE,DC)
권한을 수정하는 것입니다. 이 과정은 에서 이루어지며, DE는 삭제 권한을 거부하고 DC는 부모 폴더를 통해 삭제를 방지합니다. 또한 선택적으로 "트롤" 메시지가 포함된 팝업 메시지 상자를 생성할 수 있습니다.
자신을 잠그기 전에, 이 악성 코드는 다음 시스템 그룹에서 피해자의 계정을 제거하기 위해 PowerShell 명령어를 실행합니다: Administrators
, Power Users
, Remote Desktop Users
, Administrateurs
.
클립보드 주소 대체
악성 소프트웨어는 "에 있는 클리퍼 모듈(" )을 구현하여 시스템의 클립보드에서 암호화폐 또는 페이팔 주소가 있는지 적극적으로 모니터링합니다. 사용자가 페이로드 생성 시 자체 주소를 제공하지 않은 경우, 악성 소프트웨어는 구성 파일에서 정의된 주소로 이를 대체합니다. 만약 사용자가 자체 주소를 제공하지 않았다면, 악성 소프트웨어는 개발자가 제어하는 것으로 추정되는 고정된 주소 집합을 기본값으로 사용합니다. 이는 개발자가 경험이 부족한 사용자로부터 자금을 탈취하기 위해 설계된 것으로 보입니다.
전자 응용 주입
NOVABLIGHT는 여러 인기 있는 Electron 기반 애플리케이션에 악성 코드를 주입할 수 있습니다. 페이로드들은 엔드포인트 https://api.nova-blight[.]top/injections/*targeted_application*/*some_key*
에서 동적으로 가져오며, 다음과 같은 애플리케이션을 대상으로 합니다:
- 디스코드 클라이언트
- 엑소더스 지갑
- Mullvad VPN 클라이언트
- 원자 지갑
- Mailspring 이메일 클라이언트
우리는 공개 GitHub 저장소에서 모든 모듈을 성공적으로 복구했습니다.
주입 구현은 Electron 앱 재포장의 고전적인 예시입니다: ASAR 파일을 해제하고, 대상 소스 파일을 재작성한 후 다시 포장하는 과정입니다. Mullvad 클라이언트를 예로 들어보면, 먼저 Program Files\\Mullvad VPN\\resources\\app.asar
를 임시 디렉토리에 압축을 해제합니다. 다음으로 https://api.nova-blight[.]top/injections/mullvad/dVukBEtL8rW2PDgkwdwfbNSdG3imwU8bZhYUygzthir66sXXUuyURunOin9s
에서 백도어가 포함된 account.js
의 버전을 다운로드한 후, 소스 파일 account.js
를 덮어씁니다. 마지막으로 다시 압축을 합니다. Mullvad의 이전 버전(예: 2025.4)에서는 여전히 작동할 수 있지만, 이 기능은 Mullvad의 최신 버전에서는 작동하지 않는 것 같습니다.
Exodus 클라이언트와 유사한 사례에서 NOVABLIGHT 개발자들은 Exodus 애플리케이션의 메인 모듈에 있는 setPassphrase 함수를 수정하여 추가적인 자격 증명 정보 탈취 기능을 추가했습니다.
이것이 main/index.js
Exodus 25.28.4의 정식 릴리스에서 다음과 같습니다:
트로이목마화된 index.js
에서 사용자가 입력한 비밀번호는 구성 가능한 Discord 웹훅을 통해 유출되며, Telegram을 통해 전송됩니다. 이 과정에서 공식 Telegram API 또는 사용자 정의 Telegram API 프록시를 사용할 수 있습니다.
크롬 민감 데이터 추출
크로미움 기반 브라우저(Brave, Chrome, Edge)의 버전 137을 대상으로 하는 악성 소프트웨어는 https://github.com/Hyutop/pandakmc-auto-vote/blob/main/bin.zip에서 Chrome 데이터 복호화 도구가 포함된 ZIP 파일을 다운로드합니다.
GitHub 저장소는 마인크래프트 투표 관리 도구로 위장하려고 시도합니다.
그러나 zip 파일 에는 bin.zip
xaitax의 Chrome 앱에 바인딩된 디크립터 PoC 프로젝트의 버전 0.11.0에 해당하는 컴파일된 코드(decrypt.exe 및 chrome_decrypt.dll)가 포함되어 있습니다.
시스템 열거
NOVABLIGHT가 활성화되면, 피해자의 시스템 및 사용자 활동을 완전히 파악하기 위해 설계된 포괄적인 시스템 탐색 기능을 실행합니다. 각 모듈은 특정 정보를 대상으로 하며, 이 정보는 명령 및 제어 서버로 업로드되기 전에 로컬 디렉토리에 저장됩니다. 탐지 엔지니어는 각 기술의 구체적인 구현 방법을 기록해야 하며, 충분한 가시성을 제공하는 데이터 소스(들)를 명시해야 합니다.
captureSystemInfo()
: 광범위한 하드웨어 및 소프트웨어 사양을 수집하여 장치를 식별합니다. 이에는 하드웨어 ID(HWID), CPU 및 GPU 모델, RAM 용량, 디스크 정보, Windows OS 버전, 그리고 연결된 모든 USB 장치 목록이 포함됩니다.- 출력:
*configured_path*/System Info.txt
captureScreen()
: 피해자의 데스크톱 화면을 전체적으로 캡처하여 사용자의 현재 활동을 즉시 확인할 수 있습니다.- 방법: 스크린샷 데스크톱 라이브러리를 사용합니다.
- 출력: 시간 표시가 포함된 이미지 파일 (예: configured_path/hostname_2025-10-26_14-30-00.png).
captureTaskList()
: 현재 실행 중인 모든 프로세스의 목록을 획득하여 상황 인식을 가능하게 하며, 공격자가 활성화된 응용 프로그램 및 보안 도구를 확인할 수 있도록 합니다.- 방법: 명령어 '
tasklist /FO CSV /NH
'를 실행합니다. - 출력:
*configured_path*/TaskManagerInfo.txt
- 방법: 명령어 '
captureAVDetails()
Windows 보안 센터를 조회하여 설치된 안티바이러스 또는 엔드포인트 보호 제품을 식별합니다.- 방법: PowerShell 명령어를 실행합니다.
Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntiVirusProduct | Format-List
- 출력:
*configured_path*/Avdetails.txt
- 방법: PowerShell 명령어를 실행합니다.
captureClipboardContent()
: 사용자의 클립보드에 현재 저장된 내용을 모두 삭제합니다. 이 내용은 비밀번호나 복사한 메시지 등 민감하거나 일시적인 정보가 포함될 수 있습니다.- 방법: PowerShell 명령어 '
Get-Clipboard
'를 실행합니다. - 출력:
*configured_path*/Clipboard.txt
- 방법: PowerShell 명령어 '
captureWebcamVideo()
: 시스템의 주요 웹캠을 사용하여 비밀리에 동영상을 녹화하며, 피해자와 그 주변 환경에 대한 시각적 정보를 제공합니다.- 방법:
direct-synch-show
라이브러리를 활용합니다. - 출력:
*configured_path*/Bighead.avi
- 방법:
captureWifiPasswords()
: 기기에 저장된 모든 Wi-Fi 네트워크의 비밀번호를 유출하여, 피해자가 사용하는 다른 네트워크로의 측면 이동 또는 접근이 가능하게 합니다.- 방법: 각 프로필에 대해 명령어 '
netsh wlan show profile *wifi_ssid* key=clear
'를 실행합니다. - 출력:
*configured_path*/WifiPasswords.txt
- 방법: 각 프로필에 대해 명령어 '
getFilesUrgents
이 기능은 디스크에 저장된 파일을 특정 키워드에 따라 추출합니다. 키워드는 다음과 같습니다: backup, default, code, discord, token, passw, mdp, motdepasse, mot_de_passe, login, secret, account, acount, apacht, banque, bank, matamask, wallet, crypto, exdous, 2fa, a1f, memo, compone, finance, seecret, credit, cni. 이 파일들은files.zip
형식으로 압축되어 C2로 전송됩니다.
데이터 반출
도난된 데이터에 대한 3 채널은 다음과 같습니다: NOVABLIGHT 그룹이 소유한 공식 웹 패널, Discord 웹훅 API, 및 Telegram API. 이 채널들의 상태는 불확실합니다. 주요 프록시 API와 웹 패널이 현재 다운되어 있어, 동일한 프록시 인프라를 사용하는 디스코드 및 텔레그램 채널의 기능이 중단될 수 있습니다.
웹 패널은 한때 공식적인 데이터 유출 채널로 사용되었으며, 그들의 주요 데이터 관리 플랫폼으로 홍보되었습니다.
텔레그램 구현은 먼저 데이터를 구성된 프록시 URL로 전송하려고 시도합니다. 코드는 해당 URL에 req
문자열이 포함되어 있는지 확인합니다. 이 경우 https://bamboulacity.nova-blight[.]xyz/req/dVukBEtL8rW2PDgkwdwfbNSdG3imwU8bZhYUygzthir66sXXUuyURunOin9s
입니다.
프로xy URL이 구성되지 않았거나 조건을 충족하지 않을 경우, 모듈은 구성된 userId, chatId 및 botToken을 사용하여 공식 Telegram API( https://api.telegram[.]org/bot*token*/sendMessage
)와 직접 통신하여 도난당한 데이터를 전송합니다.
텔레그램 모듈과 달리 디스코드 웹훅 구현은 훨씬 간단합니다. 이 시스템은 데이터 유출을 위해 단일 URL을 사용하며, 대체 메커니즘이 없습니다. 분석된 샘플들은 이 목적으로 일관되게 사용자 정의 프록시 URL을 사용했습니다.
NOVABLIGHT는 중복 및 다중 계층 구조의 인프라를 채택하고 있습니다. 단일 업로드 호스트에 의존하는 대신, 이는 단일 고장 지점을 생성할 수 있기 때문에, 악성 코드는 합법적인 제3자 파일 호스팅 서비스와 자체 전용 백엔드를 결합하여 활용합니다. 다음은 추출된 도메인 및 엔드포인트 목록입니다:
https://bashupload[.]com
https://litterbox.catbox[.]moe/resources/internals/api.php
https://tmpfiles[.]org/api/v1/upload
https://oshi[.]at/
http://sendfile[.]su/
https://wsend[.]net
https://api.gofile[.]io/servers
https://gofile[.]io/uploadFiles
https://rdmfile[.]eu/api/upload
https://bamboulacity.nova-blight[.]xyz/file/
대상 데이터
NOVABLIGHT는 특정 목록에 포함된 설치된 소프트웨어로부터 자격 증명 및 세션 파일을 훔치기 위해 설계된 타겟팅된 루틴을 실행합니다. 큐레이션된 목록은 이 GitHub Gist에서 확인할 수 있습니다.
난독화 기술
배열 매핑
첫 번째로 다루어야 할 기술은 악성 소프트웨어의 배열 매핑 사용입니다. 스크립트는 다양한 유형과 인코딩을 가진 값으로 구성된 단일 대형 글로벌 배열 __p_6Aeb_dlrArray
을 초기화합니다. 이 배열은 스크립트에서 사용되는 거의 모든 리터럴 값을 포함합니다.
배열 인덱스 참조를 대체한 후, 전체 문자열을 구성하는 많은 작은 문자열 조각들이 실행 시점에 분할되고 연결됩니다. 그러나 이 단계에서 NOVABLIGHT 버전 번호는 쉽게 식별될 수 있습니다.
문자열 인코딩
문자열을 숨기는 두 번째 기술은 base91 인코딩을 사용하는 것입니다. 함수 래퍼 ` __p_xIFu_MAIN_STR
`는 정수 인수로 호출됩니다.
정수는 인코딩된 문자열을 포함하는 보조 배열 __p_9sMm_array
의 인덱스입니다. 인코딩된 문자열을 가져와서 디코딩 루틴 __p_xIFu_MAIN_STR_decode
에 전달합니다.
__p_xIFu_MAIN_STR_decode
그런 다음 사용자 정의 알파벳을 사용하여 이를 해독합니다:
vFAjbQox\>5?4K$m=83GYu.nBIh\<drPaN\^@%Hk:D_sSyz"ER9/p,(*JwtfO)iUl&C\[~\}\{|Z+gX1MqL;60!e]T#2cVW7
그리고 해독된 문자열을 반환합니다.
접근 패턴 난독화
객체와 함수를 직접 액세스하는 대신, 코드는 중간에 평평하게 변환된 "프로xy" 객체를 사용하며, 이 객체들은 변형된 키를 가지고 있습니다. 이 객체들은 원래의 액세스 패턴을 숨기기 위해 다른 객체 층으로 감싸져 있습니다.
예를 들어, 함수 ` __p_LQ1f_flat_…
`에는 평면 객체 ` __p_w3Th_flat_object
`가 전달됩니다. 이 객체에는 속성에 대한 액세서리 메서드( 3 )가 포함되어 있으며, 이 중 하나는 구성에서 가져온 disableNetwork 플래그를 반환합니다. 또한 디스패처 호출을 감싸는 래퍼(__p_jGTR_dispatcher_26
)도 포함되어 있습니다. 코드 전체에서 속성 이름이 empretecerian.js
로 시작하는 패턴이 있습니다. 이 패턴은 우연히도 스크립트 파일의 이름과 동일합니다. 호출된 함수는 호출자가 생성한 이 평면 객체를 통해 실제 객체와 함수에 접근할 수 있습니다.
제어 흐름 난독화
일부 코드의 실행 경로는 중앙 디스패처인 ` __p_jGTR_dispatcher_26
`를 통해 전달됩니다. 이 디스패처의 첫 번째 인수로 짧은 ID 문자열이 전달됩니다.
각 ID는 고유한 기능에 매핑됩니다. 예를 들어, ID jgqatJ
는 modules/init/Troll.js
모듈에 의해 참조되며, 이 ID는 "troll" 팝업 메시지 상자를 담당합니다.
대리 변수
먼저, 난독화 과정은 함수 구문을"여분 매개변수 구문"으로 변환합니다. 이 과정에서 매개변수는 직접적인 변수 대신 변수 값을 저장하는 배열로 대체되며, 코드는 해당 배열을 숫자 값으로 참조합니다. 예를 들어, 함수 ` __p_xIFu_MAIN_STR_decode
`는 직접적인 매개변수와 함께 호출되지 않습니다. 대신, 해당 인수는 먼저 __p_A5wG_varMask
배열(22행)에 저장되며, 함수는 미리 정의된 인덱스에서 해당 인수를 가져오도록 프로그래밍되어 있습니다. 예를 들어, 25행에서 배열의 인덱스 -36
는 문자열 __p_A5wG_varMask[171]
에 저장된 문자열에서 ' "c" '의 인덱스를 저장합니다.
노바블라이트와 미트레 ATT&CK
Elastic은 MITRE ATT& CK 프레임워크를 사용하여 지능형 지속적 위협이 기업 네트워크에 대해 사용하는 일반적인 전술, 기술 및 절차를 문서화합니다.
전술
기술
- 난독화된 파일 또는 정보
- 프로세스 검색
- 명령 및 스크립팅 인터프리터: PowerShell
- 명령 및 스크립트 인터프리터: JavaScript
- 데이터 스테이징: 로컬 데이터 스테이징
- 시스템 정보 검색
- 파일 및 디렉토리 탐색
- 화면 캡처
- 클립보드 데이터
- 비디오 캡처
- 가상화/샌드박스 회피: 시스템 검사
- 계정 액세스 제거
- 비밀번호 저장소에서 가져온 자격 증명: 웹 브라우저에서 가져온 자격 증명
- 방어력 약화: 도구 비활성화 또는 수정
- 웹 서비스를 통한 데이터 유출: 클라우드 저장소로의 데이터 유출
결론
NOVABLIGHT는 덜 알려진 악성 소프트웨어조차도 큰 영향을 미칠 수 있음을 보여줍니다. 텔레그램과 디스코드와 같은 플랫폼을 통해 정교하고 사용하기 쉬운 도구를 제공함으로써, 이 도구의 개발자들은 누구나 사이버 범죄에 참여하기 쉽게 만들었습니다.
또한, 이 위협은 고정된 것이 아닙니다. 우리의 분석 결과, NOVABLIGHT는 지속적인 개발이 진행 중이며 활발히 진행되고 있음을 확인했습니다. 이 지속적인 진화는 NOVABLIGHT가 가까운 미래에도 지속적인 위협으로 남아있을 것임을 보장합니다.
NOVABLIGHT 감지
YARA
Elastic Security는 이 활동을 식별하기 위해 YARA 규칙을 만들었습니다.
rule Windows_Infostealer_NovaBlight {
meta:
author = "Elastic Security"
creation_date = "2025-07-18"
last_modified = "2025-07-28"
os = "Windows"
arch = "x86"
category_type = "Infostealer"
family = "NovaBlight"
threat_name = "Windows.Infostealer.NovaBlight"
reference_sample = "d806d6b5811965e745fd444b8e57f2648780cc23db9aa2c1675bc9d18530ab73"
strings:
$a1 = "C:\\Users\\Administrateur\\Desktop\\Nova\\"
$a2 = "[+] Recording..." fullword
$a3 = "[+] Capture start" fullword
condition:
all of them
}
관찰
이 연구에서는 다음과 같은 관찰 가능성에 대해 논의했습니다.
관측 가능합니다. | 유형 | 이름 | 참조 |
---|---|---|---|
ed164ee2eacad0eea9dc4fbe271ee2b2387b59929d73c843281a8d5e94c05d64 | SHA-256 | 노바라이트 버전 2.2 | |
39f09771d70e96c7b760b3b6a30a015ec5fb6a9dd5bc1e2e609ddf073c2c853d | SHA-256 | 노바블라이트 버전 2.1 | |
97393c27195c58f8e4acc9312a4c36818fe78f2ddce7ccba47f77a5ca42eab65 | SHA-256 | 노바라이트 버전 2.0 | |
api.nova-blight[.]top | 도메인 | 노바블라이트 대시보드 | |
shadow.nova-blight[.]top | 도메인 | 노바블라이트 대시보드 | |
nova-blight[.]site | 도메인 | 노바블라이트 대시보드 | |
nova-blight[.]xyz | 도메인 | 노바블라이트 대시보드 | |
bamboulacity.nova-blight[.]xyz | 도메인 | 노바블라이트 대시보드 |
참고 자료
위의 조사에서 참조한 내용은 다음과 같습니다: