SWF ShellCode를 이용한 Script 디코딩 (1)

반응형

자 이제부터는 조금씩 어려워진다.

기본 지식이 쬐~~~금씩은 필요하니 잘 따라오기 바랍니다.

 

일단 샘플 13.swf는 압축이 풀려 있는 상태이다.


하단 부분을 보니 url로 의심되는 부분이 있다. 아무래도 XOR값이 있을 듯 하다.

복호화 방법은 13.swf를 뒤져서 XOR값을 얻어오는 것이다. 
ultra로 13.swf를 오픈 후 OllyDbg의 Attach옵션을 이용하여 ultra프로그램을 오픈하자.
이후 Memory Map을 열어 Ctrl+B로 FWS의 스트링을 메모리맵에서 검색한다.

그럼 Ultra에서 오픈 중인 13.swf의 파일을 찾아준다. 
찾은 13.swf가 원본인지 확인을 한 다음, 13.swf파일이 맞다면 마우스 우측버튼의 Disassemble를 클릭 한다.

에셈블리어로 보다 보면 XOR BYTE PTR DS:[ECX+EBX],3D 부분이 있고, 밑에 LOOPD가 있는 것으로 보아
XOR 값은 3D로 추정 된다.


XOR 값을 알았으니, 아까 의심되었던 부분의 HEX값을 Malziila의 Misc Decoders에 적은 후, XOR 키값을 3D로 적은 후 돌려보자.


XOR 된 HEX값을 Shellcode 때 하던 것과 동일하게 ShellCode analyzer 탭으로 이동하여 마우스 우측버튼의 Paste as hex로 붙여놓으면 원하는 url을 구할 수 있다.

 

이번 내용은 조금 어려웠을수도있다. 

잘 모르겠는 부분은 댓글로 써주시면 성심성의껏 답변 드릴테니 우선 따라해보라~!!

반응형

댓글

Designed by JB FACTORY