Basilica android

sharku.egloos.com



peepdf + pyv8 설치기 (kali 1.0.6) - pdf 악성코드 분석도구 by sharku

테스트 환경은 kali 1.0.6 입니다.
우분투 13.04에서 했는데 의존성 등등 패키지가 없어서 오류가 너무 많이 나는군요..
역시 해킹툴은 칼리나 백트랙에서..ㅎ

칼리 링크입니다.

간단히 뭐하는 놈인지 설명하자면 peepdf 는 자신을 아래같이 소개하고 있습니다.

peepdf is a Python tool to explore PDF files in order to find out if the file can be harmful or not. The aim of this tool is to provide all the necessary components that a security researcher could need in a PDF analysis without using 3 or 4 tools to make all the tasks.
(출처 : https://code.google.com/p/peepdf/)
pdf를 후벼파서 내용을 확인하는 도구입니다.


소개
spidermonkey 대신에 pyv8 을 설치하는데
요즘 평가가 pyv8 엔진이 js 를 더 잘 해석해준다고 합니다.
아래 내용대로 설치하면 spidermonkey가 없어서 js 명령어에는 실행이 안되지만
기본적으로 js_code 등의 명령어는 문제없고 오히려 더 잘 되구요.
그리고 v8 엔진이 크롬에서 사용되고 있다는 것만으로도 더 신뢰가 가는군요.

준비사항
기본적으로 python은 깔려있어야 하며 보통 깔려있으니 패스..

pyV8은 spidermonkey 보다 좋다고 합니다 ppdf가 어떤 취약점인지 좀더 쉽게 식별하는듯 하구요
둘다 자바스크립트를 파이썬 환경으로 변환하는 기능을 가진 모듈입니다.

그리고 이 글은 위 글을 현재 환경에 맞게 설치하면서 변역한 것입니다.

사전작업
크게 두개를 설치해야 합니다.
첫번째로 PyV8을 설치하고
두번째로 pylibemu를 설치한 후
peepdf 를 실해할겁니다.. 그래야 정상적으로 javascript를 분석해줍니다.

PyV8 설치
(pip로 쉽게 깔릴줄 알았는데 안된다.. 잘 깔리신분 있으면 알려주세요~)
http://andrewwilkinson.wordpress.com/2012/01/23/integrating-python-and-javascript-with-pyv8/
먼저 의존성이 있는 패키지들을 설치해줍니다.

 # apt-get install scons libboost-python-dev 
(여기서 원문에는 aptitude를 써서 설치했는데 apt-get을 써도 상관없습니다.)

libboost 패키지를 인식하기 위해서 파일명을 변경해줍니다. (이것때문에 한참 헤맸네요..)
 # cp /usr/lib/libboost_thread.so.1.49.0 /usr/lib/libboost_thread.so
 # cp /usr/lib/libboost_system.so.1.49.0 /usr/lib/libboost_system.so
 # ldconfig

다행이 svn 은 설치되어 있군요.. svn 통해서 다운을 받습니다.
# svn checkout http://v8.googlecode.com/svn/trunk/ v8
# svn checkout http://pyv8.googlecode.com/svn/trunk/ pyv8

이제 v8 폴더와 pyv8 폴더가 생겨있을 겁니다.
다음은 아래 명령대로 그대로 하시면 됩니다
 # cd v8
 # export V8_HOME=`pwd`
 # cd ../pyv8/
 # python setup.py build

상당히 오래걸리니 마음을 비우시고
 # python setup.py install

pylibemu 설치

먼저 libemu를 설치해야 합니다.
git으로 잘 안되길래 그냥 다운받아서 설치했습니다.
참고사이트입니다

후아.. 여러가지 해봤는데 이건 되는거같으니 해봅시다.
 # sudo apt-get install build-essential git-core autoconf libtool python-dev
python-dev는 설치했으니 빼고 하셔도 됩니다.. 하지만 전 포함합니다

해당 파일을 다운받습니다.
 # git clone git://git.carnivore.it/libemu.git

조금만 기다린 후 완료되면
 # cd libemu
 # autoreconf -v -i

역시 잠시 기다리면..
 # ./configure --enable-python-bindings --prefix=/opt/libemu

역시 잠시 기다리면..
 # sudo make install

역시 잠~~~시 기다리면..
 # sudo ldconfig -n /opt/libemu/lib
이렇게 되면 설치가 완료됩니다^^

이제 본격적으로 pylibemu 를 설치해봅시다.

기본 패키지를 설치합니다.
 # sudo apt-get install python-setuptools
 # git clone https://github.com/buffer/pylibemu.git

잠시 기다린 후..
 # cd pylibemu
 # sudo sh -c "echo /opt/libemu/lib > /etc/ld.so.conf.d/pylibemu.conf"
 # sudo python setup.py build

아주 잠깐 후
 # sudo python setup.py install
이제 설치가 끝났습니다.. 생각보다 빨리 끝나는군요..

마지막 적용하면 마무리 됩니다.
 # ldconfig

peepdf 실행

이제 대망의 마지막입니다.
peepdf는 정말 쉽습니다.

이미 설치돼있기 때문입니다
 # peepdf -f [파일명]

이러면 간단한 실행은 끝납니다.


----추가
pip 설치
 # wget https://bootstrap.pypa.io/get-pip.py

(만약 pip 에서 에러 발생시 # easy_install --upgrade pip 실행)

덧글

  • 2014/11/03 15:00 # 비공개

    비공개 덧글입니다.
  • 2017/04/14 13:17 # 비공개

    비공개 덧글입니다.
※ 로그인 사용자만 덧글을 남길 수 있습니다.