최근 개발 상황: KMG 그룹, 시뮬레이션 공격 확인, 실제 공격 아님
다행히도 KMG가 공개적으로 인정했듯이 이는 실제 사이버 공격이 아니라 내부 시뮬레이션 훈련이었습니다.
목차
- 개요
- 주요 목표
- 영향을 받는 산업
- 지리적 초점.
- 감염 사슬.
- 초기 발견
- 악성 이메일을 살펴보고 있습니다.
- 미끼 문서를 살펴보세요.
- 기술 분석
- 0단계 – 악성 ZIP 및 LNK 파일.
- 1단계 – 악성 BATCH 스크립트.
- 2단계 – 악성 DOWNSHELL 로더.
- 3단계 – 악성 DLL 이식.
- 인프라와 사냥.
- 속성
- 맺음말
- 시크라이트 보호.
- IOC
- 미터 공격.
저자: Subhajeet Singha 및 Sathwik Ram Prakki
개요
Seqrite Labs APT-Team은 2025년 XNUMX월부터 Noisy Bear라는 이름으로 추적되는 새로운 위협 그룹을 추적하고 밝혀냈습니다. 시끄러운 곰이 위협 그룹은 카자흐스탄의 석유 및 가스 또는 에너지 부문 등 중앙아시아의 여러 기관을 표적으로 삼았습니다. 이 캠페인은 KazMunaiGas 또는 KMG 직원을 대상으로 진행되었으며, 위협 그룹은 KMG IT 부서와 관련된 가짜 문서를 배포했습니다. 이 문서는 공식적인 내부 커뮤니케이션을 모방하고 정책 업데이트, 내부 인증 절차, 급여 조정 등의 주제를 활용했습니다.
이 블로그에서는 분석 과정에서 발견한 캠페인의 심층적인 기술적 세부 사항을 살펴보겠습니다. 이 캠페인의 여러 단계를 살펴보겠습니다. 감염은 ZIP 파일 첨부 파일이 있는 피싱 이메일로 시작되는데, 이 이메일에는 악성 LNK 다운로더와 미끼가 포함되어 있습니다. 이 미끼는 악성 BATCH 스크립트를 추가로 다운로드하고, 이를 통해 다운셸(DOWNSHELL)이라고 명명한 PowerShell 로더가 악성 DLL 임플랜트를 반사적으로 로딩합니다. 또한 전체 캠페인을 포괄하는 인프라도 살펴보겠습니다.
주요 목표
영향을 받는 산업
- 에너지 부문 [석유 및 가스]
지리적 초점
- 카자흐스탄
감염 사슬

초기 발견
저희는 2025년 2025월부터 이 위협 행위자를 추적해 왔으며, 이 위협 주체가 XNUMX년 XNUMX월 스피어 피싱 방식을 사용하여 KazMunaiGas 직원들을 대상으로 공격 캠페인을 개시한 것을 확인했습니다. 감염된 비즈니스 이메일을 통해 악성 ZIP 파일이 유포되었는데, 이 파일에는 미끼와 함께 악성 초기 감염 기반 바로가기(.LNK) 파일인 그래픽 다운로드.lnk, Salary Schedule.lnk로 번역될 수 있습니다. 이 샘플은 2025년 XNUMX월 상반기에 Virus Total에 처음 등장했습니다.
이제 악성 이메일과 미끼 파일을 살펴보겠습니다.
악성 이메일을 살펴보다

처음에 이메일 파일의 발신자를 조사한 결과, 위협 행위자가 KazMunaiGas 재무부 직원의 손상된 비즈니스 이메일을 사용했으며, 해당 이메일과 "긴급!"이라는 제목의 이메일을 KMG 직원들에게 발송한 것으로 확인되었습니다.

나중에 이메일 내용을 확인해 보니, 해당 메시지는 주로 급여 관련 논의나 결정과 관련된 내부 HR 커뮤니케이션처럼 보이도록 작성되었다는 것이 분명해졌습니다. 메시지는 기본적으로 근무 일정, 급여, 인센티브 관련 정책 및 결정 사항 등 여러 가지 최신 정보를 검토하라는 내용이었습니다. TA는 또한 KMG 담당자들에게 " 그래픽.zip Schedule.zip으로 변환한 다음 다음과 같은 파일을 엽니다. 그래픽 디자인 이는 급여 일정으로 변환되는데, 기본적으로 추가 스테이저를 다운로드하기 위해 실행되는 바로 가기(LNK) 파일입니다.

마지막으로, 이메일에는 15년 2025월 XNUMX일까지 지시 사항을 완료하라는 내용이 있어 긴박감을 더하고 있습니다. 이제 미끼 파일을 분석해 보겠습니다.
미끼 문서를 살펴보다

미끼 문서를 살펴보면, 대상 기관인 KazMunaiGas의 공식 로고와 러시아어 및 카자흐어로 작성된 지침이 포함되어 있습니다. 이 지침은 직원들에게 브라우저에서 다운로드 폴더를 열고 KazMunayGaz_Viewer.zip이라는 이름의 ZIP 파일을 추출한 후 KazMunayGaz_Viewer라는 파일을 실행하라는 간단한 단계를 안내합니다. 파일 이름은 중요하지 않지만, 이 파일이 악성 이메일에서 삭제된 정확한 파일이라고 추정됩니다. 미끼 문서는 또한 콘솔 창이 나타날 때까지 기다리라고 사용자에게 경고하며, 대상 측의 의심을 최소화하기 위해 창을 닫거나 조작하지 말라고 구체적으로 권고합니다. 마지막으로, 미끼 문서에는 위와 같은 아티팩트가 포함되어 있으며, 완전히 합법적인 것처럼 보이도록 인사말에 IT 지원팀을 언급합니다.
기술 분석
기술적 분석을 4가지 부분으로 나누었습니다. 먼저 LNK 파일이 포함된 악성 ZIP 파일을 살펴보고, 악성 배치 스크립트를 추가로 다운로드한 다음, 스크립트 기반 로더를 다운로드한 다음 악성 DLL을 다운로드합니다.
0단계 – 악성 ZIP 및 LNK 파일.

처음에 ZIP 파일을 살펴보니 세 개의 파일이 있었는데, 그 중 하나는 처음에 본 미끼 문서이고, 두 번째 파일은 README.txt로 밝혀졌습니다. 이는 다시 한번 지침이 있는지 확인하여 의심스럽지 않게 보이게 하고, 두 번째 파일은 악성 LNK 파일로 밝혀졌습니다.
![]()
이제 График зарплат라는 악성 바로가기(.LNK) 파일을 살펴본 결과, 이 파일이 powershell.exe LOLBIN을 사용하여 다운로더 기반 동작을 실행하고 있음을 발견했습니다.

원격 서버인 hxxps[://]123[.]77[.]239[.]125[:]41에서 8443.bat이라는 악성 배치 스크립트를 다운로드하고, 다운로드가 완료되면 배치 스크립트를 C:\Users\Public 경로에 저장한 다음, 해당 경로에서 Start-Process cmdlet을 사용하여 배치 스크립트를 실행합니다.
마찬가지로, 비슷한 LNK 파일을 찾던 중, 같은 캠페인에 속하지만 약간 다르게 보이는 또 다른 LNK를 발견했습니다.

이 악성 LNK 파일은 정적 서명 감지를 피하기 위해 작은 피연산자 조작을 사용하지만, 문자열 리터럴을 연결하고 동일한 원격 서버에서 일괄 스크립트를 추가로 다운로드하여 공용 폴더에 저장한 다음 cmdlet을 통해 실행합니다.
다음 섹션에서는 악성 BATCH 스크립트를 살펴보겠습니다.
1단계 – 악성 BATCH 스크립트

이제 BATCH 스크립트 중 하나인 it.bat을 살펴보면, support.ps1과 a.ps1이라는 원격 서버에서 DOWNSHELL이라는 이름의 PowerShell 로더를 다운로드하고 있는 것을 볼 수 있습니다. 다운로드가 완료되면 총 11초 동안 대기합니다.

이제 두 번째 배치 스크립트(즉, 123.bat 파일)를 살펴보면 역시 PowerShell 로더를 다운로드한 후 10초간 대기하는 동일한 작업을 수행합니다.
다음 섹션에서는 PowerShell로 작성된 DOWNSHELL 로더의 작동 방식을 이해하도록 하겠습니다.
2단계 – 악성 DOWNSHELL 로더
이 섹션에서는 DOWNSHELL이라는 악성 PowerShell 스크립트 세트를 살펴보겠습니다. 첫 번째 PowerShell 파일인 support.ps1은 기본적으로 대상 컴퓨터의 방어를 방해하는 스크립트이며, 후자는 로더 지향 기능을 수행하는 역할을 합니다.

코드를 살펴보면 스크립트가 기본적으로 문자열 연결을 통해 "System.Management.Automation"을 빌드하여 대상 네임스페이스를 난독화한 다음 모든 것을 열거한다는 것을 알아냈습니다. 로드된 .NET 어셈블리 현재 AppDomain에서 FullName이 해당 네임스페이스와 일치하는 항목을 필터링합니다.
그런 다음 리플렉션 기법을 사용하여 내부 유형 System.Management.Automation.AmsiUtils를 확인합니다. 이 유형은 기본적으로 비공개 정적 필드 amsiInitiFailed를 검색합니다. 따라서 이 플래그를 변경하거나 뒤집으면 PowerShell에서 AMSI가 초기화에 실패했다고 판단하여 DOWNSHELL 계열에 속하는 다른 악성 스크립트가 검사되지 않고 아무런 문제나 중단 없이 실행됩니다. 이제 두 번째 PowerShell 스크립트를 살펴보겠습니다.

코드의 첫 부분을 살펴보면, 유명한 레드팀 에뮬레이션 기반 도구인 PowerSploit을 복사한 것처럼 보입니다. LookUpFunc 함수는 기본적으로 지정된 DLL에서 기존 DllImport 또는 Add-Type 호출을 사용하지 않고 동적으로 내보낸 함수의 메모리 주소를 검색합니다. 이 함수는 이미 로드된 System.dll 어셈블리에서 Microsoft.Win32.UnsafeNativeMethods 형식을 찾은 다음, GetModuleHandle 및 GetProcAddress에 대한 숨겨진 .NET 래퍼를 추출하여 호출합니다. 먼저 대상 모듈($moduleName)의 기본 주소를 확인한 다음 대상 함수 이름($functionName)과 함께 전달하여 해당 API에 대한 원시 함수 포인터를 반환합니다. 이는 필수적입니다.
코드의 두 번째 부분을 살펴보면, getDelegateType 함수는 기본적으로 메모리에 있는 사용자 지정 .NET 대리자를 즉석에서 생성합니다. 이 함수는 매개 변수 유형을 받아서 특정 유형을 반환하고, 이를 사용하여 새 대리자 클래스를 빌드하고, Invoke 메서드를 제공하여 일반 함수처럼 사용할 수 있도록 합니다. 이를 통해 전체 스크립트가 LookupFunc에서 가져온 원시 함수 포인터를 PowerShell에서 직접 호출할 수 있는 형태로 래핑할 수 있습니다. 따라서 일반적인 방식으로 함수를 임포트한 후 explorer.exe 프로세스의 프로세스 ID를 쿼리하여 변수에 저장할 필요 없이 WinAPI 함수를 쉽게 실행할 수 있습니다.

스크립트의 후반부 뒤에는 Meterpreter reverse_tcp를 포함하는 바이트 배열이 나옵니다.쉘코드이는 기본적으로 OpenProcess, VirtualAllocEx, WriteProcessMemory, CreateRemoteThread를 사용하는 고전적인 Create-RemoteThread 주입 기법을 사용하여 대상 프로세스인 explorer.exe 내부에 셸코드를 주입한 후, "Injected! Check your listener!"라는 메시지를 표시합니다.

글쎄요, 이 스크립트의 흥미로운 부분은 이 스크립트의 일부가 주석으로 처리되어 있으며 이 경우 메모장인 원격 프로세스에 반사 DLL 주입을 수행한다는 것입니다. 파워스플로잇 원격 서버에 호스팅되어 다운로드되고 Meterpreter 기반 DLL이 사용됩니다. 또 다른 흥미로운 사례는 러시아어 주석입니다. 다음 사례에서는 DLL을 살펴보겠습니다.
3단계 – 악성 DLL 임플란트

처음에 우리는 PE 분석 도구에서 DLL 임플란트를 확인했고, DLL 임플란트 또는 셸코드 로더가 64비트 바이너리라는 것이 확인되었습니다.

다음으로, 코드를 살펴보면, 임플란트가 세마포어를 일종의 문지기로 사용하여 한 번에 하나의 사본만 실행되도록 하는 것을 알 수 있습니다. 이 경우 임플란트는 Local_doSZQmSnP12lu4Pb5FRD라는 명명된 객체를 사용합니다. 임플란트가 시작되면 이 세마포어를 생성하려고 시도하는데, 이미 존재한다면 다른 인스턴스가 활성화되어 있음을 의미합니다. 이를 다시 확인하기 위해 세마포어에 WaitForSingleObject를 사용하여 특정 명명된 이벤트를 찾습니다. 해당 이벤트가 존재하면 다른 인스턴스가 이미 설정을 완료했음을 알 수 있습니다. 그렇지 않으면 이벤트를 직접 생성합니다.

이제 인스턴스 수를 확인하는 이전 함수에 따라 다음 단계는 일시 중단된 방식으로 rundll32.exe 프로세스를 생성하는 것입니다.

프로세스를 일시 중단 상태로 생성한 후, 임플란트는 고전적인 스레드 컨텍스트 하이재킹을 수행합니다. 기본 스레드에서 GetThreadContext를 호출하고, VirtualAllocEx를 사용하여 대상 스레드의 RWX 메모리를 예약하고, WriteProcessMemory를 사용하여 셸코드를 삭제하고, SetThreadContext를 통해 스레드의 RIP가 해당 버퍼를 가리키도록 업데이트하고, 마지막으로 ResumeThread를 호출하여 주입된 셸코드에서 실행을 계속합니다. 이 경우 셸코드는 기본적으로 역방향 셸입니다.
인프라 및 사냥
위협 실체가 사용했던 인프라를 조사한 결과, 몇 가지 흥미로운 세부 정보를 발견했습니다.
도구 무기고

위협 행위자가 사용한 것으로 보이는 도구와 함께, 위협 행위자가 추가 사용을 위해 호스팅한 오픈 소스 레드팀 지향 도구도 있다는 사실을 발견했습니다.
피벗

유사한 지문을 사용하여 우리는 유사한 위협 행위자에 속하는 유사한 인프라를 사냥했습니다.
가장 흥미로운 부분 중 하나는 두 인프라가 모두 다음과 같은 허가된 호스팅 회사에서 호스팅된다는 것입니다. 에자 그룹 LLC.

또 다른 흥미로운 점은 러시아인을 대상으로 웰빙, 피트니스, 건강 지원과 관련된 의심스러운 웹 애플리케이션이 많이 호스팅되고 있다는 사실을 발견했다는 것입니다.
속성
귀속은 위협 실체를 설명할 때 매우 중요한 지표입니다. 여기에는 전술, 기법 및 절차(TTP), 운영상의 실수, 유사 인프라 아티팩트의 순환 및 재사용, 귀속으로 이어질 수 있는 운영상의 실수 등 다양한 영역을 분석하고 상관관계를 분석하는 과정이 포함됩니다.
Noisy Bear에 대한 우리의 지속적인 추적에서 우리는 툴 내부에 존재하는 언어, 승인된 웹 호스팅 서비스 사용 및 이전에 유사한 중앙아시아 국가를 표적으로 삼은 러시아 위협 실체와 관련된 유사한 행동적 아티팩트와 같은 많은 아티팩트를 발견했습니다. 따라서 우리는 위협 행위자가 러시아 출신일 가능성이 있다고 생각합니다.
맺음말
NoisyBear라는 이름의 위협 실체가 카자흐스탄 에너지 부문을 표적으로 삼고 있으며, 특정 회사의 미끼를 사용하고 PowerShell과 Metasploit과 같은 오픈소스 사후 악용 도구에 크게 의존하고 있으며, 이를 공인된 웹 호스팅 제공업체를 통해 호스팅하고 있다는 사실을 발견했기 때문에 이 위협 행위자는 2025년 XNUMX월부터 활동해 왔다고 결론 내릴 수 있습니다.
SEQRITE 보호
TBD
IOC
| 파일 유형 | SHA-256 | |
| Outlook | 5168a1e22ee969db7cea0d3e9eb64db4a0c648eee43da8bacf4c7126f58f0386 | |
| ZIP | 021b3d53fe113d014a9700488e31a6fb5e16cb02227de5309f6f93affa4515a6 | |
| ZIP | f5e7dc5149c453b98d05b73cad7ac1c42b381f72b6f7203546c789f4e750eb26 | |
| LNK | a40e7eb0cb176d2278c4ab02c4657f9034573ac83cee4cde38096028f243119c | |
| LNK | 26f009351f4c645ad4df3c1708f74ae2e5f8d22f3b0bbb4568347a2a72651bee | |
| 배치 스크립트 | d48aeb6afcc5a3834b3e4ca9e0672b61f9d945dd41046c9aaf782382a6044f97 | |
| 배치 스크립트 | 1eecfc1c607be3891e955846c7da70b0109db9f9fdf01de45916d3727bff96e0 | |
| PowerShell을 | da98b0cbcd784879ba38503946898d747ade08ace1d4f38d0fb966703e078bbf | |
| PowerShell을 | 6d6006eb2baa75712bfe867bf5e4f09288a7d860a4623a4176338993b9ddfb4b | |
| PowerShell을 | fb0f7c35a58a02473f26aabea4f682e2e483db84b606db2eca36aa6c7e7d9cf8 | |
| DLL | 1bfe65acbb9e509f80efcfe04b23daf31381e8b95a98112b81c9a080bdd65a2d | |
| 도메인/IP | ||
| 77 [.] 239 [.] 125 [.] 41 | ||
| 웰핏플랜[.]루 | ||
| 178 [.] 159 [.] 94 [.] 8 | ||
MITER ATT & CK
| 술책 | 기술 ID | 성함 |
| 정찰 | T1589.002 | 피해자 신원 정보 수집: 이메일 주소 |
| 초기 액세스 | T1204.002
T1078.002 |
사용자 실행: 악성 파일 유효한 계정: 도메인 계정 |
| 실행 | T1059.001
T1059.00 |
명령 및 스크립팅 인터프리터: PowerShell |
| 방어 회피 | T1562
T1027.007 T1027.013 T1055.003 T1620 T1218.011 |
방어력 약화
동적 API 해상도 암호화/인코딩된 파일 스레드 실행 하이재킹 반사 코드 로딩 시스템 바이너리 프록시 실행: Rundll32 |
| 명령 및 제어 | T1105 | 인그레스 도구 전송 |
| 여과 | T1567.002 | 클라우드 스토리지로의 유출 |
각주:
설명
일부 사이버 보안 매체는 Seqrite의 조사 결과를 다음과 같은 방식으로 표현했습니다. NoisyBear는 5월에 KazMunayGas 재무 직원의 사서함을 해킹하여 피싱 이메일을 보내는 데 사용했습니다. 한 언론사에서도 우리에게 논평을 요청했다고 주장했지만, 우리는 그러한 요청을 받지 않았습니다.
Seqrite의 위치
위의 원래 블로그에서 자세히 설명한 대로, 우리의 조사에서는 다음과 같이 명확하게 언급했습니다. "메시지는 대부분 내부 HR 커뮤니케이션처럼 보이도록 작성되었습니다." 해당 이메일은 사서함 침해의 결과가 아니라 스푸핑된 이메일일 가능성이 높다는 점을 강조했습니다. 공개 악성코드 저장소의 샘플을 분석한 결과, 이메일, 사용 설명서, 페이로드 주석 전체에 걸쳐 러시아어가 일관되게 사용되었습니다. 또한, 이 캠페인과 연결된 C&C 인프라가 2025년 XNUMX월 사이버 범죄 활동을 지원하는 혐의로 미국으로부터 제재를 받은 Aeza Group LLC에 호스팅되어 있다는 사실도 확인했습니다.
테스트 ID와 레드팀 도구는 시뮬레이션 훈련과 실제 사이버 작전에서 잘 알려진 공격자들 모두에서 흔히 사용된다는 점에 유의해야 합니다. 이 경우, 확인된 지표는 외부 위협 그룹이 아닌 KMG 내부 피싱 훈련의 일환으로 생성되었음을 알려드립니다. 저희는 이 활동을 " 배럴파이어 작전.



