'VBS'에 해당되는 글 1건

  1. 2011.01.25 [Malware Analysis] 난독화된 VBS 분석
Visual Basic Scripts로 제작된 악성코드의 경우(다른 스크립트 언어들로 작성된 악성코드의 경우도 마찬가지..) 난독화(Obfuscate)되어 있는 경우가 많이 있다.
[그림 1]의 악성코드의 경우 에디터를 이용하여 확인 시 난독화된 스크립트 파일이라는 것을 쉽게 알 수 있다.
[그림 1]
변수 하나하나 따라가면서 내용을 확인해 볼 수도 있겠지만 약간의 꼼수를 이용하여 난독화 과정을 거쳐 최종적으로 생성되는 스크립트를 실행전에 출력해 봄으로써 난독화 전의 스크립트를 확인해 볼 수 있다.

그러기 위해서 먼저 VBS를 호스팅하는 파일을 변경해 준다. 윈도우의 경우 wscript와 cscrip를 이용하여 VBS 파일을 실행한다. 기본값은 wscript를 이용하여 실행하게 되며 스크립트의 내용이 길 경우 wscript를 이용하여 출력시 내용이 짤리는 경우가 많으므로 [그림 2]와 같이 기본 VBS 호스팅 프로그램을 cscript로 변경해 준다.
[그림 2]

이후 난독화된 스크립트에서 난독화를 해제하는 과정을 거쳐 최종적으로 스크립트 문이 생성되는 부분을 찾아 wscript.echo문을 이용하여 해당 스크립트를 명령어 창에 출력한다. 예제의 난독화된 스크립트의 경우 maz3라는 변수를 dec 함수의 파라미터로 전달하여 난독화를 해제하는 것으로 유추할 수 있으며 dec 함수의 마지막 부분에 [그림 3]과 같이 Wscript.Echo()를 이용하여 최종적으로 생성되는 Coded 변수를 출력해 본다.
[그림 3]

이후 cmd 창을 이용하여 스크립트를 실행해보면 [그림 4]와 같이 난독화가 해제된 스크립트 들이 명령창으로 출력되는 것을 볼 수 있다. 출력 결과를 파일로 저장하고 싶다면 "Obfuscation.vbs > result.vbs" 식으로 리다이렉션을 이용하여 저장 가능하다.
[그림 4]

위와 같이 얻어낸 결과를 확인해 보면 ":"를 이용하여 한 줄에 모두 표시되는 것을 확인할 수 있다. [그림 5]와 같이 Notepad++ 등의 바꾸기 기능을 이용하여 ":"를 개행문자("\n")으로 변경해 준다.
[그림 5]

최종적으로 [그림 6]과 같이 원문의 스크립트를 확인할 수 있으며, 스크립트의 행위에 대해서도 쉽게 확인이 가능하다.
[그림 7]

                                                                                                    +---------------------------------+
                                                                                                    | Infinite Flow..                              |
                                                                                                    | mail : geekspark@gmail.com         |
                                                                                                    | Blog : http://sinun.tistory.com       |
                                                                                                    | twitter : @unpacker                      |
                                                                                                    | CISSP                                        |
                                                                                                    +----------------------------------+

저작자 표시 비영리 변경 금지
신고
Posted by By. PHR34K