Resources
  • 연구
  • 위협 정보 단편 보고서
Kimsuky그룹의 GitHub 기반 악성코드 유포 및 정보 탈취 정황
2025.09.09

✅ 보고서 제목: Kimsuky그룹의 GitHub 기반 악성코드 유포 및 정보 탈취 정황



✅ 보고서 요약:


- S2W의 위협 연구 및 인텔리전스 센터 TALON은 최근 북한 배후 APT 그룹인 Kimsuky 그룹이 GitHub 레포지토리를 지속적으로 악용하고 있는 정황을 포착하고, 이에 대한 분석을 진행하였습니다.


- 공격자는 악성 LNK 파일을 통해 GitHub 레포지토리에서 추가 악성 스크립트를 다운로드 및 실행하였습니다.


- 공격자는 해당 레포지토리에 접근하기 위해 GitHub Private Token 값을 하드코딩하여 사용하였습니다.


- 추가로 다운로드된 PowerShell 스크립트는 마지막 부팅 시간, 시스템 정보, 프로세스 목록 등의 정보를 수집하여 로그 파일로 기록한 뒤, 이를 공격자의 레포지토리에 업로드하였습니다.



📌 상세분석



1) NTS_Attach.zip


- ZIP 파일 내부에는 전자세금계산서 내용으로 위장한 LNK 파일이 존재합니다.



2) 전자세금계산서.pdf.lnk


- 전자세금계산서 PDF 파일로 위장한 바로가기(LNK) 파일을 실행하면, 인자로 설정된 PowerShell 명령어를 통해 추가 스크립트가 드랍 및 실행됩니다.



3) main.ps1


- 드랍된 main.ps1 파일은 공격자가 사용하는 GitHub의 Private 레포지토리로부터 Decoy 문서와 추가 스크립트 악성코드를 다운로드 받아 실행하는 역할을 수행합니다. 공격자는 특정 레포지토리에 접근하기 위해 Private Token 값을 하드코딩하여 사용하였습니다.
  - GitHub Repository: hxxps://github[.]com/God0808RAMA/group_0721/)


- 정상 Decoy 문서는 전자세금계산서 내용으로, 실행 시 아래와 같습니다. 




- 이후 “group_0721” 레포지토리로부터 “real.txt” 파일을 다운로드 받고, 해당 파일 내 “$upFolder” 문자열을 “ntxBill_{MMdd_HHmm}”로 변경합니다. 그리고 수정된 스크립트는 “real.txt_{MMdd_HHmm}.txt” 파일 이름으로 공격자의 레포지토리에 다시 업로드됩니다. 이 과정을 통해 감염 시간에 따른 스크립트를 동적으로 관리하게 됩니다.


- 다음으로는 지속성 확보를 위해 %AppData% 경로에 "MicrosoftEdgeUpdate.ps1” 파일을 생성하고, main.ps1에서 정의한 PowerShell 명령 블록을 기록합니다.


- 이 PowerShell 블록은 이전 단계에서 업로드했던 “real.txt_{MMdd_HHmm}.txt” 파일을 다시 다운로드 받아 AppData 경로 하위에 “temporary.ps1” 이름으로 저장 및 실행합니다.


- 그리고 새로운 작업 스케줄러를 생성하여 “temporary.ps1” 파일을 30분 간격으로 실행하도록 설정합니다.
  - Task Name: BitLocker MDM policy Refresh{DBHDFE12-496SDF-Q48D-SDEF-1865BCAD7E00}
  - Trigger: 5분 후 1회 시작, 30분 간격으로 반복


- 위 과정을 통해 공격자는 실행 시간에 따라 자동으로 새로운 PowerShell 스크립트를 다운로드 받아 사용할 수 있게 됩니다.


- 이 외에도 레포지토리로부터 first.txt 파일을 다운로드 받아 동일한 방식으로 폴더명을 “ntxBill_{MMdd_HHmm}”으로 변경하고 %AppData% emporary.ps1로 저장한 뒤 실행합니다. 이는 작업 스케줄러에 의해 실행되기 전, 초기 감염 직후 실행하기 위한 목적으로 추정됩니다.



4) temporary.ps1: Info-stealer


- 가장 먼저 다운로드되어 temporary.ps1로 저장된 “first.txt” 파일은 정보 탈취 유형의 스크립트로, 다음과 같은 항목을 수집합니다.
  - IP 주소(첫 번째 NIC의 첫 번째 IP 주소)
  - 현재 시각(MMdd_HHmm)
  - 마지막 부팅 시간
  - OS 기본 정보(Caption/Version/Build/OSArchitecture)
  - 컴퓨터 시스템 정보(제조사/모델/도메인/메모리 등, Win32_ComputerSystem 전체)
  - 장비 구분: Note(Mobile/노트북) 또는 Desk 여부
  - OS 설치일(InstallDate)
  - 실행 중인 프로세스 목록


- 위 항목은 로그 파일에 순서대로 기록되어 레포지토리 내 “ntxBill_{MMdd_HHmm}” 폴더에 업로드됩니다.



5) temporary.ps1: Time Logger


- 이후 다운로드된 “real.txt_{MMdd_HHmm}.txt” 파일은 temporary.ps1로 저장되어 작업 스케줄러에 의해 실행됩니다. 해당 스크립트는 아래와 같은 형식의 로그 파일을 생성하고, 마지막 부팅 시간을 기록합니다. 이 로그 파일은 “ntxBill_{MMdd_HHmm}” 폴더에 업로드됩니다.



📌 Kimsuky 그룹이 사용한 GitHub Repositories


- 해당 Token 값을 통해 공격자가 사용하는 Private 레포지토리 목록을 확인 가능하며, 2025년 8월 20일을 기준으로 9개의 레포지토리가 발견되었습니다.
  - group_0717/
  - group_0721/
  - test/
  - hometax/
  - group_0803/
  - group_0805/
  - group_0811/
  - fsc_doc/
  - repayment/


- 또한, 각 레포지토리의 커밋 이력을 통해 공격자가 GitHub에 가입할 때 사용한 이메일 주소를 확인할 수 있었습니다.
  - Email: sahiwalsuzuki4[@]gmail.com


- 각 레포지토리에는 악성코드에 감염된 피해 로그와 공격에 사용된 정상 Decoy 문서 파일이 존재하고 있으며, 채무상환 독촉장과 사업보고서 등에 대한 조사 및 감리결과 조치 사항 등의 문서가 포함되어 있는 것으로 확인되었습니다.


- 특히, 공격자의 테스트로 추정되는 감염 로그 파일이 식별되었는데 정보 탈취 유형의 악성코드를 통해 기록된 로그 파일 중 실행 중인 프로세스 목록에 “xeno_rat_server”와 “rdpclip” 등이 포함된 점이 발견되었습니다.



✅ 위협 탐지 권장 사항 및 조치 방안:


- Kimsuky 그룹은 GitHub 등 정상 인프라를 악용하고 PowerShell 기반 악성코드를 통해 정보 탈취를 지속적으로 시도하고 있으므로, api.github.com의 PUT /repos//contents/ 트래픽을 모니터링하고 예약 작업 생성 여부를 탐지하는 등의 대응이 필요합니다.



🧑‍💻 보고서 작성자: S2W TALON


👉 보고서 전문 문의하기: https://s2w.inc/ko/contact


*해당 보고서는 별도 문의 가능하며 S2W의 QUAXAR 플랫폼 구독 시 전문으로 제공됩니다.


목록