본문 바로가기
분석해보까?

[강좌] UCS2를 Hex로 변환해보자!!

by 잡다한 처리 2009. 8. 3.
반응형


저번주에 블로그에 방문해 주신 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이 작동 할까?
머 이런 생각을 한번씩이라도 해보시는게 좋을 듯 합니다^^

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

댓글