저번주에 블로그에 방문해 주신 OO님께서 PDF취약점 분석글을 보시고, USC2를 Hex값으로 변환하는 방법에 대해 문의하셨다.
우선 블로그 방문에 감사의 말씀을 드립니다 ㅎㅎ
별거없지만~ 그래도 변환방법을 하나씩 말씀드리겠습니다.

< 준비물>
- Malzilla : http://malzilla.sourceforge.net/downloads.html
- OllyDbg : http://www.ollydbg.de
- UltraEdit

1. 우선 파일을 UltraEdit로 오픈합니다.
파일을 오픈하면 다음과 같은 Script를 확인 할 수 있습니다.
var 부터 ~ (p); 까지 복사합니다.
(주의 : 마지막부분인 (p);에서 마지막 ) 까지 복사하면 Malzilla가 디코딩을 못해주니 주의하세요)

2. 복사 한 부분을 Malzilla의 Decoder 부분에 붙여넣기 합니다.
그다음 Run Script를 클릭 합니다.


3. Run Script를 클릭하면 eval에 대한 디코딩값을 2개로 나눠서 표시 됩니다. 
이 중 2번째를 더블클릭 합니다.


4. 그럼 Malzilla의 하단부분에 ShellCode로 판단되는 부분이 생겼습니다.
이 부분을 다시 복사합니다.

5. 복사 된 의심스러운 ShellCode를 Misc Decoders탭으로 이동 후 붙여넣습니다.
그 후 UCS2 to Hex 를 클릭합니다.

6. 이제 의심스러웠던 ShellCode가 Hex값으로 변환되었습니다.
이 부분을 다시 복사합니다.

7. 복사 된 Hex을 값을 Shellcode analyzer 탭으로 이동하여 붙여넣기 합니다.
붙여넣기 할 시에는 반드시 "Paste as hex" 로 우측버튼을 이용하세요.
경험 상 맨 하단에 URL주소로 의심스러운 부분이 있습니다.
그런데 정상적인 주소가 아니네요~ 따라서 복호화를 위한 암호키가 있어 보이네요!!

다시 6번으로 이동합니다.
이 Hex값을 가지고 복호화키를 찾아야 합니다.

Hex값을 Olludbg를 이용하여 돌려보겠습니다.
그럼 XOR을 21로 변환하고 밑에 LOOPD 가 있는것으로 보아 21이 암호키인듯 합니다.

(이 방법은 제가 쓰는 방법이고, FileInsigt나 Hexplorer를 이용하여도 무방합니다)

8. 그럼 21을 XOR에 넣고 밑에 XOR버튼을 클릭 합니다.
그럼 Hex값이 변경되었네요. 변경 된 Hex를 다시 복사합니다.


9. 마찬가지로 Shellcode analyzer 탭으로 이동하여 Paste as hex로 붙어넣습니다.
그럼 다음과 같은 주소가 보이네요^^ 빙고!!

최대한 간단하게 설명을 하였습니다.
이렇게 몇개의 Tool만 사용하면 쉽게 디코딩 할 수 있습니다.
하지만, 디코딩을 이용해서 URL만 확인한다고 하여 취약점을 분석하였다. 라고 할 순 없겠죠^^?
URL에서 멈추지 말고~ 이런 취약점이 어떻게 동작하고 어떠한 부분을 이용하여 이 URL이 작동 할까?
머 이런 생각을 한번씩이라도 해보시는게 좋을 듯 합니다^^

차후 궁금한 점이 있으시면 리플로 달아주시고^-^
앞으로 궁금한점에 대해서는 [강좌]의 이름을 달고 조금씩이나마 풀어 보도록 하겠습니다.
블로그 이미지

처리 

이것 저것 끄적여 보는 공간으로 만들었습니다.