PDF를 이용한 Script 디코딩 (4)

반응형

샘플 18.pdf는 16.pdf, 17.pdf와 동일하게 stream을 넣어서 동작시키는 방식이다.

우선 inflater.exe를 사용해서 스트림을 분리하자.
그럼 다음과 같이 2.tmp 파일이 생성된다.

많이 보았던 형식으로 바로 Malziila로 디코딩을 시작하자. 
하던 듯이 Decoder에서 Runscript를 돌리면, 1차 디코딩이 완료된다. 


여기서 부터가 조금 까다롭다. 모든 Ascii값에 +6이 붙었다. 
이것만 아니면 바로 2차 디코딩이 완료 되겠지만, 아쉽게도 수동으로 좀 해야 할 듯 하다. 

  
프로그램밍이 되는 사람은 프로그램을 짜서 모든 값에 +6을 한 결과값을 가지고 디코딩하면 된다. 
하지만, 조금만 머리를 굴리면 기본값인 112에서 6번만 증가시키면 되는것이다. 
112의 Ascii값은 “p” 값이지만, 112+6(118)의 Ascii값은 “v”이다. 

그럼 우선 “+6”의 값을 지우고 디코딩 시작하자. 

 

”+6” 을 제외한 Ascii값을 디코딩하자.

”+6” 을 제외한 Ascii값을 디코딩 후, 이제 +6을 시켜주자, Increase의 값을 6으로 설정 후 돌려주면 된다.  

그럼 다음과 같은 ShellCode가 나온다. 
그 다음은 이전에 했던 것과 마찬가지로 XOR 키값의 유무를 확인하여 디코딩하면 된다. 

 

이번 샘플은 실제로 따라해 보면 복잡할 수는 있으나 어렵지는 않으니 잘 따라해보시길 바란다.

반응형

댓글

Designed by JB FACTORY