리버싱/정리

자바스크립트 난독화 야매로 풀기

1q 2017. 1. 21. 00:39

대부분 자바스크립트 난독화를 보면 document.write()를 이용하거나 eval함수를 이용해 실행을 하게 된다. 이를 방지하고 유포되려는 URL에 접근하려고 할 시에 아래 방법으로 확인 후 조치를 취해야 한다.


1. alert를 이용해 메시지박스 띄우기

* eval을 alert로 변경하여 주로 사용한다.


2. <xmp> 태그를 이용한 방법

* document.write("<xmp>");

* document.write("<xmp>"+[변수]+"</xmp>");


3. <textarea> 태그를 이용한 방법

전 : document.write("<textarea rows=20 cols=100>"+[변수]+"</textarea>");

후 : document.write([변수]);


4. malzila 도구 이용한 방법

* %u~로 시작하는 쉘코드가 있을 때 malzila 도구를 이용해 Misc Decoders -> UCS2 To HEX(%u 지우고 리틀 엔디언으로 변환) 후 검색 문자열에 http를 넣고 어떤 xor key를 이용해 암호화 했는지 찾을 수 있다.

* malzila 도구를 이용해 xor key를 찾지 못했을 경우에는 아래 URL에서 쉘코드를 EXE로 변환 후에 동적 분석을 하는게 좋다.

http://sandsprite.com/shellcode_2_exe.php (쉘코드를 넣고 submit 버튼만 누르면 된다)