샘플 10.htm은 이전 스크립트와 별다른 것은 보이지 않는다. 에서 script 가 vbscript로 변경 된 것 뿐이지만 이 차이점에 크다. 기존의 툴도 vbscript는 복호화를 하지 못한다. 이런 경우에는 마지막부분에 있는 document.write(UnEncode(hu)) 를 alert(UnEncode(hu))로 변경하면 된다. alert는 java에서 경고창을 띄워주는 역할을 하며 실행 시 아래와같은 경고창이 뜨며 디코딩 된 내용을 보여준다. 이번에 처음 나온 Alert 경고창인데, 뭐 별로 어렵지는 않아요^^ 이제 말안해도 아시죠? 해봐요~!!
Unescapes는 escape로 변환 된 16진수를 Ascii 또는 문자열로 변환해준다. 샘플 9.htm은 2번의 unescape를 이용한 Script이다. 복호화 방법에는 여러방식이 있지만, 간단하게 FreShow를 이용해보자. 복호화 대상창에 스크립트를 붙여놓은 후, ESC로 디코딩 한 값을 UP시킨다. 이렇게 3번 반복하면 원하는 url을 구할 수 있다. 참고사항으로 복호화 대상창을 보면 unescape가 3번 쓰인 것이 보인다. 이는 3번의 복호화 작업을 거쳤다는 뜻이다. 그만큼 꽈놔야 AV업체에서 탐지를 못하기 때문이다.
샘플 8번을 열어보면, 이건 모 이러냐!! 라고 생각이 들지만 힌트가 있었다. 바로 Charset = US-ASCII 이다. 그럼 US-ASCII는 뭐지?? 라고 생각이 들 수 있지만 이건 쿨하게 넘어간다. 왜냐고? 이걸 설명하기 시작하면 어마어마한 설명을 해야한다 ㅎㅎㅎㅎ 그래서 쿨하게 넘어가는거니까 궁금한 사람은 구글링 해보시면 됩니다용~!! 아튼 US-ASCII는 FreShow를 이용하면 간단하게 복호화 할 수 있다. 한문으로 되어 있는 부분을 US-ASCII로 Decode하면 쉽게 url을 얻을 수 있다. 아직까지는 엄청 쉬운거니까 잘 따라만오시면 됩니다!! 하나도 어렵지 않쥬~!?
이번 샘플에는 5개의 script가 단락이 존재하며, 어떠한 툴로도 복호화에 성공하지 못하였다. 이런 경우에는 부분적인 script를 복호화 후 합쳐서 다시 한번 복호화를 시켜야 한다. 실제로는 1번과 2번의 스크립트만 복호화 시키면 원하는 url을 얻을 수 있다. 복호화에 사용 된 사이트는 https://www.jb51.net/tools/onlinetools/jiemi/jsendecode.htm 이다. - 1번 스크립트 복호화 위 사진에서 보이는 빨간색 박스 부분만 복호화 시키면 다음과 같다. .3063791,.7032192,t32g=1928;;.778263,document.write("#@~^BwgAAA==hg");.6939396 - 1+2번 스크립트 복호화 결과 이 중에서 #@~^BwgAAA==hg..
이번 샘플에는 3개의 script가 포함되어 있다. 이런 경우 복잡한 툴로 복호화하는 것이 더 어렵다. 모든 문자열이 S에 남기는 것을 알 수 있듯이, 저 문자열들은 차후에 모두 이어지는 것으로 추정되기 때문에 모두 이어서 복사한다. 복사된 문자열은 ConvAscii.exe에 있는 분리. exe로 실행하여 콤마(,)로 분리작업을 거친다. 분리된 값은 AsciiCode로 추정되며, ConvAscii.exe로 변환시키면 원하는 문자열이 얻을 수 있다.
이번 샘플도 Base64를 이용하였다. 보기에는 편하게 복호화가 될 줄 알았지만 그렇지 않았다. 젠장....ㅠㅠ 기본적으로 Malzilla를 통해서 Run Script를 하면, 또 다른 Script가 나온다. 결과값으로 나온 Script 중 다음부분이 있다. 거의 마지막 부분이다. TYIIIIIII~로 시작되는 부분부터 마지막 ~Pwp까지 복사 한 다음, FreShow로 이동한다. Decode 종류를 ALPAH2로 선택하여 디코딩 한다. 이후 UP을 클릭하여 디코딩 대상창으로 이동시킨다. 다시 ESC를 선택하여 Decode를 실행하면 원하는 url을 얻을 수 있다. 이번 스크립트는 이전과는 다르게 여러가지 방법등을 사용해서 디코딩 해야했다. 하지만 역시 제가 소개드린 툴만으로도 충분히 가능하니 앞으로 소..
이번 샘플을 보면 이걸 어떻게 복호화 해야 하나 막막하다. 저게 사람이 보라고 만들 코드인지.....TQ ㅋㅋㅋ 하지만~!! 걱정마시라 우리에겐 무적툴이 있으니까!! Malzilla로 우선 Run Script를 하면 결과값이 나온다. 이 결과값을 복사 한다. 복사 한 결과값을 FreShow에 붙여놓은 후 Decode를 실행하면 바로 원하는 url을 얻을 수 있다. 어떤가요? 참 쉽죠~?
이번 샘플은 ShellCode로 암호화가 되어있다. 쉘코드(Shellcode)는 시스템의 특정 명령을 실행하는 작슨 사이즈의 프로그램을 뜻하여, 일반적으로 기계어 코드(Machine Code)로 작성되어 있다. 쉘코드란 단어는 공격 대상 시스템의 명령어 쉘(Command Shell-etc:bash)을 실행시킨다는 의미로부터 파생되었으며, 주로 소프트웨어 취약점을 통한 공격(Exploitation) 이후 실행될 작은 규모의 프로그램(Payload)으로 사용된다 출처: https://bob3rdnewbie.tistory.com/121 [Newbie Hacker] 요즘 나오는 Exploit도 모두 ShellCode로 나오기 때문에 기본적으로 사용방법만 알면 이후는 편하다. ShellCode 부분을 모두 복사하..
이번샘플은 1번 샘플과 마찬가지의 내용이지만 조금 다른 방법으로 암호화를 풀어보자 이전 스크립트에서 본 콤마(,)가 “\x” 로 바귄 것 뿐 다른 것은 없다. Malzilla 1.2의 Download탭에 내용을 복사 한 후, Send All scripts to Decoder(모든 스크립트를 Decoder로 이동) 를 클릭 한 후 Decoder탭으로 이동하자. Scirpt가 Decoder탭으로 이동 되면 Run Script를 실행하면, 아래 결과창에 문자열로 변환된다. 아래의 내용을 보면 알겠지만, 우리가 스크립트를 푸는 이유는 한가지이다. 바로 exe 주소를 얻기 위해서지~!! 그러니 이번 스크립트 디코딩도 서~~~엉공!!
해당 스크립트 파일은 Ascii Code로만 암호화가 되어있는 것을 확인 할 수 있다. 이럴 경우에는 10진수 Ascii Code를 문자열로 바꿔주면 된다. Malzilla 1.2 툴을 이용하여 복호화를 하면된다. Misc Decoders 탭으로 이동하여 AsciiCode만 복사하여 Decode Dec(,)을 클릭하면 된다. 그럼 다음과 같은 결과값을 얻을 수 있다. 생각보다 툴을 사용하게 되면 어렵지 않게 스크립트를 디코딩 할 수 있어요~