본문으로 바로가기



1. 개요


libemu는 GetPC 휴리스틱을 사용하여 basic x86 에뮬레이션과 쉘코드를 탐지하는 라이브러리이다. 이 라이브러리는 허니팟과 IDS/IPS 내에서 사용할 수 있도록 설계되었다. - 공식 홈페이지


1.1. Supports


  • Executing x86 instructions
  • Reading x86 binary code
  • Register emulation
  • Basic FPU emulation
  • Shellcode execution
  • Shellcode detection
  • Using GetPC heuristics
  • Static analysis
  • Binary backwardstraversal
  • Win32 API hooking

1.2. 기능


  • Detect shellcodes
  • Execute the shellcodes
  • Profile shellcode behaviour

2. 설치


2.1. 환경


Linux Debian (Kali Linux)


설치 : 


apt-get install git automake libtool
git clone git://git.carnivore.it/libemu.git
cd libemu
autoreconf -v -i
./configure --prefix=/opt/libemu
make install
git clone https://github.com/buffer/pylibemu
cd pylibemu
python setup.py build
python setup.py install
sh -c "echo /opt/libemu/lib > /etc/ld.so.conf.d/libemu.conf"
ldconfig



3. 실행 확인


4. Error Report


so 파일을 찾을 수 없다고 에러가 발생하기도 한다. so 파일은 컴파일된 라이브러리 파일로 "Shared Object"의 약자이다. 윈도우로 따지면 DLL 파일과 비슷하다고 할 수 있다. /etc/ld.so.conf.d/ 에 so 파일 위치를 명시해주는 conf 파일을 생성하여 해결할 수 있다.


echo "/opt/libemu/lib > /etc/ld.so.conf.d/libemu.conf"
cat /etc/ld.so.conf.d/libemu.conf
/opt/libemu/lib/

ldconfig



댓글을 달아 주세요

  1. DreamInCode 신고">2015.01.06 15:19 신고

    도움이 많이 되었습니다
    감사합니다 !

티스토리 툴바