본문 바로가기
분석 TIP/정적분석

Powershell + VBS 스크립트 분석

by 두유노우컴퓨터 2025. 4. 22.

LNK 악성샘플
내부 cmd /c + [파워쉘코드] 
하단 Enc_BINDATA

 

LNK 추출 malcat 이용

파워쉘 코드

 

인수값 전체 복사

복사

 

나머지 형태를 봤을 때 Powershell 형태로 Notepad++에서 파워쉘로 변경한 후 (언어 -> Powershell) ; 를 기준으로 ;\n 형태로 구문을 줘서 코드 정렬을 시켜준다.

Powershell에서. (점)은 실행하는 부분이므로 이 바로 위에 난독화? 를 푼걸 파워쉘 프린터 함수(Write-Host)를 통해 열어보자.

 

Write-Host $isuhef; 추가!

복호화

 

이제 완성된 파워쉘 코드를 Windows PowerShell ISE 프로그램 (윈도우 기본 깔려있다.)을 통해 실행시켜 보자.

복호화 파워쉘 코드

 

정리되지 않은 코드들을 다시 한번 정리해 준다. 

코드 정렬

 

Write-host를 통해 무슨 값인지 확인해 보자.

 

Write-Host $bRun;
Write-Host $path;

 

실행창 PS 경로는 *.lnk가 있는 경로로 이동해 준다. ( cd "경로입력")

파일 경로 확인

 

실행을 하면 아래와 같이 0,1의 값과 tmp파일 5개 , vbs 파일 2개가 programdat 경로에 생기는 걸 확인할 수 있다. 그러면서 워드가 실행되는 ~DOCX37089.docx로 미끼 파일로 보면 된다. 0,1은 우선 실행되는 순서이다. 1이 먼저이다. 이제 생성된 파일을 하나하나 열어보자.

VBS 코드

 

모양을 보니 vbs이다. 이번엔 : 를 :\n로 변환하여 코드정렬을 해준다.

코드 정렬

 

MsgBox 함수를 이용해서 한 번에 봐보자. MsgBox hikmnoquwa: 로 변경 한 후 vbs로 확장자를 만들고 실제 실행 시켜 본다.

복호화 VBS 코드

 

해당 코드를 복사한 후 다시 코드 정렬을 하고 추가적인 악성 행위를 확인하면 된다.

코드 정렬

 

'분석 TIP > 정적분석' 카테고리의 다른 글

PeakLight 악성코드 분석  (0) 2025.04.24
JavaScript 난독화 분석  (0) 2025.04.23
Autoit 샘플 분석  (0) 2025.04.21
IDA에서 Structures PE 구조체 적용하기  (0) 2025.04.20
동적API 구조체로 IDA 함수명 매핑하기  (0) 2025.04.19