study/악성코드 분석

자바스크립트 난독화 실전 악성코드 분석

lucykorea414 2024. 4. 2. 18:29
728x90

자바스크립트 파일을 분석해봅시다

 

.doc파일이 아니라 .js파일임!

 

노트패드로 열어보면 이렇게 나옴

 

word wrap 을 누르면 자동줄바꿈이 된다!

 

맨 밑으로 내려가면 eval() 함수가 보이는데 이거는 스크립트를 실행하지 않고 마지막에 t42가 뭔지 출력해보면 됨!!

이 내용을 이제 복사를 해서 크롬에 붙여넣어보자

 

크롬에 아무 사이트 들어가서 F12를 눌러서 개발자 도구 꺼내고 콘솔에 붙여넣기 누르고 엔터 누르자.

 

여기서 eval() 이 실행됐을 때 에러가 뜬 걸 볼 수 있다.

 

그러면 eval() 을 지우고 다시 실행시켜 보자!

요렇게 나오는데, 이게 t42에 들어간 내용이랑 똑같음!!

 

 

이 t42 부분을 카피를 하자!

 

그리고 자바스크립트로 실행을 할건데, 일단 인터넷에 javascript beautifier을 찾고

 

그러면 이렇게 이쁘게 정리됨 ^_^

 

그래서 이 코드가 실제 우리 악성코드의 이쁜 버전이라고 볼 수 있다!!

 

복붙으로 change~

 

중간에 WScript 라고 나오는데, 얘는 자바스크립트를 해석해주는 윈도우의 오브젝트임!

https://learn.microsoft.com/ko-kr/windows-server/administration/windows-commands/wscript

 

wscript

wscript 명령에 대한 참조 문서입니다. wscript는 사용자가 다양한 개체 모델을 사용하여 작업을 수행하는 다양한 언어로 스크립트를 실행할 수 있는 환경을 제공합니다.

learn.microsoft.com

 

그래서 얘를 실행을 하게 되면 윈도우에서도 자바스크립트를 해석할 수 있는 거임!!

 

 

그래서 실제로 확인해보면 wscript.exe가 있음!!

 

얘는 윈도우에만 있고 브라우저에는 없기 때문에 윈도우에서만 동작하고 브라우저에서는 제대로 동작하지 않음

따라서 그냥 삭제해주자!! (우리는 브라우저에서 확인해볼 것 이기 때문에)

 

그리고 밑에 내려가다 보면 if 문이 하나 보이는데,

 

여기서 파일이 존재하는지 확인하는 과정이다.

 

하지만 위에서 나온 wscript.exe 관련 파일이기 때문에 동작을 할 수 없기 때문에 이 부분도 같이 지워주자.

 

 

또, 밑에 파일을 쓰는 내용이 나온다.

 

랜섬웨어 안내문으로 보이는데, 이 부분도 필요가 없기 때문에 싹 지운다!!

 

 

 

그럼 이제 위부터 다시 분석해보자.

 

위쪽에 보면 랜덤한 스트링도 보이고

 

 

위험해 보이는 url도 보인다.

 

밑으로 가서 이 부분이 핵심인데,

 

저기서 보면, 어떤 url 을 열고, 그 url을 통해서 파일을 save 하고, 그 파일을 run 하는 부분으로 이루어져 있다.

 

우리는 일단 어떤 url 인지 궁금하니까 document.write를 통해서 출력을 해주는 걸로 바꾸자

(xo.open은 어차피 에러가 발생될 것이므로 삭제)

 

그리고 밑에 있는 if 문 덩어리는 파일을 다운 받는 부분이기 때문에 얘도 document.write() 함수로 받아오자! (fn도 파일 path이기 때문에 그냥 tmp/ 라고 해주자)

 

 

그러면 최종 내용은 다음과 같다

이대로 복사해서 브라우저에 다시 붙여넣기 해보자!!

그러면 이렇게 옆에 url 과 file 내용이 옆에 뜬다!!

 

그럼 이런식으로 bapanivato~ 라는 url에서 a1.exe, a2.exe ~~~를 다운받는 것을 확인할 수 있다!

728x90