목차

1. 개요

2. 설치

2.1. 기본 패키지 설치

2.2. CVE-Search 다운로드

2.3. 파이썬3 라이브러리 설치

3. 운영

1. 개요

정보보안 인텔리전스에서 CVE는 어떤 위협이 존재하며 이러한 위협이 위험으로써의 가능성을 파악하기에 중요한 자원이다. CVE는 Common Vulnerabilities and Exposures의 약자로 취약점을 식별하고 관리하기 위한 고유 스키마를 의미한다. 여기서 설치하려는 CVE-SEARCH는 이미 HKWT-2016-0001에서 다룬적이 있지만, 일부 잘못된 내용과, 버전 업그레이드가 되었기에 이 문서에서 다시 정리한다.

게스트 스펙 - CVE-Search Server

  • 운영체제: 우분투 16.04.02 서버 AMD64
  • CPU: 가상 CPU 4코어
  • 메모리: 1GBB
  • 아이피: 192.168.0.

2. 설치

2.1. 기본 패키지 설치

CVE-Search는 기본으로 파이썬3를 사용한다. 따라서 라이브러리 설치할 때 파이썬3에 설치한다. 데이터베이스는 몽고DB를 사용하는데 설치할 버전은 2.X 버전이다. 우분투 기본 저장소에서 2.X 버전을 제공하니 단순하게 설치할 수 있다.

sudo apt-get install vim git mongodb python3-pip redis-server

2.2. CVE-Search 다운로드

이제 git을 이용하여 CVE-Search 소스코드를 다운로드한다. Latest Release가 안정적이니 이 버전을 다운로드한다.

git clone -b v2.1 https://github.com/cve-search/cve-search

잘 다운로드 받았는지 확인하려면 git 명령으로 확인한다. commit에 있는 해시값의 앞 18247fd가 아래 그림의 내용과 동일하다는 것을 알 수 있다.

cd ~/cve-search

git show

commit 18247fd56fca63ebbe29303a0b47e8626f47984c

Merge: 1fe9fa2 46cca81

Author: Alexandre Dulaunoy <a@foo.be>

Date:   Mon Jun 13 16:58:31 2016 +0200


    Merge pull request #170 from adulau/master


    Many fixes

2.3. 파이썬3 라이브러리 설치

파이썬3 라이브러리는 cve-search 디렉터리의 requirements.txt를 이용하여 설치한다.

sudo pip3 install -r ~/cve-search/requirements.txt

설치하는 파이썬3 라이브러리는 다음과 같다.

  • PyMongo
  • Flask
  • Flask-PyMongo
  • Flask-Login
  • Tornado
  • Whoosh
  • Redis
  • Python-dateutil
  • passlib
  • feedformater
  • Whoosh
  • irc
  • sleekxmpp
  • Werkzeug
  • Jinja2
  • itsdangerous
  • click

3. 운영

이제 CVE-Search에서 사용될 정보를 가져와서 몽고DB에 저장하는 작업을 진행한다. 먼저 데이터베이스를 생성한다. -p 옵션을 사용하며, 이를 통해 뼈대가되는 CVE 코드를 2002년부터 최신까지 가져온다. 데이터베이스에 데이터를 업데이트하거나 제어하는 과정은 cve-search/sbin 디렉터리에 있는 파이썬 코드로 진행한다. 

~/cve-search/sbin/python3 db_mgmt.py -p

Database population started

Importing CVEs for year 2002

Importing CVEs for year 2003

Importing CVEs for year 2004

Importing CVEs for year 2005

Importing CVEs for year 2006

Importing CVEs for year 2007

Importing CVEs for year 2008

Importing CVEs for year 2009

Importing CVEs for year 2010

Importing CVEs for year 2011

Importing CVEs for year 2012

Importing CVEs for year 2013

Importing CVEs for year 2014

Importing CVEs for year 2015

Importing CVEs for year 2016

Importing CVEs for year 2017

다음으로 CPE 딕셔너리를 다운로드한다. CPE 딕셔너리는 Common Platform Enumeration 약자로 컴퓨터 시스템에 존재하는 응용 프로그램, 운영 체제, 하드웨어 장치 등의 클래스를 설명하고 식별하기 위해 표준화한 것이다. CPE는 2.2 버전과 2.3 버전을 제공하며 XML 스키마로 정보를 공식적으로 제공한다.

~/cve-search/sbin/python3 db_mgmt_cpe-dictionary.py

마지막으로 다양한 사이트에서 CVE와 연관있는 정보를 가져온다.

~/cve-search/sbin/db_updater.py -c

CVE와 연관있는 데이터는 다음과 같은 사이트에서 가져온다.

  • cves (Common Vulnerabilities and Exposure items) - source NVD NIST
  • cpe (Common Platform Enumeration items) - source NVD NIST
  • vendor (Official Vendor Statements on CVE Vulnerabilities) - source NVD NIST
  • cwe (Common Weakness Enumeration items) - source NVD NIST
  • capec (Common Attack Pattern Enumeration and Classification) - source NVD NIST
  • ranking (ranking rules per group) - local cve-search
  • d2sec (Exploitation reference from D2 Elliot Web Exploitation Framework) - source d2sec.com
  • MITRE Reference Key/Maps - source MITRE reference Key/Maps
  • ms - (Microsoft Bulletin (Security Vulnerabilities and Bulletin)) - source Microsoft
  • exploitdb (Offensive Security - Exploit Database) - source offensive security
  • info (metadata of each collection like last-modified) - local cve-search
  • via4 VIA4CVE cross-references.



'Information Security > OpenSource' 카테고리의 다른 글

CVE-SEARCH v.REV  (0) 2017.05.12
How to install Cuckoo Sandbox 2.0.x  (31) 2017.05.08
CVE-SEARCH  (1) 2016.06.29
How to install Viper 1.3-dev  (0) 2016.04.04
Mobile Security Framework  (0) 2016.03.02
Cuckoo Sandbox 2.0 RC1 Release  (0) 2016.01.22

목차

1. 쿡쿠 샌드박스 구축

1.1. 기본 패키지 및 C 라이브러리 설치

1.2. 쿡쿠 코어 설치

1.3. 샌드박스 구성

1.3.1. 가상머신 다운로드 및 가져오기

1.3.2. 파이썬 2.7 다운로드 및 설치

1.3.3. pillow 라이브러리 설치

1.3.4. 네트워크 구성 및 아이피 고정

1.3.5. 방화벽/업데이트 비활성화

1.3.6. Administrator 계정 활성화 및 로그인

1.3.7. UAC 비활성화

1.3.8. agent.py 실행과 가상머신 스냅샷 구성

1.4. 웹 인터페이스 데이터베이스 구성

1.5. 쿡쿠 설정

2. 쿡쿠 샌드박스 기본 운영

2.1. 쿡쿠 코어 실행

2.2. 쿡쿠 웹 서버 실행

3. 마무리

4. 참고 사이트



1. 쿡쿠 샌드박스 구축

쿡쿠 샌드박스를 운영하는데 있어 최소한으로 설치하는 방법을 언급하려고 한다. 최소한이라는 것은 다양한 기능을 활용하지 않고, 윈도우 악성코드만 자동으로 분석하는 것에만 초점을 맞춘다는 의미다. 우선 쿡쿠 샌드박스를 테스트하기 위해 다음과 같은 환경에서 테스트했다. 호스트 운영체제에 가상머신 소프트웨어인 VMware을 설치하고, 가상머신으로 우분투 16.04 데스크톱과 서버를 설치한다. 그리고 가상머신 안에 다시 가상머신으로 윈도우 7으로 구성한다. 별도로 운영체제를 설치하는 과정은 설명하지 않는다.

호스트 스펙

  • 운영체제: 윈도우 7 울티메이트 K SP1 64비트
  • 가상머신: VMware Workstation 12.5
  • CPU: i7-3630QM
  • 메모리: 16GB
  • 가상 아이피: 192.168.0.0/24

게스트 1 스펙 - Cuckoo-Server

  • 운영체제: 우분투 16.04.2 데스크톱 64비트
  • CPU: 가상 CPU 8코어
  • 메모리: 4GB
  • 아이피: 192.168.0.200
  • 웹 포트: 8000

게스트 2 스펙 - Cuckoo-DB-Server

  • 운영체제: 우분투 16.04.2 서버 64비트
  • CPU: 가상 CPU 4코어
  • 메모리: 1GB
  • 아이피: 192.168.0.251
  • DB 포트: 27018

게스트 인 게스트 스펙 - Sandbox

  • 운영체제: 윈도우 7 엔터프라이즈 SP1 32비트
  • 가상머신: 버추얼박스(Virtualbox)
  • CPU: 가상 CPU 1코어
  • 메모리: 512MB
  • 아이피: 192.168.0.10

본격적으로 쿡쿠 샌드박스를 설치하는데 이 구축은 크게 다섯 가지로 분류한다. 기본 패키지 & 라이브러리 설치 단계에서는 쿡쿠 샌드박스를 운영하기 위한 기본 도구와 라이브러리를 설치한다. 쿡쿠 코어 설치는 쿡쿠 샌드박스를 운영하는데 있어 필수적인 파이썬 라이브러리와 설정 파일을 구성한다. 샌드박스 구성은 쿡쿠 코어가 악성코드를 분석하기 위해 사용되는 안전한 환경인 샌드박스를 구성하는 것이다. 웹 인터페이스 데이터베이스 구성은 분석 결과를 표현하는 웹 인터페이스가 사용하는 데이터베이스를 구축한다. 마지막으로 쿡쿠 설정은 쿡쿠 엔진의 운영과 레포팅 기능 그리고 샌드박스 구성을 연동하기 위한 진행이다.

1.1. 기본 패키지 및 C 라이브러리 설치

쿡쿠 샌드박스에서 사용하는 다양한 파이썬 라이브러리를 설치하려면 다음 패키지와 라이브러리들을 설치해야 한다. 설치하는데 있어 중요한 부분은 sudo 명령과 함께 비밀번호를 입력하는 과정이 불편하여 root 권한을 부여하고 설치를 진행하는 경우가 많다. 이렇게 구성한 경우, 소유권 문제로 인해 쿡쿠 샌드박스가 원활하게 동작하지 않을 수 있다. 물론, 공격자가 시스템에 침투하게 되었을 때 root 권한을 얻을 수 있다는 문제도 발생한다. 리눅스가 제공하는 사용자 권한에 따른 운영방식을 이해하는 것과 쿡쿠 엔진의 운영과 기타 서비스의 운영에 따른 권한 문제가 발생하는 것을 해결하기 위해서는 root 권한으로 구축하는 것을 추천하지 않는다.

먼저 쿡쿠 샌드박스를 구축하는데 필요한 패키지와 다양한 기능을 사용하기 위해 설치하는 파이썬 라이브러리가 요구하는 C 라이브러리를 설치한다.

sudo apt-get install -y python-pip python-dev libssl-dev libjpeg-dev zlib1g-dev tcpdump apparmor-utils

설치하는 패키지를 살펴보면 다음과 같다.

  • python-pip: 파이썬 라이브러리를 쉽게 설치하도록 도와주는 도구다.
  • python-dev: 파이썬 헤더(python.h)를 제공하여 고성능을 위한 파이썬 확장을 위해 설치, 다양한 파이썬 라이브러리들이 퍼포먼스적인 측면을 위해 처리 기능을 C 언어로 구성된다.
  • libssl-dev: cryptography 파이썬 라이브러리를 설치하기 위해 설치하는 패키지로, 다양한 암호 기능을 제공한다.
  • libjpeg-dev: pillow 파이썬 라이브러리를 설치하기 위해 설치하는 패키지로, jpeg 이미지 파일을 위해 사용되는 C 라이브러리다.
  • zlib1g-dev: pillow파이썬 라이브러리를 설치하기 위해 설치하는 패키지로, gzip과 PKZIP를 지원하기 위해 제작되었지만, PNG 이미지 파일을 위해 사용되는 C 라이브러리다.
  • tcpdump: 패킷을 캡처를 위한 프로그램이다.
  • apparmor-utils: 앱 아머(AppArmor)는 Application Armor의 약자로 프로그램의 네트워크 접근, 파일 읽기, 쓰기 그리고 실행 같은 능력을 제어하여 접근 통제할 수 있는 리눅스 커널 보안 모듈로 이를 제어하기 위한 유틸리티다.

다음 쿡쿠 코어가 네트워크 패킷을 수집할 수 있게 다음과 같이 구성한다. aa-disable 명령으로 tcpdump를 보호하는 앱 아머를 비활성화하고, setcap 명령으로 일반 사용자가 root 권한 없이 tcpdump를 사용할 수 있게 설정한다.

sudo aa-disable /usr/sbin/tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

만약 setcap 명령을 사용할 수 없다면 libcap2-bin 패키지를 설치한다. 

sudo apt-get install libcap2-bin

이제 샌드박스로 사용할 가상머신인 버추얼박스(VirtualBox)를 설치한다. 버추얼박스는 현재 오라클(Oracle)에서 개발하고 관리하고 있으며, 무료로 사용할 수 있는 좋은 소프트웨어다. Cuckoo 2.0.0 공식 가이드에서 언급한 버추얼박스의 버전은 4.3, 5.0 그리고 5.1 버전이다. 다음과 같이 5.1 버전을 설치한다.

echo deb http://download.virtualbox.org/virtualbox/debian xenial contrib | sudo tee -a /etc/apt/sources.list.d/virtualbox.list
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y virtualbox-5.1

1.2. 쿡쿠 코어 설치

이제 쿡쿠 코어를 설치한다. 설치는 매우 편리하게 다음과 같으며, 최신 버전으로 설치한다.

sudo pip install cuckoo

만약 쿡쿠 코어 버전을 특정 버전으로 설치하고 싶다면 버전을 명시해서 사용한다. 버전을 기입하지 않으면 설치 가능한 버전 리스트를 볼 수 있다.

sudo pip install cuckoo==
The directory '/home/cuckoo/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/cuckoo/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting cuckoo==
  Could not find a version that satisfies the requirement cuckoo== (from versions: 2.0.0a1, 2.0.0, 2.0.1a1, 2.0.1a2, 2.0.1a3, 2.0.1, 2.0.2a1, 2.0.2a2, 2.0.2a3, 2.0.2a4, 2.0.2, 2.0.3a2, 2.0.3a3)
No matching distribution found for cuckoo==

쿡쿠 샌드박스가 2.0.x 버전으로 배포되기 전 가장 큰 문제는 버전관리가 매우 어려웠다. 새로운 버전이 개발되면 기존의 버전을 폐기하고 새롭게 설치하는 문제가 있었다. 하지만 이제는 pip 명령으로 설치하기에 기존의 버전과 업그레이드 버전을 통합하기 쉬워졌다. 최신 버전의 쿡쿠로 설치하려면 -U 옵션을 추가해 사용한다.

쿡쿠 버전은 정식 릴리즈인 2.0.x 버전이 있고, 개발자 릴리즈인 2.0.xax 버전이 있다. 예를 들어, 2.0.1 버전은 정식 릴리즈고, 2.0.2a3은 개발자 릴리즈다. -U 옵션을 사용하여 업그레이드하면 정식 릴리즈만 반영된다. 2.0.2a3 버전이 존재하더라도 2.0.1 버전으로 설치된다. 개발자 릴리즈로 구성하고 싶다면 명확한 버전을 명시하는 형태로 설치 가능하다.

sudo pip install -U cuckoo

설치 완료 후 터미널에서 cuckoo 명령을 입력하면, 다음과 같은 메시지를 볼 수 있다. cuckoo 명령을 입력해야 ~/.cuckoo 디렉터리가 생성된다. 이 디렉터리에서 쿡쿠 샌드박스 운영을 위한 다양한 설정을 할 수 있다.

리눅스에서 홈 디렉터리는 /home/ 에 사용자 계정으로 생성된다. 우분투 데스크톱을 구축할 때 설정한 사용자 계정이 cuckoo이기에 /home/cuckoo/로 표현된다. 현재 로그인한 사용자도 cuckoo 이이기에 /home/cuckoo/디렉터리에서 대부분 활동한다. 홈 디렉터리를 표현하는 기호로 물결표(~, Tilde)를 사용한다. 따라서 각자의 홈 디렉터리로 표현하기 위해 ~/ 로 표현했다.

쿡쿠 샌드박스의 설정을 할 수 있는 디렉터리의 위치는 설치한 사용자의 기준으로 ~/.cuckoo로 생성된다. 만약 adduser 명령으로 cuckoo2 사용자를 생성한 후 cuckoo 명령을 입력하면 /home/cuckoo2/.cuckoo 디렉터리가 생성되며 cuckoo2 사용자만을 위한 쿡쿠 설정과 코어를 운영할 수 있다. 이처럼 .cuckoo 디렉터리가 사용자마다 다르게 생성하고 구축할 수 있기에 이를 Cuckoo Working Directory로 부르며 줄여서 CWD라고 한다. 

만약 CWD를 다른 경로로 지정하고 싶다면 다음과 같이 --cwd 다음에 원하는 경로를 입력한다.

cuckoo --cwd ~/test
cuckoo

   ______   __  __   ______   ___   ___   ______   ______
  /_____/\ /_/\/_/\ /_____/\ /___/\/__/\ /_____/\ /_____/\
  \:::__\/ \:\ \:\ \\:::__\/ \::.\ \\ \ \\:::_ \ \\:::_ \ \
   \:\ \  __\:\ \:\ \\:\ \  __\:: \/_) \ \\:\ \ \ \\:\ \ \ \
    \:\ \/_/\\:\ \:\ \\:\ \/_/\\:. __  ( ( \:\ \ \ \\:\ \ \ \
     \:\_\ \ \\:\_\:\ \\:\_\ \ \\: \ )  \ \ \:\_\ \ \\:\_\ \ \
      \_____\/ \_____\/ \_____\/ \__\/\__\/  \_____\/ \_____\/

 Cuckoo Sandbox 2.0.1
 www.cuckoosandbox.org
 Copyright (c) 2010-2017

=======================================================================
    Welcome to Cuckoo Sandbox, this appears to be your first run!
    We will now set you up with our default configuration.
    You will be able to see and modify the Cuckoo configuration,
    Yara rules, Cuckoo Signatures, and much more to your likings
    by exploring the /home/cuckoo/.cuckoo directory.

    Among other configurable items of most interest is the
    new location for your Cuckoo configuration:
              /home/cuckoo/.cuckoo/conf
=======================================================================

Cuckoo has finished setting up the default configuration.
Please modify the default settings where required and
start Cuckoo again (by running `cuckoo` or `cuckoo -d`).

1.3. 샌드박스 구성

샌드박스(Sandbox)는 악성코드를 안전하게 분석할 수 있는 환경을 제공한다. 이러한 샌드박스를 쿡쿠 코어가 직접 통제하여 자동화된 형태로 운영할 수 있다. 샌드박스로 사용될 수 있는 운영체제는 윈도우, 리눅스, OS X가 있으며 추가로 안드로이드도 가능하다. 가장 기본적인 동작을 확인하기 위해 윈도우 운영체제 이미지를 구성한다. 샌드박스 구성은 다음과 같이 진행한다.

1.3.1. 가상머신 다운로드 및 가져오기

윈도우 운영체제는 유료이기에 구매해야 하지만, 간단한 테스트를 위해서 마이크로소프트에서 공식적으로 90일 제한이 되어 있는 가상머신 이미지를 제공한다. 이 이미지를 다운로드 받는 사이트는 다음과 같다.

https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

쿡쿠 샌드박스의 분석 기능은 완전히 인터넷 익스플로러 11 버전과 엣지(Edge) 브라우저의 분석을 제공하지 않기에 낮은 버전의 브라우저를 선택한다. 그리고 윈도우 7 32비트 운영체제를 선택한다. 구성하려는 가상머신은 1.1. 기본 패키지 및 C 라이브러리 설치에서 선택한 VirtualBox로 선택한다.

우분투 데스크톱 버전에서 인터넷을 통해 다운로드 받을 때 저장되는 기본 위치는 ~/Download 디렉터리다. 다운로드한 파일은 zip으로 압축되어 있어 압축을 해제한다. 압축을 성공적으로 해제하면 IE8 - Win7.ova파일이 생성된다.

unzip ~/Download/IE8.Win7.For.Windows.VirtualBox.zip

이제 터미널에서 버추얼박스를 실행한다.

virtualbox

다음과 같이 창이 뜨는데, 최상단 바에서 File을 선택하고 Import Appliance... 를 클릭한다.

그리고 우측 폴더 아이콘을 클릭하여 방금 압축을 해제한 .ova 파일을 선택한다. 이제 Next > 버튼을 클릭한다.

이제 구체적인 시스템 구성 상태를 볼 수 있는데, 하단의 맥(MAC) 주소 초기화 버튼인 Reinitialize the MAC address of all network cards을 선택하고 Import를 클릭한다.

이제 윈도우 7 가상머신을 실행하여 부팅한다. 이 가상머신은 이미 가상머신 확장 도구가 설치되어 있기에 편리하게 이용할 수 있다. 부팅이 완료되면 시작 > Command Prompt 아이콘에서 우클릭한 후 Run as administrator를 선택하여 관리자모드로 윈도우 프롬프트에 접근한다. 이제 다음 명령을 입력하면 90일 테스트 제품으로 활성화된다.

slmgr /ato

1.3.2. 파이썬 2.7 다운로드 및 설치

악성코드를 분석하기 위해 쿡쿠 코어를 받으려면 샌드박스에 파이썬 2.7 버전을 설치해야 한다. 파이썬 2.7 버전을 다운로드하기 위해 윈도우의 인터넷 익스플로러 브라우저로 다음 사이트에 방문한다.

https://www.python.org/

상단의 다운로드를 클릭하면 다음과 같은 화면을 볼 수 있는데 Download Python 2.7.13을 클릭한다. 만약 파이썬 버전이 업데이트되었다면 마지막 숫자 13이 다른 숫자로 표기되어 있을 것이기에 당황하지 말자.

다운로드 페이지로 이동하는데, 하단으로 스크롤하여 Windows x86 MSI installer를 선택한다.

이러한 과정이 번거롭다면 다음 주소를 브라우저에 다음 주소를 입력하여 바로 다운로드를 진행할 수 있다.

https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi

다운로드가 끝나면 파이썬을 설치한다.

1.3.3. pillow 라이브러리 설치

파이썬 2.7 설치가 끝났다면 pillow 라이브러리를 설치한다. 이 라이브러리를 샌드박스에 설치하는 이유는 악성코드 분석을 진행할 때 윈도우 운영체제의 화면의 스크린샷을 찍어 상태를 파악하기 위함이다. 예를 들어 랜섬웨어 악성코드를 분석한다면, 사용자에게 협박하는 메시지를 볼 수 있을 것이다. 설치 방법은 단순하다. 먼저 윈도우 프롬프트를 열고 c:\python27\scripts 디렉터리의 pip 명령으로 pillow 라이브러리를 설치한다.

c:\Python27\Scripts\pip.exe install pillow

1.3.4. 네트워크 구성 및 아이피 고정

쿡쿠 코어가 샌드박스를 제어하는 것은 샌드박스에 설치된 에이전트를 통해 진행한다. 이 에이전트에 명령을 입력려면 쿡쿠 코어는 샌드박스의 아이피를 알아야한다. 하지만 아이피가 유동적으로 변경된다면 쿡쿠 코어는 샌드박스를 제어할 수 없게 된다. 따라서 샌드박스의 아이피를 직접 명시하여 고정한다. 또한 쿡쿠 엔진과 동일한 아이피 대역으로 설정하기 위해 브릿지 모드로 설정한다. 먼저 버추얼박스 상단의 Device에서 Network를 선택하고 Network Settings를 클릭한다.

다음 Attached to: 에서 Bridged Adapter를 선택하고 Name을 우분투 네트워크 인터페이스인 ens33을 선택한다.

이제 윈도우 운영체제에서 시작 > Control Panel > Network and Internet > Network and Sharing Center를 선택하고, 좌측의 Change adapter settings를 클릭한다. 윈도우 네트워크 인터페이스인 Local Area Connection 2가 나타나는데, 이 아이콘에서 마우스 우클릭을 한 후 Properties를 선택한다. 설정 창에서 Internet Protocol Version 4 (TCP/IPv4)를 선택하고 Properties를 클릭한다. 이제 다음 그림처럼 아이피와 DNS를 설정한다.

아이피 설정은 사용자마다 다르며, 브릿지 모드로 설정하기에 가상머신의 아이피 대역인 192.168.0.0/24를 고려하여 설정한다. 필자는 샌드박스를 192.168.0.10로 설정했다. DNS의 경우 구글의 DNS인 8.8.8.8과 8.8.4.4를 사용하는데, 때론 국가적으로 이슈가 된 공격은 국내 DNS에서 싱크홀(ShinkHole)을 운영하여 공격자와 통신을 차단하기에 구글의 DNS를 사용한다.

윈도우 커맨드로 들어가서 아이피가 잘 설정되어 있는지 ipconfig 명령으로 확인하고, 외부와 통신이 되는지 핑(ping) 테스트를 한다. 핑 테스트할 때 도메인을 이용해야 DNS까지 잘 동작하는지 확인할 수 있다.

1.3.5. 방화벽/업데이트 비활성화

쿡쿠 샌드박스는 허니팟에 기초한다. 악성코드가 잘 동작해야 효과적인 분석을 진행할 수 있기에 고의적으로 취약한 환경을 구성한다. 따라서 방화벽과 윈도우 업데이트를 비활성화한다. 시작 > Control Panel > System and Security를 선택한다. 여기서 Windows Firewall을 클릭하고 외측 항목에서 Turn Windows Firewall on or off를 클릭한다. 그리고 다음과 같이 두개의 Turn off Windows Firewall 항목을 선택한다.

다시 시작 > Control Panel > System and Security를 선택한다. 그리고 Windows Update를 클릭한다. 좌측 항목에서 Change settings를 클릭한다. 다음 그림과 같이 Important updates에서 Never check for updates (not recommended) 를 선택하여 윈도우 업데이트를 비활성화 한다.

1.3.6. Administrator 계정 활성화 및 로그인

관리자 계정을 활성화하고 로그인하는 이유는 앞서 설명한대로 악성코드가 동작하는데 방해가 없어야 하기 때문이다. 마치 리눅스의 root 계정으로 시스템을 운영하는 것과 같은 의미로 해석할 수 있다. 시작 버튼에서 Command Prompt 아이콘을 찾아 마우스 우클릭하고, Run as administrator를 선택하여 관리자 권한으로 윈도우 프롬프트를 실행한다. 그리고 다음 명령을 입력하여 관리자 계정을 활성화한다.

Net user administrator /active:yes

로그 아웃하면 관리자 계정이 활성화 되어 있는 것을 볼 수 있다. 관리자 계정에 비밀번호가 설정되어 있지 않고, 설정할 필요도 없기에 바로 관리자로 로그인한다. 로그인하면 시스인터널즈(Sysinternals) 도구 중 하나인 BGInfo의 실행 허가 알림창이 뜬다. 이 도구는 위 이미지의 바탕화면처럼 시스템의 정보를 출력하는 도구이기에 실행을 허가하든 하지 않든 중요하지 않다.

1.3.7. UAC 비활성화

UAC는 User Account Control의 약자로 말 그대로 사용자 계정을 제어하는데 사용된다. 윈도우 비스타 운영체제에서 처음 도입된 보안 기술로 리눅스의 사용자 권한 체계와 유사하게 이해하면 된다. 보안 관점에서 이해를 해보면, 공격자가 악성코드를 실행시킬 때 일반 사용자 A에서 동작시키면, 일반 사용자 B가 로그인했을 때 이 악성코드는 동작하지 않는다. 그렇다면 모든 사용자가 악성코드를 실행시키려면 관리자 권한으로 시스템에 동작시키는 것이 필요하다. 이 관점에서 UAC 우회라는 기술을 공격자가 자주 사용한다.

하지만 공격자가 악성코드를 감염시키기 전에 수행해야하는 공격이며, 악성코드를 분석하는 입장에서는 크게 필요가 없다. 문제는 자동화된 형태로 분석을 한다는 것은 사용자가 실행했다는 것을 증명할 수 없다. 더욱이 쿡쿠 코어는 일반 사용자로 접근해서 실행하는 것이 아닌 네트워크를 통해 받은 파일을 프로그램이 실행하기에 로그인한 계정 주체와 실행 주체가 달라 문제가 발생할 수 있다. 이러한 이유로 UAC를 비활성화 하는 작업이 필요하다. 시작에서 uac를 검색한다.

그리고 다음과 같이 왼쪽 UAC 제어 바를 최하단으로 위치시켜 비활성화한다.

1.3.8. agent.py 실행과 가상머신 스냅샷 구성

쿡쿠 코어를 설치하면서 받아온 파일 중 샌드박스화 시키는 agent.py를 윈도우 7에 구성한다. 윈도우 7 가상머신 상단의 Devices를 선택하고, Shared Folders의 Shared Folders Settings... 를 클릭한다.

다음 오른쪽의 폴더에 + 기호가 붙은 아이콘을 클릭하고 Folder Path: 를 선택한 다음 Other... 를 클릭한다. 그리고 다음과 같이 Directory: 에 ./cuckoo/agent를 입력한다. Choose 버튼이 비활성화 되더라도 엔터치면 연결이 이루어진다.

다음으로 Auto-mount와 Make Permanent를 활성화하고 OK 버튼을 누른다. Auto-mount는 설정과 동시에 공유 폴더와 연결되도록 설정하는 옵션이고, Make Permanent는 다음 번 부팅 시 공유 폴더를 이용하도록 설정하는 옵션이다. 간혹 Auto-mount로 공유 폴더와 연결이 잘 안되는 경우가 발생하는데 이 때 재부팅하면 Make Permanent에 의해 공유 폴더와 연결되어 있는 것을 볼 수 있다.

공유 폴더 설정이 끝났다면 시작버튼에서 마우스 우클릭을 한 후 Open Windows Explorer를 선택한다.

좌측 Network 항목에 VBOXSVR 공유 폴더가 활성화 된 것을 볼 수 있다. 이 폴더에는 방금 설정한 디렉터리와 연결되어 있으며, 여기서 agent.py를 가져올 수 있다.

agent.py를 바탕화면에 복사하고 실행한다.

이제 스냅샷을 찍고 저장하는 과정을 진행한다. 이 과정은 우분투 터미널에서 명령으로 제어 가능하며 쿡쿠 코어가 가상머신을 제어하는 방식으로 봐도 무방하다. 우분투 터미널에서 다음과 같이 명령을 입력하여 현재상태를 저장하고 스냅샷을 구성한다. 가상머신의 이름은 IE8 - Win7이고, 스냅샷 이름은 Snapshot1로 설정했다. 스냅샷 이름은 사용자가 원하는 이름으로 설정해도 된다. 쿡쿠 코어가 제어할 땐 최근에 찍은 스냅샷을 기준으로 제어하기 때문이다.

VBoxManage snapshot "IE8 - Win7" take "Snapshot1" --pause
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Snapshot taken. UUID: e2bc4426-6862-49fe-8ec2-4eb7dda4150c

제대로 스냅샷 설정이 되었는지 확인하기 위해 가상머신을 종료하고, 리스토어를 진행한다.

VBoxManage controlvm "IE8 - Win7" poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
VBoxManage snapshot "IE8 - Win7" restorecurrent
Restoring snapshot e2bc4426-6862-49fe-8ec2-4eb7dda4150c
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

그러면 버추얼박스에 표현되는 상태는 다음과 같으며 하나의 샌드박스 구성이 끝났다. 이제 버추얼박스를 종료하고 쿡쿠 설정을 진행한다.

1.4. 웹 인터페이스 데이터베이스 구성

쿡쿠 웹 인터페이스인 장고(Django)는 쿡쿠 코어 설치에서 설치했고, 이 웹 인터페이스가 사용하는 데이터베이스인 몽고DB(MongoDB)를 구축한다. 이 구성은 사용자가 편리하게 브라우저를 이용하여 분석을 요청하거나 분석된 결과를 볼 수 있게 도와준다. 추후에 스케줄링을 위한 데이터베이스와 검색을 위한 데이터베이스 구성 데이터베이스 서버에 구성할 예정이기에 쿡쿠 데이터베이스는 별도의 운영체제를 설치하여 네트워크로 연결한다.

문서 지향 데이터베이스의 장점은 관계형 데이터베이스에서 사용하는 테이블과 같은 경직된 구조로 데이터를 저장하지 않다는 점이다. 좀 더 풀어서 설명하자면 테이블의 열을 추가하려면 테이블 자체의 정의를 변경해야 하지만, 문서 지향 데이터베이스는 스키마를 사용하지 않도록 설계되어 있기에 별도의 변경없이 속성만 추가하면 된다. 즉, 데이터를 관리하는데 있어 매우 효율적이며 빠르다.

쿡쿠 데이터베이스 서버(192.168.0.251)에 몽고DB데이터베이스를 설치한다.

sudo apt-get install mongodb
그리고 외부에서 접근할 수 있게 몽고DB의 설정 파일에서 라인 11의 bind-ip 를 쿡쿠 데이터베이스 서버의 아이피로 수정한다.
sudo vim /etc/mongodb.conf
bind_ip = 192.168.0.251
서비스를 재시작하여 설정을 적용한다.
sudo systemctl restart mongodb
기본 형태로 사용하는 것은 몽고DB 데이터베이스에 사용자 인증 없이 바로 사용하게 된다. 따라서 몽고DB 데이터베이스에 사용자 계정과 비밀번호를 구성하고 연결하도록 설정한다. 먼저 몽고DB 쉘에 접속한다.
mongo 192.168.0.251
MongoDB shell version: 2.6.10
connecting to: 192.168.0.251/test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
다음 명령으로 계정과 비밀번호 그리고 권한을 설정한다.
> use cuckoo
switched to db cuckoo
> db.createUser({user:"cuckoo",pwd:"Hakawati123!@#",roles:[{role:"readWrite",db:"cuckoo"}]})
Successfully added user: {
        "user" : "cuckoo",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "cuckoo"
                 }
        ]
}

1.5. 쿡쿠 설정

쿡쿠 코어와 샌드박스 그리고 웹 인터페이스와 데이터베이스 구성이 모두 끝났다. 그렇다면 엔진의 운영 방식과 엔진이 샌드박스를 인식할 수 있도록 설정파일을 수정한다. 쿡쿠 설정파일의 대부분은 $CWD/conf 디렉터리에 위치한다.

이 책을 집필하는 기준인 2.0.2버전에서는 총 15가지 설정파일이 존재한다. 모든 설정파일을 수정하지 않으며, 이 챕터에서는 기본으로 동작하기 위한 필수 설정만 수정한다. 이후 기능을 확장하는 과정마다 필요한 부분을 언급할 예정이다.

  • auxiliary.conf: 아래 다양한 설정 파일로 분류하기 애매한 부수적인 기능을 선택하고 설정하는 파일이다.
  • avd.conf: 안드로이드 분석으로 확장하는 과정에 가상머신의 요소로 선택하고 설정하는 파일이다.
  • cuckoo.conf: 쿡쿠 코어가 동작하는데 핵심적인 설정 파일이다.
  • esx.conf: 가상머신의 한 종류로 Tpye 1 하이퍼바이저 방식을 사용하고 있는 VMware의 ESX로 샌드박스를 구성할 때 선택하고 설정하는 파일이다.
  • kvm.conf: 가상머신의 한 종류로 Type 1 하이퍼바이저 방식을 사용하는 리눅스용 가상머신인 KVM으로 샌드박스를 구성할 때 선택하고 설정하는 파일이다.
  • memory.conf: Volatility 도구를 이용하여 메모리 포렌식을 진행할 때 필요한 기능을 선택하고 설정하는 파일이다.
  • physical.conf: Fog 프로젝트를 이용하여 샌드박스를 가상먼신이 아닌 리얼머신으로 구성할 때 선택하고 설정하는 파일이다.
  • processing.conf: 다양한 분석 기능을 선택하고 설정하는 파일이다.
  • qemu.conf: 가상머신의 한 종류로 Type 2 하이퍼바이저 방식을 사용하는 QEMU 로 샌드박스를 구성할 때 선택하고 설정하는 파일이다.
  • reporting.conf: 분석 결과를 반영하는 방식을 선택하고 설정하는 파일이다.
  • routing.conf: 다양한 네트워크 구성을 위해 사용하는 설정 파일이다.
  • virtualbox.conf: 가상머신의 한 종류로 Type 2 하이퍼바이저 방식을 사용하는 VIrtualBox로 샌드박스를 구성할 때 선택하고 설정하는 파일이다.
  • vmware.conf: 가상머신의 한 종류로 Type 2 하이퍼바이저 방식을 사용하는 VMware 로 샌드박스를 구성할 때 선택하고 설정하는 파일이다.
  • vsphere.conf: 가상머신의 한 종류로 VMware에서 제공하는 클라우드 컴퓨팅 가상화 플랫폼인 vSphere를 샌드박스로 선택하고 사용할 때 설정하는 파일이다.
  • xenserver.conf: 가상머신의 한 종류로 Type 1 하이퍼바이저 방식을 사용하는 리눅스용 가상머신인 xenserver으로 샌드박스를 구성할 때 선택하고 설정하는 파일이다.

설정 파일의 기본 구성은 섹션과 옵션으로 구성되어 있다. 섹션은 각괄호([모듈 섹션])로 표현되며 옵션은 변수명처럼 구성된다. 기능을 단순히 켜고 끄는 것은 [yes/no]로 구성되어 있고, 그 외엔 구성에 필요한 값을 입력하도록 구성되어 있다.

기본 설정에서 중요한 설정 파일은 cuckoo.conf, reporting.conf이며, 버추얼박스로 샌드박스를 구성했기에 virtualbox.conf도 중요한 설정 파일이다. 먼저 cuckoo.conf 설정을 살펴본다. 이 설정 파일에서 수정이 필요한 부분은 [resultserver] 섹션의 ip 옵션으로 샌드박스가 악성코드를 분석한 결과를 전달받는 쿡쿠 코어의 아이피로 수정하고 저장한다. 기본 포트는 2042인데, 필요에 따라 수정한다.

vim ~/.cuckoo/conf/cuckoo.conf
[resultserver]
# The Result Server is used to receive in real time the behavioral logs
# produced by the analyzer.
# Specify the IP address of the host. The analysis machines should be able
# to contact the host through such address, so make sure it's valid.
# NOTE: if you set resultserver IP to 0.0.0.0 you have to set the option
# `resultserver_ip` for all your virtual machines in machinery configuration.
ip = 192.168.0.200

# Specify a port number to bind the result server on.
port = 2042

reporting.conf에서 수정하는 부분은 1.4. 웹 인터페이스 데이터베이스 구성이 성공적으로 진행되어야 설정한 후 동작하는데 문제가 발생하지 않는다. [mongodb] 섹션에서 기능을 활성화하는 enabled 옵션 값을 yes로 변경하고, 쿡쿠 데이터베이스 서버 주소를 host 옵션에 입력한다. 그리고 몽고DB에 생성한 cuckoo 데이터베이스의 사용자 계정과 비밀번호를 username과 password 옵션에 입력한다.

vim ~/.cuckoo/conf/reporting.conf
[mongodb]
enabled = yes
host = 192.168.0.251
port = 27017
db = cuckoo
store_memdump = yes
paginate = 100
# MongoDB authentication (optional).
username = cuckoo
password = Hakawati123!@#

마지막으로 virtualbox.conf를 설정한다. 첫번째로 [virtualbox] 섹션의 mode 옵션을 gui로 변경한다. 이는 샌드박스가 화면에 보이도록 운영하여 제대로 동작하는지 확인하기 위한 목적이다. 기존의 headless를 사용하면 가상머신의 동작 과정이 화면에 보여지지 않고 분석하게 된다.

두번째로 interface 옵션으로 샌드박스가 사용하는 네트워크 인터페이스 이름을 입력한다. 브릿지 모드로 설정했기에 우분투에서 ifconfig 명령으로 확인할 수 있는 네트워크 인터페이스 이름인 ens33으로 설정한다. 참고로 이 값은 사용자마다 상이할 수 있다.

세번째로 machines옵션은 샌드박스의 구성을 설정하는 부분이다. 특히 machines에 설정한 cuckoo1은 그 아래에 있는 [cuckoo1] 섹션의 이름과 동일하게 구성되어야 쿡쿠 코어가 샌드박스의 정보를 읽을 수 있다. 이러한 방식으로 샌드박스를 여러개 구축할 수 있다.

vim ~/.cuckoo/conf/virtualbox.conf
[virtualbox]
# Specify which VirtualBox mode you want to run your machines on.
# Can be "gui" or "headless". Please refer to VirtualBox's official
# documentation to understand the differences.
mode = gui

# Path to the local installation of the VBoxManage utility.
path = /usr/bin/VBoxManage
# If you are running Cuckoo on Mac OS X you have to change the path as follows:
# path = /Applications/VirtualBox.app/Contents/MacOS/VBoxManage

# Default network interface.
interface = ens33

# Specify a comma-separated list of available machines to be used. For each
# specified ID you have to define a dedicated section containing the details
# on the respective machine. (E.g. cuckoo1,cuckoo2,cuckoo3)
machines = cuckoo1

[virtualbox] 섹션의 machines 옵션에 설정된 cuckoo1의 구성사항이다. label 옵션은 샌드박스의 이름이기에 IE8 - Win7으로 설정한다. 이 샌드박스에 설정한 아이피를 ip 옵션에 설정한다.

[cuckoo1]
# Specify the label name of the current machine as specified in your
# VirtualBox configuration.
label = IE8 - Win7

# Specify the operating system platform used by current machine
# [windows/darwin/linux].
platform = windows

# Specify the IP address of the current virtual machine. Make sure that the
# IP address is valid and that the host machine is able to reach it. If not,
# the analysis will fail.
ip = 192.168.0.10

2. 쿡쿠 샌드박스 기본 운영

쿡쿠 샌드박스 구축이 성공적이라면 쿡쿠 코어의 동작에 아무런 문제가 없을 것이다. 이제 쿡쿠 샌드박스를 운영하는 절차를 이해하고 동작시켜본다. 이 과정의 목차는 다음과 같다.

2.1. 쿡쿠 코어 실행

쿡쿠 코어를 다음과 같이 실행한다. 쿡쿠 샌드박스가 동작하는 과정에서 발생하는 문제를 출력할 수 있게 디버그 옵션인 -d를 함께 사용한다. cuckoo 명령은 환경변수로 등록되어 있어 어떤 위치에서 명령해도 잘 동작할 것이다. 코어가 잘 동작하면 다음과 같은 화면을 볼 수 있다.

cuckoo -d

            _       _                   _             _              _            _
          /\ \     /\_\               /\ \           /\_\           /\ \         /\ \
         /  \ \   / / /         _    /  \ \         / / /  _       /  \ \       /  \ \
        / /\ \ \  \ \ \__      /\_\ / /\ \ \       / / /  /\_\    / /\ \ \     / /\ \ \
       / / /\ \ \  \ \___\    / / // / /\ \ \     / / /__/ / /   / / /\ \ \   / / /\ \ \
      / / /  \ \_\  \__  /   / / // / /  \ \_\   / /\_____/ /   / / /  \ \_\ / / /  \ \_\
     / / /    \/_/  / / /   / / // / /    \/_/  / /\_______/   / / /   / / // / /   / / /
    / / /          / / /   / / // / /          / / /\ \ \     / / /   / / // / /   / / /
   / / /________  / / /___/ / // / /________  / / /  \ \ \   / / /___/ / // / /___/ / /
  / / /_________\/ / /____\/ // / /_________\/ / /    \ \ \ / / /____\/ // / /____\/ /
  \/____________/\/_________/ \/____________/\/_/      \_\_\\/_________/ \/_________/

 Cuckoo Sandbox 2.0.2
 www.cuckoosandbox.org
 Copyright (c) 2010-2017

 Checking for updates...
 You're good to go!
2017-04-17 15:46:25,624 [cuckoo.core.startup] DEBUG: Imported modules...
2017-04-17 15:46:25,636 [cuckoo.core.startup] DEBUG: Imported "auxiliary" modules:
2017-04-17 15:46:25,637 [cuckoo.core.startup] DEBUG: 	 |-- MITM
2017-04-17 15:46:25,637 [cuckoo.core.startup] DEBUG: 	 |-- Reboot
2017-04-17 15:46:25,637 [cuckoo.core.startup] DEBUG: 	 |-- Services
2017-04-17 15:46:25,637 [cuckoo.core.startup] DEBUG: 	 `-- Sniffer
2017-04-17 15:46:25,637 [cuckoo.core.startup] DEBUG: Imported "machinery" modules:
2017-04-17 15:46:25,638 [cuckoo.core.startup] DEBUG: 	 |-- vSphere
2017-04-17 15:46:25,638 [cuckoo.core.startup] DEBUG: 	 |-- KVM
2017-04-17 15:46:25,638 [cuckoo.core.startup] DEBUG: 	 |-- ESX
2017-04-17 15:46:25,638 [cuckoo.core.startup] DEBUG: 	 |-- XenServerMachinery
2017-04-17 15:46:25,638 [cuckoo.core.startup] DEBUG: 	 |-- VirtualBox
2017-04-17 15:46:25,638 [cuckoo.core.startup] DEBUG: 	 |-- Avd
2017-04-17 15:46:25,639 [cuckoo.core.startup] DEBUG: 	 |-- QEMU
2017-04-17 15:46:25,639 [cuckoo.core.startup] DEBUG: 	 |-- VMware
2017-04-17 15:46:25,639 [cuckoo.core.startup] DEBUG: 	 `-- Physical
2017-04-17 15:46:25,639 [cuckoo.core.startup] DEBUG: Imported "processing" modules:
2017-04-17 15:46:25,639 [cuckoo.core.startup] DEBUG: 	 |-- AnalysisInfo
2017-04-17 15:46:25,639 [cuckoo.core.startup] DEBUG: 	 |-- ApkInfo
2017-04-17 15:46:25,640 [cuckoo.core.startup] DEBUG: 	 |-- Baseline
2017-04-17 15:46:25,640 [cuckoo.core.startup] DEBUG: 	 |-- BehaviorAnalysis
2017-04-17 15:46:25,640 [cuckoo.core.startup] DEBUG: 	 |-- Debug
2017-04-17 15:46:25,640 [cuckoo.core.startup] DEBUG: 	 |-- Droidmon
2017-04-17 15:46:25,640 [cuckoo.core.startup] DEBUG: 	 |-- Dropped
2017-04-17 15:46:25,640 [cuckoo.core.startup] DEBUG: 	 |-- DroppedBuffer
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- GooglePlay
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- Irma
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- Memory
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- MetaInfo
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- MISP
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- NetworkAnalysis
2017-04-17 15:46:25,641 [cuckoo.core.startup] DEBUG: 	 |-- ProcessMemory
2017-04-17 15:46:25,642 [cuckoo.core.startup] DEBUG: 	 |-- Procmon
2017-04-17 15:46:25,642 [cuckoo.core.startup] DEBUG: 	 |-- Screenshots
2017-04-17 15:46:25,642 [cuckoo.core.startup] DEBUG: 	 |-- Snort
2017-04-17 15:46:25,642 [cuckoo.core.startup] DEBUG: 	 |-- Static
2017-04-17 15:46:25,642 [cuckoo.core.startup] DEBUG: 	 |-- Strings
2017-04-17 15:46:25,642 [cuckoo.core.startup] DEBUG: 	 |-- Suricata
2017-04-17 15:46:25,643 [cuckoo.core.startup] DEBUG: 	 |-- TargetInfo
2017-04-17 15:46:25,643 [cuckoo.core.startup] DEBUG: 	 |-- TLSMasterSecrets
2017-04-17 15:46:25,643 [cuckoo.core.startup] DEBUG: 	 `-- VirusTotal
2017-04-17 15:46:25,643 [cuckoo.core.startup] DEBUG: Imported "signatures" modules:
2017-04-17 15:46:25,643 [cuckoo.core.startup] DEBUG: 	 |-- CreatesExe
2017-04-17 15:46:25,643 [cuckoo.core.startup] DEBUG: 	 `-- SystemMetrics
2017-04-17 15:46:25,644 [cuckoo.core.startup] DEBUG: Imported "reporting" modules:
2017-04-17 15:46:25,644 [cuckoo.core.startup] DEBUG: 	 |-- ElasticSearch
2017-04-17 15:46:25,644 [cuckoo.core.startup] DEBUG: 	 |-- Feedback
2017-04-17 15:46:25,644 [cuckoo.core.startup] DEBUG: 	 |-- JsonDump
2017-04-17 15:46:25,644 [cuckoo.core.startup] DEBUG: 	 |-- Mattermost
2017-04-17 15:46:25,644 [cuckoo.core.startup] DEBUG: 	 |-- MISP
2017-04-17 15:46:25,645 [cuckoo.core.startup] DEBUG: 	 |-- Moloch
2017-04-17 15:46:25,645 [cuckoo.core.startup] DEBUG: 	 |-- MongoDB
2017-04-17 15:46:25,645 [cuckoo.core.startup] DEBUG: 	 |-- Notification
2017-04-17 15:46:25,645 [cuckoo.core.startup] DEBUG: 	 `-- SingleFile
2017-04-17 15:46:25,645 [cuckoo.core.startup] DEBUG: Checking for locked tasks..
2017-04-17 15:46:25,663 [cuckoo.core.startup] DEBUG: Checking for pending service tasks..2017-04-17 15:46:25,645 [cuckoo.core.startup] DEBUG: Checking for locked tasks..
2017-04-17 15:46:25,663 [cuckoo.core.startup] DEBUG: Checking for pending service tasks..
2017-04-17 15:46:25,674 [cuckoo.core.startup] WARNING: Unable to import yara (please compile from sources)
2017-04-17 15:46:25,675 [cuckoo.core.resultserver] DEBUG: ResultServer running on 192.168.0.200:2042.
2017-04-17 15:46:25,676 [cuckoo.core.scheduler] INFO: Using "virtualbox" as machine manager
2017-04-17 15:46:26,090 [cuckoo.machinery.virtualbox] DEBUG: Stopping vm IE8 - Win7
2017-04-17 15:46:26,285 [cuckoo.machinery.virtualbox] DEBUG: Restoring virtual machine IE8 - Win7 to its current snapshot
2017-04-17 15:46:26,404 [cuckoo.core.scheduler] INFO: Loaded 1 machine/s
2017-04-17 15:46:26,422 [cuckoo.core.scheduler] INFO: Waiting for analysis tasks.

샌드박스를 하나만 구성했기에 "Loaded 1 machine/s"가 출력된 것을 볼 수 있으며 어떠한 에러도 발생하지 않는다. 에러가 발생한다면 해당 에러를 잘 살펴보고 문제를 해결하는 것이 중요하다.

2.2. 쿡쿠 웹 서버 실행

이제 새로운 터미널을 열어 웹 서비스를 실행한다. 이 실행에 앞서 쿡쿠 코어 운영에 필요한 명령들을 살펴보자.

cuckoo --help

Usage: cuckoo [OPTIONS] COMMAND [ARGS]...

  Invokes the Cuckoo daemon or one of its subcommands.

  To be able to use different Cuckoo configurations on the same machine with
  the same Cuckoo installation, we use the so-called Cuckoo Working
  Directory (aka "CWD"). A default CWD is available, but may be overridden
  through the following options - listed in order of precedence.

  * Command-line option (--cwd)
  * Environment option ("CUCKOO_CWD")
  * Environment option ("CUCKOO")
  * Current directory (if the ".cwd" file exists)
  * Default value ("~/.cuckoo")

Options:
  -d, --debug             Enable verbose logging
  -q, --quiet             Only log warnings and critical messages
  --nolog                 Don't log to file.
  -m, --maxcount INTEGER  Maximum number of analyses to process
  --user TEXT             Drop privileges to this user
  --cwd TEXT              Cuckoo Working Directory
  --help                  Show this message and exit.

Commands:
  api          Operate the Cuckoo REST API.
  clean        Clean the CWD and associated databases.
  community    Fetch supplies from the Cuckoo Community.
  distributed  Distributed Cuckoo helper utilities.
  dnsserve     Custom DNS server.
  import       Imports an older Cuckoo setup into a new CWD.
  init         Initializes Cuckoo and its configuration.
  machine      Dynamically add/remove machines.
  migrate      Perform database migrations.
  process      Process raw task data into reports.
  rooter       Instantiates the Cuckoo Rooter.
  submit       Submit one or more files or URLs to Cuckoo.
  web          Operate the Cuckoo Web Interface.

옵션으로는 디버그 옵션, 경고와 크리티컬 에러 메시지만 출력하는 옵션, 로그를 남기지 않는 옵션, 분석 개수를 조절하는 옵션, 사용자 권한을 제어하는 옵션 그리고 CWD를 지정하는 옵션으로 구성된다. 명령으로는 api, clean등 다양한데 이들은 각각의 기능을 사용할 때 언급할 예정이다.

웹 서버를 실행하기 위한 명령으로는 web이 있다. 이 명령 뒤에 다시 --help 옵션을 사용하면 웹 서비스를 실행하기 위한 설정 방법을 볼 수 있다.

cuckoo web --help

Usage: cuckoo web [OPTIONS] [ARGS]...

  Operate the Cuckoo Web Interface.

  Use "--help" to get this help message and "help" to find Django's
  manage.py potential subcommands.

Options:
  -H, --host TEXT     Host to bind the Web Interface server on
  -p, --port INTEGER  Port to bind the Web Interface server on
  --uwsgi             Dump uWSGI configuration
  --nginx             Dump nginx configuration
  --help              Show this message and exit.

웹 서버는 -H 옵션 뒤에 호스트 아이피를, -p 옵션 뒤에 포트 번호를 입력하여 웹 서비스를 실행할 수 있다. 설명에 나와있듯이 --help 옵션이 아닌 help 옵션을 입력하면 장고 웹 인터페이스의 명령을 볼 수 있다. 어떤 옵션을 사용하든 기본으로 장고 웹 인터페이스를 사용한다.

cuckoo web -H 192.168.0.200 -p 8000

Performing system checks...

System check identified no issues (0 silenced).
April 17, 2017 - 15:55:06
Django version 1.8.4, using settings 'cuckoo.web.web.settings'
Starting development server at http://192.168.0.200:8000/
Quit the server with CONTROL-C.
[17/Apr/2017 15:55:30] "GET / HTTP/1.1" 200 21999

브라우저로 웹 서버에 접근하면 쿡쿠 웹 서비스를 볼 수 있다.

3. 마무리

쿡쿠 샌드박스의 가장 기초적인 동작을 기술해보았다. 쿡쿠 샌드박스는 이것만 있지 않다. 패턴 제작부터 기타 대형 오픈소스 프로젝트와의 연동 등 여러가지 형태로 확장할 수 있다. 이 모든 것을 다루기엔 많은 시간이 필요할 듯 싶다. 기회가 된다면 차근차근 하나씩 정리하고 싶다.

4. 참고 사이트


'Information Security > OpenSource' 카테고리의 다른 글

CVE-SEARCH v.REV  (0) 2017.05.12
How to install Cuckoo Sandbox 2.0.x  (31) 2017.05.08
CVE-SEARCH  (1) 2016.06.29
How to install Viper 1.3-dev  (0) 2016.04.04
Mobile Security Framework  (0) 2016.03.02
Cuckoo Sandbox 2.0 RC1 Release  (0) 2016.01.22
  1. tgpapa 2017.07.24 23:14

    안녕하세요.
    얼마전 세미나에서 발표하시는것 보고 찾아들어왔습니다.
    쿡쿠 샌드박스 기본 환경 구축에 도움이 많이되었습니다. 감사합니다.
    혹시 DB서버 추가 구성(스케줄링용 RDB, 검색엔진(ElasticSearch)) 과 메모리 분석(Volatility) 관련내용은 포스팅 계획이 없으신가요?

  2. tgpapa 2017.07.30 12:20

    호스트와 샌드박스를 같은 네트워크 대역으로 하면
    샌드박스에서 구동되는 악성코드가 호스트로 전파되거나 그런 위험성은 없나요?

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2017.08.18 17:33 신고

      네 악성코드의 특성과 관련있는데, 보통 중첩 가상화로 구성하면 악성코드가 동작하는 운영체제와 호스트 운영체제가 다르기 때문에 영향이 더 적을것 같습니다. 또한 예전에 샌드박스에 요청한 악성코드로 쿡쿠 샌드박스를 우회해 호스트 운영체제 쉘을 획득하는(? 정확히 기억이 안나서) 취약성이 발견되었는데 곧바로 패치되었던 기억도 있습니다.

  3. 111 2018.04.17 16:18

    설치 체계적으로 잘 설명해두셔서 잘 하고있습니다..

    그런데 관리자 계정으로 로그인할때 비밀번호가 없다고 하셨는데 비밀번호를 입력하라고 하네요..

    어떻게 해결해야하는건지 혹시 아시나요?

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 09:48 신고

      아 최근에 MS에서 제공하는 개발자를 위한 가상머신의 구성이 바뀌었더라구요.

      //관리자 비밀번호 생성(아무거나인 * 후 패스워드 입력하지 않고 엔터)
      net user administrator *
      [엔터 두번]

      //자동으로 관리자로 접속되도록 일반 사용자 계정 모두 삭제
      net user IEUser /delete
      net user sshd /delete
      net user sshd_server /delete

  4. 2018.06.25 09:43

    비밀댓글입니다

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 09:49 신고

      가상머신의 네트워크 구성과 NAT 또는 브릿지에 따라 다르게 구성해해요. 네트워크 인터페이스인 ens33도 tech1님의 환경에 맞게 설정할 필요가 있습니다~

  5. tech1 2018.06.25 10:15

    답변 감사합니다.^^
    답변 내용은 "어댑터에 브릿지"(bridge adapter) 에서 ens33 이어도 제 네트워크 상황에 따라 다른거가 되도 된다는거 같은데요. 그럼. 혹시 포스팅한 부분중 ie8 - win7의 네트워크 주소를 고정아이피(192.168.0.10)로 수정하자나요.
    고정IP로 수정하면 ie8 - win7의 host인 우분투에서 따로 설정을 해줘야 하는거 아닌가요???
    고정ip하고 인터넷이 안되서요.. 설정이 필요한게 아닌가 생각했어요.

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 10:18 신고

      버추얼박스에서 어댑터 브릿지를 선택하시면 우분투의 아이피와 동일한 대역의 아이피로 고정하시면 됩니다. 우분투에 별다른 설정을 하지 않아도 통신이 잘돼요.

  6. tech1 2018.06.25 10:30

    아하 언뜻 이해가 간거 같은데요. 맞는지 잘 모르겠습니다.
    본문(포스팅된 글)에서 192 168 0 10으로 하신거는 host&guest 인 우분투의 ip 주소가 192 168 0 XX/24 이어서 같은 대역으로 설정하기 위해 192 168 0 XX(XX는 임의의 숫자이고, 10으로 설정하심)으로 했다고 보면 되나요?
    위의 말이 맞다면 제 컴퓨터에서 우분투의 ip 주소가 110 22 1 10이고 netmask가 255 255 255 0 일때 ie8-win7의 주소를 110 22 1 XX (XX는 제가 하고 싶은 거 암거나.. )로 하고 서브넷주소는 255 255 255 0 으로 하면 된다고 보면 될까요? (default gateway는 혹시 어떻게 정하시는지 아시는지요)

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 10:36 신고

      네 맞습니다. 다만, tech1님께서 말씀하신 아이피는 공인 아이피인 110.22.1.10를 사용하신거 같은데, 공인 아이피 할당 개수가 통신사의 상품에 따라 달라질 수 있어 할당하지 못할 수 있어요.
      이런 이유로 공인 아이피를 쓸 필요가 없어 저는 사설 아이피인 192.168.0.0 대역으로 사용하도록 VM웨어에서 설정을 했어요.
      사설 네트워크 설정 방법은 "VM웨어 > Edit > Virtual Network Editor > NAT > Subnet IP / Subnet mask 설정"으로 해결하실 수 있어요. 물론 우분투 운영체제 네트워크 인터페이스를 NAT로 설정하구요.

  7. tech1 2018.06.25 11:38

    답변 감사합니다. 네트워크 환경은 조사해보고 좀 생각해서 해야 겠네요..
    일단 다른 부분을 진행해 보았는데요. Administrator 계정 활성화를 했씁니다. Net user administrator /active:yes
    실행하고 The command completed successfully. 결과도 보았는데요. log off 하고 Administrator 에 로그인 하려고하는데 비번을 입력하고 합니다. 모든 과정을 본문하고 똑같이 했는데.. 왜그런지 혹시 짐작 가시는 바가 있으신가요??

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 11:42 신고

      //관리자 비밀번호 생성(아무거나인 * 후 패스워드 입력하지 않고 엔터)
      net user administrator *
      [엔터 두번]

      //자동으로 관리자로 접속되도록 일반 사용자 계정 모두 삭제
      net user IEUser /delete
      net user sshd /delete
      net user sshd_server /delete

  8. tech1 2018.06.25 13:34

    답변 정말 감사합니다..
    네트워크 설정에 있어서 제가 공인 IP를 사용하는데, VMware에서 사설 네트워크로 환경 설정하는 것을 알려주신거 같습니다. guest&host 우분투는 공인 IP를 사용하고, 이 우분투에 설치된 virtualbox의 위에 올라간 ie8-win7아 ip주소는 192 168 ~~ 와 같이 사설 ip 를 고정하여 사용하도록 설정하는 방법을 권해주신거 같은 맞는 건가요?? (저는 virtualbox 이긴합니다..)
    만약 그렇다면, 제가 다른 분이 쓴 글을 보니(http://ferretsecu.tistory.com/6 의 "8. 라우팅 설정";) guest&host에서 포트포워딩(ie8-win7은 호스트 전용 어댑터로 설정)을 해주는거 같은데 이부분을 사용해도 될까요??

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 14:03 신고

      네 라우팅 설정으로 진행하셔도 무방한데 그렇게 쓰시려면 host-only로 네트워크 쓰시면 됩니다. 우분투는 사설 안되시나요?

  9. 2018.06.25 14:19

    비밀댓글입니다

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 14:27 신고

      아 그렇게 구성하셨군요. 그렇게 구성하시면 네트워크가 안되요. 버추얼박스 안에 버추얼박스를 구성하면 안쪽의 버추얼박스의 네트워크 인터페이스가 안잡히더라구요. 가상화 안에 가상화를 중첩 가상화라하는데, 저도 이거 때문에 고생을 했었어요. 중첩 가상화 지원은 VM웨어가 가장 잘 지원해줘요. 버추얼박스는 안되구요.

  10. tech1 2018.06.25 14:47

    답변 감사합니다. hakawati님.
    hakawati님도 저와 비슷한 환경으로 하신거 같고, 차이점은 OS 버전과 vmware, 공유기 사용 환경인거 같은데 맞는지요?
    중첩가상화 환경에서 혹시 host only network으로 해도 virtualbox에서는 안되는건가요??

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 14:49 신고

      음 그부분은 안해봐서 모르겠어요. 제가 셋팅할 때 다양한 방법을 시도해봤는데, 버추얼박스 공식 이슈 보고에서 중첩가상화를 지원 안하기에 네트워크 인터페이스가 동작하지 않는다는 문구를 보고 더는 테스트 안했던 걸로 기억하고 있어요~

  11. tech1 2018.06.25 14:58

    아하 host only는 해봐야겠네요.
    그런데 지금 제 상황에서는 vmware로 바꾼다고 해도 ip 주소 설정에서 또 막힐거 같은데요. 아닐까요?
    아니면 vmware에서 ie8-win7을 네트워크 설정시 브릿지 어댑터로 하면 자동으로 인터넷까지 되게 고정IP 설정으로 되는건가요??

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 14:59 신고

      네 dhcp에 의해 자동으로 사설 아아피 할당받고 그 아이피 대역으로 고정 아이피 셋팅하면 잘 돌아갈꺼에요

  12. tech1 2018.06.25 17:02

    안녕하세여^^ hakawati님
    일단 routing 설정을 (http://ferretsecu.tistory.com/6 의 "8. 라우팅 설정";)을 보고 했씁니다.
    돌아가긴 하는거 같네요 ㅎㅎ..
    앞으로 어떤 문제가 나올지는 모르겠지만요.. 하다가 정 안되면 우분트를 host로 설치하고 하던지 vmware를 다운 받아야 겠네요.,
    댓글로 알려주셔서 정말 너무 감사드립니다.

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.06.25 17:02 신고

      어랏 잘되시나봐요! 제가 잘못알고 있었나 보네요. 저도 다시 한번 테스트 해봐야겠습니다~

  13. tech1 2018.06.25 17:12

    지뢰찾기.exe 넣고 돌아가서 리포트 보고서 나오는거 까지봐서요. 다른 부분이 잘 설치되었는지는 모르겠으나.. 현재는 며칠 삽질하다가 된거라 기쁩니다..
    포스팅 된글은 계속 보고 있습니다. ㅎㅎ

  14. Favicon of https://blog.naver.com/gusrn94o BlogIcon asu 2018.07.26 02:51

    ip 설정에서 막혔습니다. 우분투 ip 를 기준으로 맨뒤에 0~255 변경해서 하고 있는데 몇개 안했는데도, 시간이 많이 걸리네요... 만약에 0~255까지 다해봤는데도 안되면 그때는 어떻게 해결해야 될까요 ? ip 주소에 대한 지식이 별로 없어서 팁 하나 주시면 감사할게요 !!

    • Favicon of https://www.hakawati.co.kr BlogIcon hakawati 2018.07.27 13:23 신고

      일단 사설 아이피인지 공인 아이피인지 확인부터 할 필요가 있습니다~ ㅎ

  15. Jeong 2018.08.23 11:50

    윈도우 셋팅 중간에 agent.py 가 나오는데 이건 어디서 구할 수 있는건가요??
    파이썬 설치 다 되었고 find / agent.py 해봐도 아무것도 안나와요

  16. nick1 2018.09.11 14:23

    안녕하세요. 글 잘 봤습니다. 다만 제가 쿠쿠 샌드박스 동작 자체에 대한 이해가 좀 부족한 것 같아서요.
    가상 머신을 설치해야 하는 이유를 잘 모르겠습니다. 이 부분에 대해 설명해주실 수 있나요?

  17. cho6nt 2018.11.02 05:02

    안녕하세요 책 구독자입니다 라우팅 설정을 끝마쳤는데 윈도우에서 파이썬 홈페이지가 안들어가집니다, 구글이나 여타 msn이나 전부 들어가지는데 구글에서 검색하여 홈페이지를 들어가면 안들어가지네요 무슨 이유일까요?

목차

1. 개요

취약점을 체계적으로 관리를 위해 마이트레에서 CVE코드를 부여했다. 이 코드는 특정 취약점을 고유한 번호를 할당하여 관리할 수 있다. 이러한 CVE를 할당받은 취약점을 다양한 리소스를 포함하여 체계적으로 관리할 수 있게 만들어진 오픈소스 도구가 CVE-SEARCH이다.

2. 설치

설치는 우분투에서 진행하지만 파이썬3로 사용하기에 다른 운영체제에서도 구현할 수 있다. 데이터베이스는 몽고DB를 사용하기에 몽고DB를 다운로드받고 설치해야한다. 특히 CVE-SEARCH는 2 버전대의 몽고DB를 사용한다. 다음과 같이 몽고DB 레파지토리를 등록한다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

이제 저장소에서 설치 가능한 애플리케이션 리스트를 가지고 온다.

sudo apt-get update

이제 몽고db 2.6.2 버전을 설치하고 파이선3 pip와 CVE-SEARCH를 다운받기 위한 git 그리고 일부 파일을 편집하기 위해 vim을 설치한다.

sudo apt-get install mongodb-org=2.6.2 mongodb-org-server=2.6.2 mongodb-org-shell=2.6.2 mongodb-org-mongos=2.6.2 mongodb-org-tools=2.6.2 python3-pip git vim

설치가 끝났다면 CVE-SEARCH를 다운로드한다.

git clone https://github.com/cve-search/cve-search

다운로드 받은 CVE-SEARCH에 필요한 파이썬 3 라이브러리를 설치한다.

cd cve-search
sudo pip3 install -r requirements.txt

CVE-SEARCH에서 사용하는 데이터베이스 중 하나는 redis 서버를 요구하기에 다음과 같이 구성한다.

sudo apt-get install build-essential tcl8.5
wget http://download.redis.io/releases/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make
make test
sudo make install
sudo ./utils/install_server.sh
sudo service redis_6379 start
cd ..

3. 데이터베이스 업데이트

데이터베이스 업데이트는 CVE-SEARCH의 sbin 디렉터리에서 진행한다. 해당 디렉터리에 접근하면 다음과 같은 파일 리스트를 볼 수 있다.

ls -al
total 112
drwxrwxr-x  2 hakawati hakawati  4096  6월 28 15:39 .
drwxrwxr-x 11 hakawati hakawati  4096  6월 28 15:44 ..
-rwxrwxr-x  1 hakawati hakawati  2586  6월 28 15:39 db_blacklist.py
-rwxrwxr-x  1 hakawati hakawati  2122  6월 28 15:39 db_cpe_browser.py
-rwxrwxr-x  1 hakawati hakawati  2549  6월 28 15:39 db_fulltext.py
-rwxrwxr-x  1 hakawati hakawati  4393  6월 28 15:39 db_mgmt_admin.py
-rwxrwxr-x  1 hakawati hakawati  6926  6월 28 15:39 db_mgmt_capec.py
-rwxrwxr-x  1 hakawati hakawati  3172  6월 28 15:39 db_mgmt_cpe_dictionary.py
-rwxrwxr-x  1 hakawati hakawati  2566  6월 28 15:39 db_mgmt_cpe_other_dictionary.py
-rwxrwxr-x  1 hakawati hakawati  1140  6월 28 15:39 db_mgmt_create_index.py
-rwxrwxr-x  1 hakawati hakawati  4026  6월 28 15:39 db_mgmt_cwe.py
-rwxrwxr-x  1 hakawati hakawati  3641  6월 28 15:39 db_mgmt_d2sec.py
-rwxrwxr-x  1 hakawati hakawati  1668  6월 28 15:39 db_mgmt_exploitdb.py
-rwxrwxr-x  1 hakawati hakawati  2926  6월 28 15:39 db_mgmt_ms.py
-rwxrwxr-x  1 hakawati hakawati 10825  6월 28 15:39 db_mgmt.py
-rwxrwxr-x  1 hakawati hakawati  2666  6월 28 15:39 db_mgmt_ref.py
-rwxrwxr-x  1 hakawati hakawati  3960  6월 28 15:39 db_mgmt_vendorstatements.py
-rwxrwxr-x  1 hakawati hakawati  2325  6월 28 15:39 db_mgmt_vfeed.py
-rwxrwxr-x  1 hakawati hakawati  4637  6월 28 15:39 db_notification.py
-rwxrwxr-x  1 hakawati hakawati  3323  6월 28 15:39 db_ranking.py
-rwxrwxr-x  1 hakawati hakawati  6337  6월 28 15:39 db_updater.py
-rwxrwxr-x  1 hakawati hakawati  2572  6월 28 15:39 db_whitelist.py

이 중에 데이터베이스를 업데이트하기 위한 핵심 파일을 세 가지 이며, 이 셋을 다음과 같이 실행시켜 구성한다. 각각의 업데이트는 시간이 많이 소비된다. db_mgmt.py로 업데이트를 성공하면 다음과 같은 기록을 볼 수 있다.

python3 db_mgmt.py -p
Database population started
Importing CVEs for year 2002
Importing CVEs for year 2003
Importing CVEs for year 2004
Importing CVEs for year 2005
Importing CVEs for year 2006
Importing CVEs for year 2007
Importing CVEs for year 2008
Importing CVEs for year 2009
Importing CVEs for year 2010
Importing CVEs for year 2011
Importing CVEs for year 2012
Importing CVEs for year 2013
Importing CVEs for year 2014
Importing CVEs for year 2015
Importing CVEs for year 2016

db_mgmt_cpe_dictionary.py로 업데이트 성공하면 다음과 같은 기록을 볼 수 있다.

python3 db_mgmt_cpe_dictionary.py
Preparing [##################################################] 113738/113738

db_updater.py로 업데이트 성공하면 다음과 같은 기록을 볼 수 있다.

python3 db_updater.py -c
INFO:root:Starting cves
Preparing [##################################################] 57/57
INFO:root:cves has 77455 elements (0 update)
INFO:root:Starting cpe
Not modified
INFO:root:cpe has 113647 elements (0 update)
INFO:root:Starting vfeed
Preparing [##################################################] 28/28
INFO:root:vfeed has 78593 elements (177 update)
INFO:root:Starting vendor
Preparing [##################################################] 1460/1460
INFO:root:vendor has 1425 elements (1425 update)
INFO:root:Starting cwe
Preparing [##################################################] 719/719
INFO:root:cwe has 719 elements (719 update)
INFO:root:Starting capec
Preparing [##################################################] 463/463
INFO:root:capec has 463 elements (463 update)
INFO:root:Starting redis-cache-cpe
INFO:root:redis-cache-cpe updated
INFO:root:Starting d2sec
{'url': 'http://www.d2sec.com/exploits/openconf_sql_injection.html', 'name': 'OpenConf SQL Injection', 'id': 'CVE-2012-1002'}
{'url': 'http://www.d2sec.com/exploits/phpdocumentor_1.3_rc4_rfi.html', 'name': 'phpDocumentor 1.3 RC4 RFI', 'id': 'CVE-2007-3228'}
{'url': 'http://www.d2sec.com/exploits/xibo_1.4.1_lfi.html', 'name': 'Xibo 1.4.1 LFI', 'id': 'CVE-2013-5979'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_helpdeskpro_sql_injection.html', 'name': 'Joomla Component com_helpdeskpro SQL Injection', 'id': 'CVE-2015-4073'}
{'url': 'http://www.d2sec.com/exploits/glpi_0.84.1_rce.html', 'name': 'GLPI 0.84.1 RCE', 'id': 'CVE-2013-5696'}
{'url': 'http://www.d2sec.com/exploits/openemr_4.1.2_forms_admin.php_sql_injection.html', 'name': 'OpenEMR 4.1.2 forms_admin.php SQL Injection', 'id': 'CVE-2014-5462'}
{'url': 'http://www.d2sec.com/exploits/phpfox_rce.html', 'name': 'phpFox RCE', 'id': 'CVE-2012-1300'}
{'url': 'http://www.d2sec.com/exploits/php-fusion_7.02.05_downloads.php_sql_injection.html', 'name': 'PHP-Fusion 7.02.05 downloads.php SQL Injection', 'id': 'CVE-2013-1803'}
{'url': 'http://www.d2sec.com/exploits/novell_groupwise_8_document_viewer_file_disclosure.html', 'name': 'Novell GroupWise 8 Document Viewer File Disclosure', 'id': 'CVE-2010-4715'}
{'url': 'http://www.d2sec.com/exploits/manageengine_desktop_central_9.0.0_file_upload.html', 'name': 'ManageEngine Desktop Central 9.0.0 File Upload', 'id': 'CVE-2014-5005'}
{'url': 'http://www.d2sec.com/exploits/novell_groupwise_8_webaccess_file_disclosure.html', 'name': 'Novell GroupWise 8 WebAccess File Disclosure', 'id': 'CVE-2010-4715'}
{'url': 'http://www.d2sec.com/exploits/openemr_4.1.1_logview.php_sql_injection.html', 'name': 'OpenEMR 4.1.1 logview.php SQL Injection', 'id': 'CVE-2014-5462'}
{'url': 'http://www.d2sec.com/exploits/phpgedview_4.2.3_lfi.html', 'name': 'PhpGedView 4.2.3 LFI', 'id': 'CVE-2011-0405'}
{'url': 'http://www.d2sec.com/exploits/yappa-ng_2.3.2_lfi.html', 'name': 'yappa-ng 2.3.2 LFI', 'id': 'CVE-2008-4626'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_horoscope_lfi.html', 'name': 'Joomla Component com_horoscope LFI', 'id': 'CVE-2010-1472'}
{'url': 'http://www.d2sec.com/exploits/helpdezk_1.0.1_file_upload.html', 'name': 'HelpDEZk 1.0.1 File Upload', 'id': 'CVE-2014-8337'}
{'url': 'http://www.d2sec.com/exploits/manageengine_desktop_central_9.0.0_fileuploadservlet_file_upload.html', 'name': 'ManageEngine Desktop Central 9.0.0 FileUploadServlet File Upload', 'id': 'CVE-2015-8249'}
{'url': 'http://www.d2sec.com/exploits/phpldapadmin_1.2.1.1_rce.html', 'name': 'phpLDAPadmin 1.2.1.1 RCE', 'id': 'CVE-2011-4075'}
{'url': 'http://www.d2sec.com/exploits/vbulletin_5.0.0_beta_xx_sql_injection.html', 'name': 'vBulletin 5.0.0 Beta xx SQL Injection', 'id': 'CVE-2013-3522'}
{'url': 'http://www.d2sec.com/exploits/zabbix_=_1.8.4_sql_injection.html', 'name': 'Zabbix &lt;= 1.8.4 SQL Injection', 'id': 'CVE-2011-4674'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_hsconfig_1.5_lfi.html', 'name': 'Joomla Component com_hsconfig 1.5 LFI', 'id': 'CVE-2010-1314'}
{'url': 'http://www.d2sec.com/exploits/horde__3.3.2_lfi.html', 'name': 'Horde &lt; 3.3.2 LFI', 'id': 'CVE-2009-0932'}
{'url': 'http://www.d2sec.com/exploits/openx_2.6.3_lfi.html', 'name': 'OpenX 2.6.3 LFI', 'id': 'CVE-2009-0291'}
{'url': 'http://www.d2sec.com/exploits/phplist_2.10.7_lfi.html', 'name': 'phpList 2.10.7 LFI', 'id': 'CVE-2008-5887'}
{'url': 'http://www.d2sec.com/exploits/vbulletin_5.x_remote_administrator_injection.html', 'name': 'vBulletin 5.x Remote Administrator Injection', 'id': 'CVE-2013-6129'}
{'url': 'http://www.d2sec.com/exploits/zabbix_2.0_sql_injection.html', 'name': 'Zabbix 2.0 SQL Injection', 'id': 'CVE-2012-3435'}
{'url': 'http://www.d2sec.com/exploits/vbulletin_4.1.x_rce.html', 'name': 'vBulletin 4.1.x RCE', 'id': 'CVE-2013-6129'}
{'url': 'http://www.d2sec.com/exploits/horde_rce.html', 'name': 'Horde RCE', 'id': 'CVE-2012-0209'}
{'url': 'http://www.d2sec.com/exploits/zabbix_httpmon.php_sql_injection.html', 'name': 'Zabbix httpmon.php SQL Injection', 'id': 'CVE-2013-5743'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jeguestbook_1.0_lfi.html', 'name': 'Joomla Component com_jeguestbook 1.0 LFI', 'id': 'CVE-2010-4865'}
{'url': 'http://www.d2sec.com/exploits/phpmoneybooks_lfi.html', 'name': 'phpMoneyBooks LFI', 'id': 'CVE-2012-1669'}
{'url': 'http://www.d2sec.com/exploits/zen_cart_1.5.4_lfi.html', 'name': 'Zen Cart 1.5.4 LFI', 'id': 'CVE-2015-8352'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jfeedback_1.2_lfi.html', 'name': 'Joomla Component com_jfeedback 1.2 LFI', 'id': 'CVE-2010-1478'}
{'url': 'http://www.d2sec.com/exploits/v-cms_1.0_file_upload.html', 'name': 'V-CMS 1.0 File Upload', 'id': 'CVE-2011-4828'}
{'url': 'http://www.d2sec.com/exploits/hycus_cms_1.0.3_lfi.html', 'name': 'Hycus CMS 1.0.3 LFI', 'id': 'CVE-2010-4613'}
{'url': 'http://www.d2sec.com/exploits/openx_2.8.11_sql_injection.html', 'name': 'OpenX 2.8.11 SQL Injection', 'id': 'CVE-2013-7149'}
{'url': 'http://www.d2sec.com/exploits/zenphoto_1.4.2_rce.html', 'name': 'Zenphoto 1.4.2 RCE', 'id': 'CVE-2012-0993'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jimtawl_1.0.2_lfi.html', 'name': 'Joomla Component com_jimtawl 1.0.2 LFI', 'id': 'CVE-2010-4769'}
{'url': 'http://www.d2sec.com/exploits/bitweaver_2.7_lfi.html', 'name': 'Bitweaver 2.7 LFI', 'id': 'CVE-2010-5086'}
{'url': 'http://www.d2sec.com/exploits/openx_2.8.6_file_upload.html', 'name': 'OpenX 2.8.6 File Upload', 'id': 'CVE-2009-4140'}
{'url': 'http://www.d2sec.com/exploits/sitracker_sit_file_upload.html', 'name': 'Sitracker SIT File Upload', 'id': 'CVE-2011-3829'}
{'url': 'http://www.d2sec.com/exploits/sitracker_sit_file_upload.html', 'name': 'Sitracker SIT File Upload', 'id': 'CVE-2011-3833'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.2_file_upload.html', 'name': 'Symantec Web Gateway 5.0.2 File Upload', 'id': 'CVE-2012-0299'}
{'url': 'http://www.d2sec.com/exploits/bitweaver_2.8.1_lfi.html', 'name': 'Bitweaver 2.8.1 LFI', 'id': 'CVE-2012-5192'}
{'url': 'http://www.d2sec.com/exploits/piwik_0.4.3_file_upload.html', 'name': 'Piwik 0.4.3 File Upload', 'id': 'CVE-2009-4140'}
{'url': 'http://www.d2sec.com/exploits/sophos_web_protection_appliance_3.7.8.1_file_disclosure.html', 'name': 'Sophos Web Protection Appliance 3.7.8.1 File Disclosure', 'id': 'CVE-2013-2641'}
{'url': 'http://www.d2sec.com/exploits/hp_system_management_homepage_rce.html', 'name': 'HP System Management Homepage RCE', 'id': 'CVE-2013-3576'}
{'url': 'http://www.d2sec.com/exploits/sophos_web_protection_appliance_3.8.1_rce.html', 'name': 'Sophos Web Protection Appliance 3.8.1 RCE', 'id': 'CVE-2013-4983'}
{'url': 'http://www.d2sec.com/exploits/sophos_web_protection_appliance_3.8.1_rce.html', 'name': 'Sophos Web Protection Appliance 3.8.1 RCE', 'id': 'CVE-2013-4984'}
{'url': 'http://www.d2sec.com/exploits/zonphp_2.25_file_upload.html', 'name': 'ZonPHP 2.25 File Upload', 'id': 'CVE-2009-4140'}
{'url': 'http://www.d2sec.com/exploits/lenovo_thinkmanagement_console_9.0.3_file_upload.html', 'name': 'Lenovo ThinkManagement Console 9.0.3 File Upload', 'id': 'CVE-2012-1195'}
{'url': 'http://www.d2sec.com/exploits/sophos_web_protection_appliance_3.7.8.1_rce.html', 'name': 'Sophos Web Protection Appliance 3.7.8.1 RCE', 'id': 'CVE-2013-2641'}
{'url': 'http://www.d2sec.com/exploits/sophos_web_protection_appliance_3.7.8.1_rce.html', 'name': 'Sophos Web Protection Appliance 3.7.8.1 RCE', 'id': 'CVE-2013-2642'}
{'url': 'http://www.d2sec.com/exploits/manageengine_opmanager_migratecentraldata_servlet_file_upload.html', 'name': 'ManageEngine OpManager MigrateCentralData Servlet File Upload', 'id': 'CVE-2014-7866'}
{'url': 'http://www.d2sec.com/exploits/vivvo_cms_4.1.5.1_file_disclosure.html', 'name': 'Vivvo CMS 4.1.5.1 File Disclosure', 'id': 'CVE-2009-3787'}
{'url': 'http://www.d2sec.com/exploits/achievo_1.4.5_lfi.html', 'name': 'Achievo 1.4.5 LFI', 'id': 'CVE-2012-5865'}
{'url': 'http://www.d2sec.com/exploits/cart_engine_3.0_sql_injection.html', 'name': 'Cart Engine 3.0 SQL Injection', 'id': 'CVE-2014-8305'}
{'url': 'http://www.d2sec.com/exploits/manageengine_opmanager_migrateleedata_servlet_file_upload.html', 'name': 'ManageEngine OpManager MigrateLEEData Servlet File Upload', 'id': 'CVE-2014-7866'}
{'url': 'http://www.d2sec.com/exploits/tiki_wiki_cms_groupware_8.2_rce.html', 'name': 'Tiki Wiki CMS Groupware 8.2 RCE', 'id': 'CVE-2011-4558'}
{'url': 'http://www.d2sec.com/exploits/tiki_wiki_cms_groupware_8.3_rce.html', 'name': 'Tiki Wiki CMS Groupware 8.3 RCE', 'id': 'CVE-2012-0911'}
{'url': 'http://www.d2sec.com/exploits/adobe_coldfusion_solr_service_information_disclosure.html', 'name': 'Adobe Coldfusion Solr Service Information Disclosure', 'id': 'CVE-2010-0185'}
{'url': 'http://www.d2sec.com/exploits/cms_made_simple_1.8_lfi.html', 'name': 'CMS Made Simple 1.8 LFI', 'id': 'CVE-2010-2797'}
{'url': 'http://www.d2sec.com/exploits/manageengine_opmanager_filecollector_servlet_file_upload.html', 'name': 'ManageEngine OpManager FileCollector Servlet File Upload', 'id': 'CVE-2014-6035'}
{'url': 'http://www.d2sec.com/exploits/wordpress_2.8.3_rce.html', 'name': 'WordPress 2.8.3 RCE', 'id': 'CVE-2009-2853'}
{'url': 'http://www.d2sec.com/exploits/whmcs_4.x_lfi.html', 'name': 'WHMCS 4.x LFI', 'id': 'CVE-2011-4810'}
{'url': 'http://www.d2sec.com/exploits/vmware_server_file_disclosure.html', 'name': 'Vmware Server File Disclosure', 'id': 'CVE-2009-3733'}
{'url': 'http://www.d2sec.com/exploits/adobe_xml_external_entity_file_disclosure.html', 'name': 'Adobe XML External Entity File Disclosure', 'id': 'CVE-2009-3960'}
{'url': 'http://www.d2sec.com/exploits/cms_made_simple_1.4.1_lfi.html', 'name': 'CMS Made Simple 1.4.1 LFI', 'id': 'CVE-2008-5642'}
{'url': 'http://www.d2sec.com/exploits/manageengine_opmanager_filecollector_servlet_file_upload.html', 'name': 'ManageEngine OpManager FileCollector Servlet File Upload', 'id': 'CVE-2014-6034'}
{'url': 'http://www.d2sec.com/exploits/tiki_wiki_cms_groupware_sql_injection.html', 'name': 'Tiki Wiki CMS Groupware SQL Injection', 'id': 'CVE-2013-4715'}
{'url': 'http://www.d2sec.com/exploits/oracle_secure_backup_10.2.0.2_rce_linux.html', 'name': 'Oracle Secure Backup 10.2.0.2 RCE (Linux)', 'id': 'CVE-2008-5448'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.2.0_lfi.html', 'name': 'vtiger CRM 5.2.0 LFI', 'id': 'CVE-2010-3910'}
{'url': 'http://www.d2sec.com/exploits/wordpress_relocate_upload_0.14_rfi.html', 'name': 'WordPress Relocate Upload 0.14 RFI', 'id': 'CVE-2012-1205'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.0.4_lfi.html', 'name': 'vtiger CRM 5.0.4 LFI', 'id': 'CVE-2009-3249'}
{'url': 'http://www.d2sec.com/exploits/timthumb_1.32_file_upload.html', 'name': 'Timthumb 1.32 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/wikkawiki_1.3.1_sql_injection.html', 'name': 'WikkaWiki 1.3.1 SQL Injection', 'id': 'CVE-2011-4451'}
{'url': 'http://www.d2sec.com/exploits/oracle_secure_backup_10.2.0.2_rce_windows.html', 'name': 'Oracle Secure Backup 10.2.0.2 RCE (Windows)', 'id': 'CVE-2008-5448'}
{'url': 'http://www.d2sec.com/exploits/wordpress_slider_revolution_responsive_file_disclosure.html', 'name': 'WordPress Slider Revolution Responsive File Disclosure', 'id': 'CVE-2015-1579'}
{'url': 'http://www.d2sec.com/exploits/adrotate_library_clicktracker.php_track_parameter_sql_injection.html', 'name': 'AdRotate library/clicktracker.php track Parameter SQL Injection', 'id': 'CVE-2014-1854'}
{'url': 'http://www.d2sec.com/exploits/posh__portal_addtoapplication.php_rssurl_parameter_sql_injection.html', 'name': 'POSH /portal/addtoapplication.php rssurl Parameter SQL Injection', 'id': 'CVE-2014-2211'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jukebox_1.7_lfi.html', 'name': 'Joomla Component com_jukebox 1.7 LFI', 'id': 'CVE-2010-1352'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_webtv_lfi.html', 'name': 'Joomla Component com_webtv LFI', 'id': 'CVE-2010-1470'}
{'url': 'http://www.d2sec.com/exploits/wordpress_wpstorecart_2.5.29_file_upload.html', 'name': 'WordPress wpStoreCart 2.5.29 File Upload', 'id': 'CVE-2012-3576'}
{'url': 'http://www.d2sec.com/exploits/manageengine_eventlog_analyzer_9.9_file_upload.html', 'name': 'ManageEngine EventLog Analyzer 9.9 File Upload', 'id': 'CVE-2014-6037'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jwhmcs_1.5.0_lfi.html', 'name': 'Joomla Component com_jwhmcs 1.5.0 LFI', 'id': 'CVE-2010-1977'}
{'url': 'http://www.d2sec.com/exploits/picopublisher_2.0_sql_injection.html', 'name': 'PicoPublisher 2.0 SQL Injection', 'id': 'CVE-2012-5912'}
{'url': 'http://www.d2sec.com/exploits/pragyan_cms_file_disclosure.html', 'name': 'Pragyan CMS File Disclosure', 'id': 'CVE-2012-6500'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_market_2.x_lfi.html', 'name': 'Joomla Component com_market 2.x LFI', 'id': 'CVE-2010-1722'}
{'url': 'http://www.d2sec.com/exploits/piwigo_rate_parameter_sql_injection.html', 'name': 'Piwigo rate parameter SQL Injection', 'id': 'CVE-2014-9115'}
{'url': 'http://www.d2sec.com/exploits/piwik_0.6.3_lfi.html', 'name': 'Piwik 0.6.3 LFI', 'id': 'CVE-2010-2786'}
{'url': 'http://www.d2sec.com/exploits/joomla_core_sqli_list[select].html', 'name': 'Joomla Core SQLi list[select]', 'id': 'CVE-2015-7297'}
{'url': 'http://www.d2sec.com/exploits/joomla_core_sqli_list[select].html', 'name': 'Joomla Core SQLi list[select]', 'id': 'CVE-2015-7857'}
{'url': 'http://www.d2sec.com/exploits/joomla_core_sqli_list[select].html', 'name': 'Joomla Core SQLi list[select]', 'id': 'CVE-2015-7858'}
{'url': 'http://www.d2sec.com/exploits/pydio_file_upload.html', 'name': 'Pydio File Upload', 'id': 'CVE-2013-6226'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_mtfireeagle_1.2_lfi.html', 'name': 'Joomla Component com_mtfireeagle 1.2 LFI', 'id': 'CVE-2010-1719'}
{'url': 'http://www.d2sec.com/exploits/joomla_2.5.13__3.1.4_file_upload.html', 'name': 'Joomla 2.5.13 &amp; 3.1.4 File Upload', 'id': 'CVE-2013-5576'}
{'url': 'http://www.d2sec.com/exploits/plone_rce.html', 'name': 'Plone RCE', 'id': 'CVE-2011-3587'}
{'url': 'http://www.d2sec.com/exploits/joomla_1.5.26_file_upload.html', 'name': 'Joomla 1.5.26 File Upload', 'id': 'CVE-2013-5576'}
{'url': 'http://www.d2sec.com/exploits/wordpress_rbx_gallery_2.1_file_upload.html', 'name': 'WordPress RBX Gallery 2.1 File Upload', 'id': 'CVE-2012-3575'}
{'url': 'http://www.d2sec.com/exploits/exponent_2.3.7_rce.html', 'name': 'Exponent 2.3.7 RCE', 'id': 'CVE-2016-2242'}
{'url': 'http://www.d2sec.com/exploits/pluxml_5.1.5_lfi.html', 'name': 'PluXml 5.1.5 LFI', 'id': 'CVE-2012-2227'}
{'url': 'http://www.d2sec.com/exploits/iscripts_reservelogic_1.1_sql_injection.html', 'name': 'iScripts ReserveLogic 1.1 SQL Injection', 'id': 'CVE-2010-4980'}
{'url': 'http://www.d2sec.com/exploits/adobe_robohelp_server_8_upload.html', 'name': 'Adobe Robohelp Server 8 Upload', 'id': 'CVE-2009-3068'}
{'url': 'http://www.d2sec.com/exploits/pmwiki_2.2.34_rce.html', 'name': 'PmWiki 2.2.34 RCE', 'id': 'CVE-2011-4453'}
{'url': 'http://www.d2sec.com/exploits/webcalendar_1.2.4_rce.html', 'name': 'WebCalendar 1.2.4 RCE', 'id': 'CVE-2012-1495'}
{'url': 'http://www.d2sec.com/exploits/drupal_aes_encryption_file_disclosure.html', 'name': 'Drupal AES encryption File Disclosure', 'id': 'CVE-2011-0899'}
{'url': 'http://www.d2sec.com/exploits/joomla_1.5.12_upload.html', 'name': 'Joomla 1.5.12 Upload', 'id': 'CVE-2011-4908'}
{'url': 'http://www.d2sec.com/exploits/drupal_core_7.x_sql_injection.html', 'name': 'Drupal core 7.x SQL Injection', 'id': 'CVE-2014-3704'}
{'url': 'http://www.d2sec.com/exploits/wordpress_search_everything_sql_injection.html', 'name': 'Wordpress Search Everything SQL Injection', 'id': 'CVE-2014-2316'}
{'url': 'http://www.d2sec.com/exploits/e107_0.7.20_rce.html', 'name': 'e107 0.7.20 RCE', 'id': 'CVE-2010-2099'}
{'url': 'http://www.d2sec.com/exploits/wordpress_simple_ads_manager_sql_injection.html', 'name': 'WordPress Simple Ads Manager SQL Injection', 'id': 'CVE-2015-2824'}
{'url': 'http://www.d2sec.com/exploits/webglimpse_2.18.8_rce.html', 'name': 'WebGlimpse 2.18.8 RCE', 'id': 'CVE-2012-1795'}
{'url': 'http://www.d2sec.com/exploits/lionwiki_3.0.3_lfi.html', 'name': 'LionWiki 3.0.3 LFI', 'id': 'CVE-2009-3534'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_addressbook_1.5.0_lfi.html', 'name': 'Joomla Component com_addressbook 1.5.0 LFI', 'id': 'CVE-2010-1471'}
{'url': 'http://www.d2sec.com/exploits/wordpress_simple_ads_manager_file_upload.html', 'name': 'WordPress Simple Ads Manager File Upload', 'id': 'CVE-2015-2825'}
{'url': 'http://www.d2sec.com/exploits/efront_3.5.5_lfi.html', 'name': 'eFront 3.5.5 LFI', 'id': 'CVE-2010-1003'}
{'url': 'http://www.d2sec.com/exploits/log1_cms_2.0_rce.html', 'name': 'Log1 CMS 2.0 RCE', 'id': 'CVE-2011-4825'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_advertising_0.25_lfi.html', 'name': 'Joomla Component com_advertising 0.25 LFI', 'id': 'CVE-2010-1473'}
{'url': 'http://www.d2sec.com/exploits/lotuscms_3.0_lfi.html', 'name': 'LotusCMS 3.0 LFI', 'id': 'CVE-2011-0518'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_arcadegames_1.0_lfi.html', 'name': 'Joomla Component com_arcadegames 1.0 LFI', 'id': 'CVE-2010-1714'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_awdwall_1.5.4_lfi.html', 'name': 'Joomla Component com_awdwall 1.5.4 LFI', 'id': 'CVE-2010-1493'}
{'url': 'http://www.d2sec.com/exploits/spip_ecran_securite_connect_parameter_rce.html', 'name': 'SPIP ecran_securite connect Parameter RCE', 'id': 'CVE-2013-4557'}
{'url': 'http://www.d2sec.com/exploits/wordpress_category_grid_view_gallery_0.1.1_file_upload.html', 'name': 'Wordpress Category Grid View Gallery 0.1.1 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_blogfactory_1.1.2_lfi.html', 'name': 'Joomla Component com_blogfactory 1.1.2 LFI', 'id': 'CVE-2010-1955'}
{'url': 'http://www.d2sec.com/exploits/mozilocms_1.11_lfi.html', 'name': 'moziloCMS 1.11 LFI', 'id': 'CVE-2009-1368'}
{'url': 'http://www.d2sec.com/exploits/simple_cms_sql_injection.html', 'name': 'Simple CMS SQL Injection', 'id': 'CVE-2012-3791'}
{'url': 'http://www.d2sec.com/exploits/sqlitemanager_1.2.0_lfi.html', 'name': 'SQLiteManager 1.2.0 LFI', 'id': 'CVE-2007-1232'}
{'url': 'http://www.d2sec.com/exploits/wordpress_auto_attachments_0.2.9_file_upload.html', 'name': 'Wordpress Auto Attachments 0.2.9 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/wordpress_wp_marketplace_1.1.0_file_upload.html', 'name': 'Wordpress WP Marketplace 1.1.0 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/hp_sitescope_runomagentcommand_11.20_rce.html', 'name': 'HP SiteScope runOMAgentCommand 11.20 RCE', 'id': 'CVE-2013-2367'}
{'url': 'http://www.d2sec.com/exploits/sqlitemanager_1.2.0_rfi.html', 'name': 'SQLiteManager 1.2.0 RFI', 'id': 'CVE-2008-0516'}
{'url': 'http://www.d2sec.com/exploits/wordpress_dp_thumbnail_1.0_file_upload.html', 'name': 'Wordpress DP Thumbnail 1.0 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/hp_sitescope_issuesiebelcmd_11.20_rce.html', 'name': 'HP SiteScope issueSiebelCmd 11.20 RCE', 'id': 'CVE-2013-4835'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_datafeeds_880_lfi.html', 'name': 'Joomla Component com_datafeeds 880 LFI', 'id': 'CVE-2010-1980'}
{'url': 'http://www.d2sec.com/exploits/wordpress_google_document_embedder_2.5.14_sql_injection.html', 'name': 'WordPress Google Document Embedder 2.5.14 SQL Injection', 'id': 'CVE-2014-9173'}
{'url': 'http://www.d2sec.com/exploits/hp_sitescope_11.20_file_upload.html', 'name': 'HP SiteScope 11.20 File Upload', 'id': 'CVE-2012-3259'}
{'url': 'http://www.d2sec.com/exploits/solarwinds_storage_manager_processfileupload.jsp_file_upload.html', 'name': 'Solarwinds Storage Manager ProcessFileUpload.jsp File Upload', 'id': 'CVE-2015-7838'}
{'url': 'http://www.d2sec.com/exploits/nagios_3.1.0_rce.html', 'name': 'Nagios 3.1.0 RCE', 'id': 'CVE-2009-2288'}
{'url': 'http://www.d2sec.com/exploits/wordpress_vk_gallery_1.1.0_file_upload.html', 'name': 'Wordpress Vk Gallery 1.1.0 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/wordpress_holding_pattern_theme_0.6_file_upload.html', 'name': 'WordPress Holding Pattern Theme 0.6 File Upload', 'id': 'CVE-2015-1172'}
{'url': 'http://www.d2sec.com/exploits/skybluecanvas_1.1_rce.html', 'name': 'Skybluecanvas 1.1 RCE', 'id': 'CVE-2014-1683'}
{'url': 'http://www.d2sec.com/exploits/wordpress_rekt_slideshow_1.0.5_file_upload.html', 'name': 'Wordpress Rekt Slideshow 1.0.5 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_dioneformwizard_1.0.2_lfi.html', 'name': 'Joomla Component com_dioneformwizard 1.0.2 LFI', 'id': 'CVE-2010-2045'}
{'url': 'http://www.d2sec.com/exploits/wordpress_cac_featured_content_0.8_file_upload.html', 'name': 'Wordpress CAC Featured Content 0.8 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/visual_mining_netcharts_server_7.0_file_upload.html', 'name': 'Visual Mining NetCharts Server 7.0 File Upload', 'id': 'CVE-2014-8516'}
{'url': 'http://www.d2sec.com/exploits/apache-struts__2.2.0_rce_windows.html', 'name': 'Apache-Struts &lt; 2.2.0 RCE Windows', 'id': 'CVE-2010-1870'}
{'url': 'http://www.d2sec.com/exploits/apache-struts__2.2.0_rce_linux.html', 'name': 'Apache-Struts &lt; 2.2.0 RCE Linux', 'id': 'CVE-2010-1870'}
{'url': 'http://www.d2sec.com/exploits/visual_mining_netcharts_server_savefile.jsp_file_upload.html', 'name': 'Visual Mining NetCharts Server saveFile.jsp File Upload', 'id': 'CVE-2015-4031'}
{'url': 'http://www.d2sec.com/exploits/wordpress_rent_a_car_1.0_file_upload.html', 'name': 'Wordpress Rent A Car 1.0 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/spip_2.0.8_information_disclosure.html', 'name': 'SPIP 2.0.8 Information Disclosure', 'id': 'CVE-2009-3041'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_foobla_suggestions_1.5.1.2_lfi.html', 'name': 'Joomla Component com_foobla_suggestions 1.5.1.2 LFI', 'id': 'CVE-2010-2920'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_exceptiondelegator__2.3.1.1_rce_linux.html', 'name': 'Apache-Struts ExceptionDelegator &lt; 2.3.1.1 RCE Linux', 'id': 'CVE-2012-0394'}
{'url': 'http://www.d2sec.com/exploits/novell_netiq_2.3.1_rce.html', 'name': 'Novell NetIQ 2.3.1 RCE', 'id': 'CVE-2012-5932'}
{'url': 'http://www.d2sec.com/exploits/wordpress_lisl_last_image_slider_1.0_file_upload.html', 'name': 'Wordpress LISL Last Image Slider 1.0 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/phpmyadmin_3.x_rce.html', 'name': 'Phpmyadmin 3.x RCE', 'id': 'CVE-2011-2505'}
{'url': 'http://www.d2sec.com/exploits/phpmyadmin_3.x_rce.html', 'name': 'Phpmyadmin 3.x RCE', 'id': 'CVE-2011-2506'}
{'url': 'http://www.d2sec.com/exploits/phpmyadmin_3.x_rce.html', 'name': 'Phpmyadmin 3.x RCE', 'id': 'CVE-2011-2507'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.1.0_lfi.html', 'name': 'vtiger CRM 5.1.0 LFI', 'id': 'CVE-2012-4867'}
{'url': 'http://www.d2sec.com/exploits/webmatic_sql_injection.html', 'name': 'Webmatic SQL Injection', 'id': 'CVE-2012-3350'}
{'url': 'http://www.d2sec.com/exploits/novell_imanager_file_upload.html', 'name': 'Novell iManager File Upload', 'id': 'CVE-2010-0284'}
{'url': 'http://www.d2sec.com/exploits/mantis_=_1.1.1_lfi.html', 'name': 'Mantis &lt;= 1.1.1 LFI', 'id': 'CVE-2008-3333'}
{'url': 'http://www.d2sec.com/exploits/oracle_secure_backup_10.3.0.1_rce.html', 'name': 'Oracle Secure Backup 10.3.0.1 RCE', 'id': 'CVE-2009-1977'}
{'url': 'http://www.d2sec.com/exploits/oracle_secure_backup_10.3.0.1_rce.html', 'name': 'Oracle Secure Backup 10.3.0.1 RCE', 'id': 'CVE-2009-1978'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_debugginginterceptor__2.3.1.1_rce_windows.html', 'name': 'Apache-Struts DebuggingInterceptor &lt; 2.3.1.1 RCE Windows', 'id': 'CVE-2012-0394'}
{'url': 'http://www.d2sec.com/exploits/asus_wireless-n_gigabit_router_information_disclosure.html', 'name': 'Asus Wireless-N Gigabit Router Information Disclosure', 'id': 'CVE-2011-4497'}
{'url': 'http://www.d2sec.com/exploits/phpmyadmin_file_upload.html', 'name': 'Phpmyadmin File Upload', 'id': 'CVE-2009-1151'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_debugginginterceptor__2.3.1.1_rce_linux.html', 'name': 'Apache-Struts DebuggingInterceptor &lt; 2.3.1.1 RCE Linux', 'id': 'CVE-2012-0394'}
{'url': 'http://www.d2sec.com/exploits/ginkgo_cms_5.0_sql_injection.html', 'name': 'Ginkgo CMS 5.0 SQL Injection', 'id': 'CVE-2013-5318'}
{'url': 'http://www.d2sec.com/exploits/hp_intelligent_management_center_bims_uploadservlet_file_upload.html', 'name': 'HP Intelligent Management Center BIMS UploadServlet File Upload', 'id': 'CVE-2013-4822'}
{'url': 'http://www.d2sec.com/exploits/lexmark_markvision_enterprise_2.0_file_upload.html', 'name': 'Lexmark MarkVision Enterprise 2.0 File Upload', 'id': 'CVE-2014-8741'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.4.0_kcfinder_lfi.html', 'name': 'vTiger CRM 5.4.0 kcfinder LFI', 'id': 'CVE-2014-1222'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_6.0.0_rce.html', 'name': 'vtiger CRM 6.0.0 RCE', 'id': 'CVE-2014-2268'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_parameterinterceptor__2.3.1.2_rce_windows.html', 'name': 'Apache-Struts ParameterInterceptor &lt; 2.3.1.2 RCE Windows', 'id': 'CVE-2011-3923'}
{'url': 'http://www.d2sec.com/exploits/impresscms_lfi.html', 'name': 'Impresscms LFI', 'id': 'CVE-2012-0987'}
{'url': 'http://www.d2sec.com/exploits/mediawiki_thumb.php_page_parameter_remote_shell_command_injection.html', 'name': 'MediaWiki thumb.php page Parameter Remote Shell Command Injection', 'id': 'CVE-2014-1610'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_6.0_rc_rce.html', 'name': 'vtiger CRM 6.0 RC RCE', 'id': 'CVE-2014-2268'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_parameterinterceptor__2.3.1.2_rce_linux.html', 'name': 'Apache-Struts ParameterInterceptor &lt; 2.3.1.2 RCE Linux', 'id': 'CVE-2011-3923'}
{'url': 'http://www.d2sec.com/exploits/open_web_analytics_password_reset_page_owa_email_address_parameter_sql_injection.html', 'name': 'Open Web Analytics Password Reset Page owa_email_address Parameter SQL Injection', 'id': 'CVE-2014-1206'}
{'url': 'http://www.d2sec.com/exploits/phpmyfaq_2.7.0_rce.html', 'name': 'phpMyFAQ 2.7.0 RCE', 'id': 'CVE-2011-4825'}
{'url': 'http://www.d2sec.com/exploits/wordpress_wp_easycart_privilege_escalation.html', 'name': 'WordPress WP EasyCart Privilege Escalation', 'id': 'CVE-2015-2673'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.4.0_get_tickets_list_sqli.html', 'name': 'vtiger CRM 5.4.0 get_tickets_list SQLi', 'id': 'CVE-2013-3213'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.2_lfi.html', 'name': 'Symantec Web Gateway 5.0.2 LFI', 'id': 'CVE-2012-0297'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_showcase__2.3.14.1_rce_linux.html', 'name': 'Apache-Struts Showcase &lt; 2.3.14.1 RCE Linux', 'id': 'CVE-2013-1965'}
{'url': 'http://www.d2sec.com/exploits/invision_power_board_3.3.4_rce.html', 'name': 'Invision Power Board 3.3.4 RCE', 'id': 'CVE-2012-5692'}
{'url': 'http://www.d2sec.com/exploits/symantec_messaging_gateway_9.5.3_file_disclosure.html', 'name': 'Symantec Messaging Gateway 9.5.3 File Disclosure', 'id': 'CVE-2012-4347'}
{'url': 'http://www.d2sec.com/exploits/wordpress_cart66_lite_sql_injection.html', 'name': 'WordPress Cart66 Lite SQL Injection', 'id': 'CVE-2014-9305'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.2_rce.html', 'name': 'Symantec Web Gateway 5.0.2 RCE', 'id': 'CVE-2012-0297'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_includeparams__2.3.14.1_rce_linux.html', 'name': 'Apache-Struts IncludeParams &lt; 2.3.14.1 RCE Linux', 'id': 'CVE-2013-1966'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.4.0_get_picklists_sqli.html', 'name': 'vtiger CRM 5.4.0 get_picklists SQLi', 'id': 'CVE-2013-3213'}
{'url': 'http://www.d2sec.com/exploits/jaow_sqli.html', 'name': 'Jaow SQLi', 'id': 'CVE-2012-2952'}
{'url': 'http://www.d2sec.com/exploits/wordpress_wp_symposium_15.1_sql_injection.html', 'name': 'Wordpress WP Symposium 15.1 SQL Injection', 'id': 'CVE-2015-3325'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_includeparams__2.3.14.2_rce_linux.html', 'name': 'Apache-Struts IncludeParams &lt; 2.3.14.2 RCE Linux', 'id': 'CVE-2013-2115'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.3.18_rce.html', 'name': 'Symantec Web Gateway 5.0.3.18 RCE', 'id': 'CVE-2012-2953'}
{'url': 'http://www.d2sec.com/exploits/redhat_jboss_file_disclosure.html', 'name': 'RedHat JBoss File Disclosure', 'id': 'CVE-2005-2006'}
{'url': 'http://www.d2sec.com/exploits/modx_revolution_2.0.2-pl_lfi.html', 'name': 'MODx Revolution 2.0.2-pl LFI', 'id': 'CVE-2010-5278'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.4.0_file_upload.html', 'name': 'vtiger CRM 5.4.0 File Upload', 'id': 'CVE-2013-3214'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.4.0_file_upload.html', 'name': 'vtiger CRM 5.4.0 File Upload', 'id': 'CVE-2013-3215'}
{'url': 'http://www.d2sec.com/exploits/phppaleo_lfi.html', 'name': 'phppaleo LFI', 'id': 'CVE-2012-1671'}
{'url': 'http://www.d2sec.com/exploits/vtiger_crm_5.4.0_kcfinder_file_upload.html', 'name': 'vTiger CRM 5.4.0 kcfinder File Upload', 'id': 'CVE-2013-3591'}
{'url': 'http://www.d2sec.com/exploits/apache-struts_defaultactionmapper__2.3.15.1_rce_linux.html', 'name': 'Apache-Struts DefaultActionMapper &lt; 2.3.15.1 RCE Linux', 'id': 'CVE-2013-2251'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.3_rce.html', 'name': 'Symantec Web Gateway 5.0.3 RCE', 'id': 'CVE-2012-2957'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.3_rce.html', 'name': 'Symantec Web Gateway 5.0.3 RCE', 'id': 'CVE-2012-2976'}
{'url': 'http://www.d2sec.com/exploits/moinmoin_1.9.5_rce.html', 'name': 'MoinMoin 1.9.5 RCE', 'id': 'CVE-2012-6081'}
{'url': 'http://www.d2sec.com/exploits/pbboard_2.1.4_username_sql_injection.html', 'name': 'PBBoard 2.1.4 username SQL Injection', 'id': 'CVE-2012-4034'}
{'url': 'http://www.d2sec.com/exploits/d-link_authentication_bypass.html', 'name': 'D-LINK Authentication Bypass', 'id': 'CVE-2013-7051'}
{'url': 'http://www.d2sec.com/exploits/wordpress_mailpoet_newsletters_file_upload.html', 'name': 'WordPress MailPoet Newsletters File Upload', 'id': 'CVE-2014-4725'}
{'url': 'http://www.d2sec.com/exploits/symantec_web_gateway_5.0.3_sqli.html', 'name': 'Symantec Web Gateway 5.0.3 SQLi', 'id': 'CVE-2012-2961'}
{'url': 'http://www.d2sec.com/exploits/phpsane_0.5.0_rfi.html', 'name': 'phpSANE 0.5.0 RFI', 'id': 'CVE-2009-3188'}
{'url': 'http://www.d2sec.com/exploits/sugarcrm_6.3.1_rce.html', 'name': 'SugarCRM 6.3.1 RCE', 'id': 'CVE-2012-0694'}
{'url': 'http://www.d2sec.com/exploits/moodle_=_1.8.4_rce.html', 'name': 'Moodle &lt;= 1.8.4 RCE', 'id': 'CVE-2008-1502'}
{'url': 'http://www.d2sec.com/exploits/pbboard_2.1.4_email_sql_injection.html', 'name': 'PBBoard 2.1.4 email SQL Injection', 'id': 'CVE-2012-4034'}
{'url': 'http://www.d2sec.com/exploits/wordpress_creative_contact_form_0.9.7_file_upload.html', 'name': 'WordPress Creative Contact Form 0.9.7 File Upload', 'id': 'CVE-2014-8739'}
{'url': 'http://www.d2sec.com/exploits/wordpress_yoast_seo_1.7.3.3_sql_injection.html', 'name': 'WordPress Yoast SEO 1.7.3.3 SQL Injection', 'id': 'CVE-2015-2292'}
{'url': 'http://www.d2sec.com/exploits/alienvault_ossim_av-centerd_util.pm_rce.html', 'name': 'AlienVault OSSIM av-centerd Util.pm RCE', 'id': 'CVE-2014-3804'}
{'url': 'http://www.d2sec.com/exploits/apache_tomcat_file_disclosure.html', 'name': 'Apache Tomcat File Disclosure', 'id': 'CVE-2008-2938'}
{'url': 'http://www.d2sec.com/exploits/pbboard_3.0.1_email_sql_injection.html', 'name': 'PBBoard 3.0.1 email SQL Injection', 'id': 'CVE-2014-9215'}
{'url': 'http://www.d2sec.com/exploits/wordpress_islidex_2.7_file_upload.html', 'name': 'Wordpress Islidex 2.7 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/novell_zenworks_asset_management_7.5_file_upload.html', 'name': 'Novell ZENWorks Asset Management 7.5 File Upload', 'id': 'CVE-2011-2653'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_realtyna_1.0.15_lfi.html', 'name': 'Joomla Component com_realtyna 1.0.15 LFI', 'id': 'CVE-2010-2682'}
{'url': 'http://www.d2sec.com/exploits/apprain_3.0.2_sql_injection.html', 'name': 'appRain 3.0.2 SQL Injection', 'id': 'CVE-2013-6058'}
{'url': 'http://www.d2sec.com/exploits/hp_pcm+_snac_registration_server_updatedomaincontrollerservlet_file_upload.html', 'name': 'HP PCM+ SNAC Registration Server UpdateDomainControllerServlet File Upload', 'id': 'CVE-2013-4811'}
{'url': 'http://www.d2sec.com/exploits/wordpress_kino_gallery_1.0_file_upload.html', 'name': 'Wordpress Kino Gallery 1.0 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_joomlaflickr_1.0.x_lfi.html', 'name': 'Joomla Component com_joomlaflickr 1.0.x LFI', 'id': 'CVE-2010-1980'}
{'url': 'http://www.d2sec.com/exploits/wordpress_cms_pack_1.3_file_upload.html', 'name': 'Wordpress Cms Pack 1.3 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/apprain_0.1.5_file_upload.html', 'name': 'appRain 0.1.5 File Upload', 'id': 'CVE-2012-1153'}
{'url': 'http://www.d2sec.com/exploits/hp_pcm+_snac_registration_server_updatecertificatesservlet_file_upload.html', 'name': 'HP PCM+ SNAC Registration Server UpdateCertificatesServlet File Upload', 'id': 'CVE-2013-4812'}
{'url': 'http://www.d2sec.com/exploits/novell_zenworks_configuration_management_11_sp2_file_upload.html', 'name': 'Novell ZENworks Configuration Management 11 SP2 File Upload', 'id': 'CVE-2013-1080'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_joomlaupdater_lfi.html', 'name': 'Joomla Component com_joomlaupdater LFI', 'id': 'CVE-2010-1307'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_sef_lfi.html', 'name': 'Joomla Component com_sef LFI', 'id': 'CVE-2010-2681'}
{'url': 'http://www.d2sec.com/exploits/ca_arcserve_d2d_r15_credentials_disclosure.html', 'name': 'CA ARCserve D2D r15 Credentials Disclosure', 'id': 'CVE-2011-3011'}
{'url': 'http://www.d2sec.com/exploits/elite_bulletin_board_2.1.21_sql_injection.html', 'name': 'Elite Bulletin Board 2.1.21 SQL Injection', 'id': 'CVE-2012-5874'}
{'url': 'http://www.d2sec.com/exploits/hp_openview_performance_manager_9.0_file_upload.html', 'name': 'HP OpenView Performance Manager 9.0 File Upload', 'id': 'CVE-2012-0127'}
{'url': 'http://www.d2sec.com/exploits/novell_zenworks_configuration_management_uploadservlet_file_upload.html', 'name': 'Novell ZENworks Configuration Management UploadServlet File Upload', 'id': 'CVE-2015-0779'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_shoutbox_lfi.html', 'name': 'Joomla Component com_shoutbox LFI', 'id': 'CVE-2010-1534'}
{'url': 'http://www.d2sec.com/exploits/apache_activemq_source_code_disclosure.html', 'name': 'Apache ActiveMQ Source Code Disclosure', 'id': 'CVE-2010-1587'}
{'url': 'http://www.d2sec.com/exploits/awcm_2.2_lfi.html', 'name': 'AWCM 2.2 LFI', 'id': 'CVE-2011-0903'}
{'url': 'http://www.d2sec.com/exploits/mcafee_email_gateway_7.0_file_disclosure.html', 'name': 'McAfee Email Gateway 7.0 File Disclosure', 'id': 'CVE-2012-4596'}
{'url': 'http://www.d2sec.com/exploits/wordpress_category_list_portfolio_page_1.3_file_upload.html', 'name': 'Wordpress Category List Portfolio Page 1.3 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jotloader_2.2.1_lfi.html', 'name': 'Joomla Component com_jotloader 2.2.1 LFI', 'id': 'CVE-2010-4617'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_sweetykeeper_1.5.x_lfi.html', 'name': 'Joomla Component com_sweetykeeper 1.5.x LFI', 'id': 'CVE-2010-1474'}
{'url': 'http://www.d2sec.com/exploits/apache_axis2_file_disclosure.html', 'name': 'Apache Axis2 File Disclosure', 'id': 'CVE-2010-1632'}
{'url': 'http://www.d2sec.com/exploits/awstats_totals_=_1.14_rce.html', 'name': 'Awstats Totals &lt;= 1.14 RCE', 'id': 'CVE-2008-3922'}
{'url': 'http://www.d2sec.com/exploits/wordpress_really_easy_slider_0.1_file_upload.html', 'name': 'Wordpress Really Easy Slider 0.1 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/zen_cart_1.3.8a_file_upload.html', 'name': 'Zen Cart 1.3.8a File Upload', 'id': 'CVE-2009-2255'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jphone_1.0_alpha_3_lfi.html', 'name': 'Joomla Component com_jphone 1.0 alpha 3 LFI', 'id': 'CVE-2010-3426'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_travelbook_1.0.1_lfi.html', 'name': 'Joomla Component com_travelbook 1.0.1 LFI', 'id': 'CVE-2010-1535'}
{'url': 'http://www.d2sec.com/exploits/wordpress_verve_meta_boxes_1.2.8_file_upload.html', 'name': 'Wordpress Verve Meta Boxes 1.2.8 File Upload', 'id': 'CVE-2011-4106'}
{'url': 'http://www.d2sec.com/exploits/basilic_1.5.14_rce.html', 'name': 'Basilic 1.5.14 RCE', 'id': 'CVE-2012-3399'}
{'url': 'http://www.d2sec.com/exploits/phpbb_rce.html', 'name': 'Phpbb RCE', 'id': 'CVE-2005-2086'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jprojectmanager_1.0_lfi.html', 'name': 'Joomla Component com_jprojectmanager 1.0 LFI', 'id': 'CVE-2010-1469'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_tweetla_1.0.1_lfi.html', 'name': 'Joomla Component com_tweetla 1.0.1 LFI', 'id': 'CVE-2010-1533'}
{'url': 'http://www.d2sec.com/exploits/apache_roller_ognl_injection.html', 'name': 'Apache Roller OGNL Injection', 'id': 'CVE-2013-4212'}
{'url': 'http://www.d2sec.com/exploits/bigtree_cms_4.0_rc2_sql_injection.html', 'name': 'BigTree CMS 4.0 RC2 SQL Injection', 'id': 'CVE-2013-4879'}
{'url': 'http://www.d2sec.com/exploits/phpbb_alltopics.php_sqli.html', 'name': 'phpBB alltopics.php SQLI', 'id': 'CVE-2006-4367'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_jradio__1.5.1_lfi.html', 'name': 'Joomla Component com_jradio &lt; 1.5.1 LFI', 'id': 'CVE-2010-4719'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_vjvideo_1.0_lfi.html', 'name': 'Joomla Component com_vjvideo 1.0 LFI', 'id': 'CVE-2010-1354'}
{'url': 'http://www.d2sec.com/exploits/tomatocart_1.1.5_lfi.html', 'name': 'TomatoCart 1.1.5 LFI', 'id': 'CVE-2012-5907'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_weberpcustomer_1.2.1_lfi.html', 'name': 'Joomla Component com_weberpcustomer 1.2.1 LFI', 'id': 'CVE-2010-1315'}
{'url': 'http://www.d2sec.com/exploits/tomatocart_1.1.8_sql_injection.html', 'name': 'TomatoCart 1.1.8 SQL Injection', 'id': 'CVE-2014-3978'}
{'url': 'http://www.d2sec.com/exploits/roundcube_0.2beta_rce.html', 'name': 'Roundcube 0.2beta RCE', 'id': 'CVE-2008-5619'}
{'url': 'http://www.d2sec.com/exploits/extcalendar_rfi.html', 'name': 'Extcalendar RFI', 'id': 'CVE-2006-3556'}
{'url': 'http://www.d2sec.com/exploits/magento_file_disclosure.html', 'name': 'Magento File Disclosure', 'id': 'CVE-2012-6091'}
{'url': 'http://www.d2sec.com/exploits/newscoop_rfi.html', 'name': 'Newscoop RFI', 'id': 'CVE-2012-1933'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_news_portal_1.5.x_lfi.html', 'name': 'Joomla Component com_news_portal 1.5.x LFI', 'id': 'CVE-2010-1312'}
{'url': 'http://www.d2sec.com/exploits/wordpress_theme_tuner_0.7_rfi.html', 'name': 'WordPress Theme Tuner 0.7 RFI', 'id': 'CVE-2012-0934'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_obsuggest__1.8_lfi.html', 'name': 'Joomla Component com_obsuggest &lt; 1.8 LFI', 'id': 'CVE-2011-4804'}
{'url': 'http://www.d2sec.com/exploits/twiki_5.1.2_rce.html', 'name': 'TWiki 5.1.2 RCE', 'id': 'CVE-2012-6329'}
{'url': 'http://www.d2sec.com/exploits/family_connections_cms_2.7.1_rce_linux.html', 'name': 'Family connections CMS 2.7.1 RCE (Linux)', 'id': 'CVE-2011-5130'}
{'url': 'http://www.d2sec.com/exploits/nuked-klan_1.7.7___sp4.4_sql_injection.html', 'name': 'Nuked-klaN 1.7.7 / SP4.4 SQL injection', 'id': 'CVE-2007-2556'}
{'url': 'http://www.d2sec.com/exploits/sonicwall_scrutinizer_9.0.1_sql_injection.html', 'name': 'SonicWALL Scrutinizer 9.0.1 SQL Injection', 'id': 'CVE-2012-2962'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_onlineexam_1.5.0_lfi.html', 'name': 'Joomla Component com_onlineexam 1.5.0 LFI', 'id': 'CVE-2010-1715'}
{'url': 'http://www.d2sec.com/exploits/sonicwall_scrutinizer_9.0.1_alarms.php_sql_injection.html', 'name': 'SonicWALL Scrutinizer 9.0.1 alarms.php SQL Injection', 'id': 'CVE-2012-1259'}
{'url': 'http://www.d2sec.com/exploits/family_connections_cms_2.7.1_rce_windows.html', 'name': 'Family connections CMS 2.7.1 RCE (Windows)', 'id': 'CVE-2011-5130'}
{'url': 'http://www.d2sec.com/exploits/apache_ofbiz_10.04.01_rce_windows.html', 'name': 'Apache OFBiz 10.04.01 RCE (Windows)', 'id': 'CVE-2012-1622'}
{'url': 'http://www.d2sec.com/exploits/twiki_debugenableplugins_rce.html', 'name': 'TWiki debugenableplugins RCE', 'id': 'CVE-2014-7236'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_picasa2gallery_1.2.8_lfi.html', 'name': 'Joomla Component com_picasa2gallery 1.2.8 LFI', 'id': 'CVE-2010-2507'}
{'url': 'http://www.d2sec.com/exploits/apache_ofbiz_10.04.01_rce_linux.html', 'name': 'Apache OFBiz 10.04.01 RCE (Linux)', 'id': 'CVE-2012-1622'}
{'url': 'http://www.d2sec.com/exploits/typo3_fd.html', 'name': 'Typo3 FD', 'id': 'CVE-2009-0815'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_picsell_1.0_lfi.html', 'name': 'Joomla Component com_picsell 1.0 LFI', 'id': 'CVE-2010-3203'}
{'url': 'http://www.d2sec.com/exploits/netgear_information_disclosure.html', 'name': 'Netgear Information Disclosure', 'id': 'CVE-2013-4775'}
{'url': 'http://www.d2sec.com/exploits/wordpress_video_embed__thumbnail_generator_1.1_rce_windows.html', 'name': 'Wordpress Video Embed &amp; Thumbnail Generator 1.1 RCE (Windows)', 'id': 'CVE-2012-1785'}
{'url': 'http://www.d2sec.com/exploits/typo3_4.5.8_4.6.1_rfi.html', 'name': 'TYPO3 4.5.8/4.6.1 RFI', 'id': 'CVE-2011-4614'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_powermail_1.5.3_lfi.html', 'name': 'Joomla Component com_powermail 1.5.3 LFI', 'id': 'CVE-2010-1532'}
{'url': 'http://www.d2sec.com/exploits/nisuta_information_disclosure.html', 'name': 'Nisuta Information Disclosure', 'id': 'CVE-2013-7282'}
{'url': 'http://www.d2sec.com/exploits/wordpress_video_embed__thumbnail_generator_1.1_rce_linux.html', 'name': 'Wordpress Video Embed &amp; Thumbnail Generator 1.1 RCE (Linux)', 'id': 'CVE-2012-1785'}
{'url': 'http://www.d2sec.com/exploits/foswiki_1.1.5_rce.html', 'name': 'Foswiki 1.1.5 RCE', 'id': 'CVE-2012-6330'}
{'url': 'http://www.d2sec.com/exploits/majordomo_2_file_disclosure.html', 'name': 'Majordomo 2 File Disclosure', 'id': 'CVE-2011-0049'}
{'url': 'http://www.d2sec.com/exploits/majordomo_2_file_disclosure.html', 'name': 'Majordomo 2 File Disclosure', 'id': 'CVE-2011-0063'}
{'url': 'http://www.d2sec.com/exploits/op5_monitor_5.5_license.php_rce.html', 'name': 'OP5 Monitor 5.5 license.php RCE', 'id': 'CVE-2012-0261'}
{'url': 'http://www.d2sec.com/exploits/joomla_component_com_preventive_1.0.5_lfi.html', 'name': 'Joomla Component com_preventive 1.0.5 LFI', 'id': 'CVE-2010-1475'}
{'url': 'http://www.d2sec.com/exploits/pirelli_router_information_disclosure.html', 'name': 'Pirelli Router Information Disclosure', 'id': 'CVE-2011-4497'}
{'url': 'http://www.d2sec.com/exploits/hinnendahl_gaestebuch_1.2_rfi.html', 'name': 'Hinnendahl Gaestebuch 1.2 RFI', 'id': 'CVE-2010-4884'}
{'url': 'http://www.d2sec.com/exploits/mantisbt__1.2.4_lfi.html', 'name': 'Mantisbt &lt; 1.2.4 LFI', 'id': 'CVE-2010-4350'}
{'url': 'http://www.d2sec.com/exploits/op5_monitor_5.5_rce.html', 'name': 'OP5 Monitor 5.5 RCE', 'id': 'CVE-2012-0261'}
{'url': 'http://www.d2sec.com/exploits/vbseo_3.6.0_rce.html', 'name': 'vBSEO 3.6.0 RCE', 'id': 'CVE-2012-5223'}
{'url': 'http://www.d2sec.com/exploits/w3_total_cache_plugin_remote_code_execution.html', 'name': 'W3 Total Cache Plugin Remote Code Execution', 'id': 'CVE-2013-2010'}
{'url': 'http://www.d2sec.com/exploits/vbseo_3.6.0_functions_vbseo_hook.php_referer_rce.html', 'name': 'vBSEO 3.6.0 functions_vbseo_hook.php Referer RCE', 'id': 'CVE-2014-9463'}
{'url': 'http://www.d2sec.com/exploits/serendipity_1.6.1_sql_injection.html', 'name': 'Serendipity 1.6.1 SQL Injection', 'id': 'CVE-2012-2762'}
{'url': 'http://www.d2sec.com/exploits/mantisbt__1.2.8_lfi.html', 'name': 'Mantisbt &lt; 1.2.8 LFI', 'id': 'CVE-2011-3357'}
{'url': 'http://www.d2sec.com/exploits/opencart_1.1.8_lfi.html', 'name': 'OpenCart 1.1.8 LFI', 'id': 'CVE-2009-1621'}
Preparing [##################################################] 300/300
INFO:root:d2sec has 261 elements (261 update)
INFO:root:Starting ms
INFO:root:ms has 1276 elements (1276 update)
INFO:root:Starting redis-nist-ref
INFO:root:redis-nist-ref has 0 elements (0 update)
INFO:root:Starting exploitdb
INFO:root:exploitdb has 36203 elements (36203 update)
INFO:root:Starting ensureindex
[+]Success to create index id on cpe
[+]Success to create index id on cpeother
[+]Success to create index id on cves
[+]Success to create index vulnerable_configuration on cves
[+]Success to create index Modified on cves
[+]Success to create index [('summary', 'text')] on cves
[+]Success to create index id on vfeed
[+]Success to create index id on vendor
[+]Success to create index id on d2sec
[+]Success to create index id on mgmt_whitelist
[+]Success to create index id on mgmt_blacklist
[+]Success to create index related_weakness on capec
[+]Success to create index id on exploitdb
INFO:root:

4. 환경설정

데이터베이스까지 업데이트 다 끝났다면, 웹 서버를 실행하기 위해 환경구성을 진행한다. 환경 구성은 CVE-SEARCH 디렉터리의 etc 디렉터리에 샘플 형태로 구성되어 있다. 다음과 같이 각각의 샘플 파일을 복사하며, 마지막 확장자인 .example을 제거하여 복사한다.

cp configuration.ini.sample configuration.ini
cp plugins.txt.sample plugins.txt

두 파일 중에 configuration.ini 파일에서 CVE-SEARCH와 관련된 구성을 진행한다. redis 서버나 몽고db 서버를 구성할 수 있지만, 여기서는 웹 서버 관련된 설정만 진행한다. 웹 서버는 [Webserver] 항목에서 진행한다. 127.0.0.1로 설정되어 있는 Host를 우분투 운영체제 아이피로 설정해야 호스트나 게스트 운영체제에서 접속 가능하다.

[Redis]
Host: localhost
Port: 6379
VendorsDB: 10
NotificationsDB: 11
RefDB: 12
[Mongo]
Host: localhost
Port: 27017
DB: cvedb
[dbmgt]
Tmpdir: ./tmp/
[FulltextIndex]
Indexdir: ./indexdir/
[Sources]
CVE: https://static.nvd.nist.gov/feeds/xml/cve/
CPE: https://static.nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.2.xml
CWE: http://cwe.mitre.org/data/xml/cwec_v2.8.xml.zip
d2sec: http://www.d2sec.com/exploits/elliot.xml
vFeed: http://www.toolswatch.org/vfeed/vfeed.db.tgz
vFeedStatus: http://www.toolswatch.org/update.dat
Vendor: https://nvd.nist.gov/download/vendorstatements.xml
CAPEC: http://capec.mitre.org/data/xml/capec_v2.6.xml
MSBULLETIN: http://download.microsoft.com/download/6/7/3/673E4349-1CA5-40B9-8879-095C72D5B49D/BulletinSearch.xlsx
Ref: https://cve.mitre.org/data/refs/refmap/allrefmaps.zip
exploitdb: https://github.com/offensive-security/exploit-database/raw/master/files.csv
[Webserver]
Host: 127.0.0.1
Port: 5000
Debug: True
PageLength: 50
LoginRequired: False
SSL: True
Certificate: ssl/cve-search.crt
Key: ssl/cve-search.key
[Logging]
Logging: True
Logfile: log/cve-search.log
MaxSize: 150MB
Backlog: 5
[CVE]
DefaultCVSS: 5
StartYear: 2002


'Information Security > OpenSource' 카테고리의 다른 글

CVE-SEARCH v.REV  (0) 2017.05.12
How to install Cuckoo Sandbox 2.0.x  (31) 2017.05.08
CVE-SEARCH  (1) 2016.06.29
How to install Viper 1.3-dev  (0) 2016.04.04
Mobile Security Framework  (0) 2016.03.02
Cuckoo Sandbox 2.0 RC1 Release  (0) 2016.01.22
  1. BlogIcon kcats 2017.05.11 16:24

    cve-search를 우분투 16.04에 설치하려고 하니 안되더라고요

    검색해보니 우분투 16.04에서 몽고디비 아래 링크와 같이 관련 이슈가 있었스니다.
    http://webigotr.tistory.com/73

    위 설정 후 아래 링크 처럼 /var/lib/mongodb/mongod.lock를 제거하고 다시 실행하면 정상작동 합니다.
    * http://stackoverflow.com/questions/7744147/pymongo-keeps-refusing-the-connection-at-27017


1. 개요

악성코드 관리하는 도구로 유명한 바이퍼(Viper)가 지속적인 업그레이트를 하고 있다. 과거 1.2 버전일때 한번 정리하려고 시도한적 있었으나, 1.3-dev 버전은 다양한 기능과 체계가 바뀐것으로 확인하였다. 다음과 같이 설치하면 부수적인 모듈에 관한 설치가 빠진 바이퍼 기본 운영 설치 정도로 본다.

2. 설치

우선 라이브러리와 부수적인 도구를 설치한다. 깃 허브(Github)를 통해 다운받기에 git을 설치하고 파이썬 헤더파일과 파이썬 라이브러리 설치를 위해 PIP를 설치한다. 그외 기타 라이브러리들을 다음과 같이 설치한다.


sudo apt-get install git vim python-dev python-pip libffi-dev libfuzzy-dev libssl-dev

이제 깃 허브를 통해 바이퍼를 다운로드한다.


git clone https://github.com/viper-framework/viper

원활한 파이썬 라이브러리를 다운로드 받기 위해 설치한 pip를 업그레이드한다.


sudo pip install pip --upgrade

그리고 다운로드 받은 viper 디렉터리의 requirements.txt를 통해 설치한다.


cd viper
sudo pip install -r requirements.txt

설치가 잘 완료되면 다음과 같이 바이퍼를 설치한다.


sudo make install

3. 운영

설치가 완료되면 다음 네 가지의 도구를 사용할 수 있다.

  • viper-cli
  • viper-api
  • viper-web
  • viper-update

viper-cli는 말 그대로 이전 버전처럼 커맨드 라인 인터페이스로 사용하는 것이고, viper-api는 다른 도구와 연동하거나 간단한 HTTP 코드 전송만으로 바이퍼를 제어하기 위해 사용하는 API다. viper-web은 커맨드 라인 인터페이스를 벗어나 웹 인터페이스로 서비스를 제공하는 도구다. 마지막으로 viper-update는 바이퍼의 핵심 코어의 업그레이드나 데이터베이스를 업데이트하는 기능을 가진다.

간편하게 사용할 수 있는 viper-web 도구는 -H 옵션으로 아이피를 지정하고 -p 옵션으로 포트를 지정하여 웹 서버를 동작시킨다.


viper-web -H 192.168.0.128 -p 8080
Bottle v0.12.9 server starting up (using WSGIRefServer())...
Listening on http://192.168.0.128:8080/
Hit Ctrl-C to quit.

열린 웹 주소로 접속하면 편리하게 바이퍼를 이용할 수 있다. 본격적으로 자신들이 가지고 있는 악성코드를 저장하고 관리하여 운영해보자.

'Information Security > OpenSource' 카테고리의 다른 글

How to install Cuckoo Sandbox 2.0.x  (31) 2017.05.08
CVE-SEARCH  (1) 2016.06.29
How to install Viper 1.3-dev  (0) 2016.04.04
Mobile Security Framework  (0) 2016.03.02
Cuckoo Sandbox 2.0 RC1 Release  (0) 2016.01.22
Thug honeyclient  (2) 2015.06.30

1. 개요

자동화 분석의 선두두자 쿠쿠 샌드박스가 있지만, 다른 도구들도 존재한다. 모바일 자동화 분석에서는 쿠쿠 샌드박스를 안드로이드 분석 모델로 변경할 수 있지만, 모바일 보안 프레임워크(Mobile Security Framework, 이하 MobSF)라는 도구도 존재한다. 이 도구는 아직 정식 릴리즈가 된적이 없기에 이 문서의 작성 기준 0.88 버전을 제공한다.

2. 기본 설치

MobSF는 기본적으로 32비트 운영체제에서 구현이 가능하다. 안드로이드 분석을 위해사용하는 ADBAATP같은 도구들이 32비트로 제공되고 있기 때문이다. 이 문서를 작성하기 위해 사용한 운영체제는 우분투 14.04 LTS 데스크톱 i386으로 구현했다.

운영체제 설치가 끝났다면 패키지 업데이트한다.

sudo apt-get update

MobSF를 운영하기 위해서 다음과 같은 패키지들을 설치한다.

sudo apt-get install vim git virtualbox python-dev python-pip libffi-dev libssl-dev openjdk-7-jre

MobSF를 깃허브를 이용하여 다운로드 받고 생성된 디렉터리에 접근한다.

git clone https://github.com/ajinabraham/Mobile-Security-Framework-MobSF
cd Mobile-Security-Framework-MobSF/

파이썬 라이브러리를 설치한다.

sudo pip install -r requirements.txt

추가로 파이썬 라이브러리를 설치한다.

sudo pip install cryptography

MobSF는 안드로이드 에뮬레이터를 구축한 버추얼박스 이미지를 배포한다. 이 배포파일을 다운로드하여 샌드박스로 사용한다. 가상머신 다운로드 주소는 https://goo.gl/PmLt78 이며, 용량은 약 1.1GB이다.

안드로이드 가상머신을 다운로드 다 받았다면 버추얼박스에서 이미지를 가져온다.

그림 1. 이미지 가져오기

이미지를 가져올 때 맥(MAC) 주소를 초기화한다.

그림 2. 맥 주소 초기화

버추얼박스 설정에 들어가서 네트워크에서 Host-only Networks 카테고리에 가상 인터페이스를 설정한다.

그림 3. Host-only Networks에 가상 인터페이스 설정

설정이 완료되었다면 가상머신을 실행시킨다. 먼저 경고창이 뜨는데 스위치 버튼을 누르고 진행한다.

그림 4. 가상머신 윈도우 실행 모드 설정

실행하는 과정에서 다음 그림과 같이 아이피를 확인할 수 있다.

그림 5. 가상머신 아이피 확인

가상 네트워크 인터페이스 아이피를 프록시 아이피로 설정하기에 vboxnet0의 아이피를 기억해두자.

그림 6. 가상 네트워크 인터페이스 아이피 확인

안드로이드 가상머신이 부팅완료되면 1234 비밀번호로 접근할 수 있다.

그림 7. 안드로이드 가상머신 부팅 완료시 화면

이제 메뉴 > Settings > Wi-Fi > WiredSSID를 마우스 우클릭하면 정보가 출력되는데 취소버튼을 누르고 Modify Network를 선택한다. 그 다음 프록시를 Manual로 설정하고 프록시 아이피를 vboxnet0 아이피인 192.168.56.1로 설정한다. 포트번호는 1337로 설정한다.

그림 8. 아이피 및 프록시 설정

마지막으로 안드로이드 바탕화면으로 돌아온 후 가상머신 현재 상태 저장을 선택한 후 종료한다.

그림 9. 가상머신 현재 상태 저장 선택

악성코드 분석 후 원복시키기 위해 스냅샷을 구성한다.

그림 10. 스냅샷 구성

안드로이드 가상머신을 제어하기 위해서 가상머신의 UUID와 스냅샷의 UUID 정보를 수집해야 한다. 이 정보는 가상머신의 .vbox 파일에서 정보를 찾아볼 수 있다.

vi ~/VirtualBox\ VMs/MobSF_VM_0.1/MobSF_VM_0.1.vbox

<Machine> 태그에서 uuid 값과 currentSnapshot 값을 추출한다.

그림 11. 가상머신 구성 확인

마지막 설정으로 settings.py에 지금까지 구성하는데 사용한 데이터들을 설정한다.

vi ~/Mobile-Security-Framework-MobSF/MobSF/settings.py

하단에 입력하는 데이터는 총 네 가지로 UUID, SUUID(Snapshot UUID), 가상머신 아이피, 프록시 아이피이다.

그림 12. MobSF 설정

설정이 모두 끝났다면 장고 웹 서버를 실행하여 웹으로 데이터를 요청하고 실행시킨다.

python ~/Mobile-Security-Framework-MobSF/manage.py runserver 192.168.0.134:8000


'Information Security > OpenSource' 카테고리의 다른 글

CVE-SEARCH  (1) 2016.06.29
How to install Viper 1.3-dev  (0) 2016.04.04
Mobile Security Framework  (0) 2016.03.02
Cuckoo Sandbox 2.0 RC1 Release  (0) 2016.01.22
Thug honeyclient  (2) 2015.06.30
How to install libemu & pylibemu on Ubuntu 14.04  (0) 2015.06.30

1. 개요

2016년 1월 21일 Cuckoo Sandbox 2.0 RC1 버전이 정식 릴리즈되었다. 1.2 릴리즈 이후 10개월만에 업그레이드 된 것이다. 아무래도 메이저 버전이 업그레이드 된 것은 큰 변화가 있을 것이다. 그런데 왜 RC1일까? 아직 안정화 된 버전은 아니기 때문이다. 공식 홈페이지에서는 기능의 수를 어디까지 공개해야할지 모르기에 후보 1버전으로 공개하였다. 하지만 개발자들이 충분히 개발했다곤 하지만, 사용자들이 사용하면서 발생하는 문제점들을 해결하며 모든 기능을 업그레이드 하기 위함으로 보여진다. 문제가 결국 해결안되면 기능 업그레이드를 안하고, 해결된 기능들은 업그레이드 하면서 안정화된 버전으로 나아가기 위함으로 해석된다.

2. 릴리즈 핵심 내용

64비트 윈도우 응용프로그램과 샘플 모니터링

    • 지난 반년동안 제대로된 64비트 윈도우 시스템의 모니터링을 구현하기 위해 노력했다.

맥 OSX 분석

    • Dmitry Rodionov가 구글 섬머 코드 2015의 일환으로 쿡쿠 샌드박스를 위한 맥 OS X 분석기를 개발했다. 하지만 맥 OS X를 가상머신으로 구축하여 운영하는 것은 애플의 약관에 위반될 수 있으니 주의바란다. 물론 우리가 책임지지는 않는다. 이 분석기의 핵심은 Dtrace의 사용이다.

리눅스 분석

    • Mark Schloesser가 이 부분을 집중적으로 제작했는데 사실 이 시스템이 쉘 쇼크랑 엘라스틱서치 취약점으로 고생했다. 리눅스 분석은 Sysdig, LTTNG, SystemTap과 같은 기존의 몇몇 프로젝트를 잘 활용하여 구현했다. 다만 ARM이나 MIPS와같은 다른 플랫폼으로 확장할 때 문제가 발생한다.

안드로이드 분석

    • Cuckoo Droid로 잘 알려진 Idan Revivo이 고생하여 만든 안드로이드 분석기를 사용했다. ADB 기반으로 에뮬레이터를 실행하고, 달빅/자바 런타임을 후킹하여 자바 함수를 기록하는 형태로 모니터링을 구현했다.

PCAP 분석 도구의 통합

    • 수리카타(Suricata), 스노트(Snort) 그리고 모로치(Moloch)와 같은 PCAP 분석 도구의 기능들을 통합하여 기능화하였다. 최종적으로 아이피나 도메인에서 하이퍼링크를 타고 모로치 웹 인터페이스에 접속하면 자동으로 차단 쿼리를 생성하는 형태로 구현하려고 한다.

TLS/HTTPS 트래픽 복호화 및 도청 분석

    • TLS/HTTPS 트래픽을 수집하여 분석할 수 있게 구현했다. 물론 분석을 위한 목적도 있지만, 투명한 방식으로 TLS를 차단하는것이 최종 목표다. 암호화를 복호화하기 위해 VM에 인증서를 설치하지 않는다. Cuckoo Sandbox의 동작과 함께 암호화와 복호화가 함께 진행하도록 구현했다.

VPN 지원을 포함하여 각각의 네트워크 라우팅 분석

    • Erik Kooijstra과 n3sfox의 도움으로 VPN을 지원하는 형태로 구성할 수 있었다. 다음 릴리즈에서는 FakeNet와 InetSim과 같은 서비스를 지원하도록 구현할 예정이다. 

악성 행위를 구분하고 정의하기 위한 300가지 넘는 시그니쳐

    • 200여개의 새로운 시그니처를 제공한 RedSocks에게 무한한 감사를 드린다. community.py -waf 명령으로 모든 패턴을 다운로드 받을 수 있다. 시그니처들은 악성코드의 악성행위에 따른 수치화를 진행했다.

볼라티리티(Volatility) 베이스라인 캡쳐를 지원하여 분석하는 동안 변경되는 부분을 강조

    • 구현하고 싶은 기능이 매우 많지만, 잠재적인 참여자의 도움이 클 경우 우선순위가 올라갈 수 있다. 우리는 Bart Mauritz 와 Joshua Beens의 도움으로 볼라티리티 분석 데이터를 실시간 표시할 수 있는 개념을 증명했다. 이제는 모든 메모리 분석이 끝난 후 레포트를 받아 볼 필요없이 실시간으로 받아 볼 수 있다.

프로세스 메모리 덤프에서 URL 추출

    • 메모리에서 URL을 추출할 수 있는 기능을 구현했지만, 좀 더 정교하고 자동화된 기능은 다음 릴리즈에서 기대할 수 있을 것이다.

다른 VM에서 추가 서비스를 실행할 가능성

    • 오랜 시간동안 많은 사용자들의 요청에 의해 만들어진 기능이다. 특별한 상황에서는 악성코드가 네트워크를 통해 부가적인 확산을 시도할 수 있다. 이를 위해 여러대의 가상머신을 실행하여 분석하는 기능을 구현할 예정이다. 현재는 원시적인 단계에 있지만, 앞으로의 업데이트에서 점점 세련되게 구현할 것이다. 예를 들면 허니팟 시나리오의 지원과 실제 기업 환경을 복제하기 위한 AD 서버를 지원하려고 한다.

많은 버그를 수정하고 자동화를 개선

'Information Security > OpenSource' 카테고리의 다른 글

How to install Viper 1.3-dev  (0) 2016.04.04
Mobile Security Framework  (0) 2016.03.02
Cuckoo Sandbox 2.0 RC1 Release  (0) 2016.01.22
Thug honeyclient  (2) 2015.06.30
How to install libemu & pylibemu on Ubuntu 14.04  (0) 2015.06.30
SPT (Simple Phishing Test)  (0) 2015.05.26

1. 개요

이전에 Thug 관련 포스팅을 한 적이 있다. 그때 당시 docker와 같은 개념도 없었기에 수동으로 에러를 잡아가며 설치해야 했었다. 하지만 이제 docker를 통해 편리하게 구축하고 이용할 수 있다.

Thug는 구글의 자바스크립트 엔진인 v8 과 함께 드라이브-바이 다운로드 공격을 탐지하기 위한 도구이다. 굳이 분류하자면 저 가용성(Low-Interaction) 허니클라이언트에 해당한다. 최신 버전은 0.6.3 버전을 제공하고 있으나 docker를 통해 설치하는 버전은 0.6.2 버전이며, 설치하는 환경은 Ubuntu 14.04 LTS amd64 이다.

2. 설치

우선 핵심 도구인 docker를 설치한다.

 sudo apt-get install docker.io

설치가 끝나면 허니넷에서 docker로 구축하여 운영중인 Thug를 다운로드 받는다.


sudo docker pull honeynet/thug

다운로드 완료되었으면 Thug를 실행한다.


sudo docker run -it honeynet/thug

Thug가 설치된 위치는 /opt/thug/디렉터리이다.

 


python /opt/thug/src/thug.py -h

Synopsis:
    Thug: Pure Python honeyclient implementation

    Usage:
        python thug.py [ options ] url

    Options:
        -h, --help          	Display this help information
        -V, --version       	Display Thug version
        -u, --useragent=    	Select a user agent (see below for values, default: winxpie60)
        -e, --events=       	Enable comma-separated specified DOM events handling
        -w, --delay=        	Set a maximum setTimeout/setInterval delay value (in milliseconds)
        -n, --logdir=       	Set the log output directory
        -o, --output=       	Log to a specified file
        -r, --referer=      	Specify a referer
        -p, --proxy=        	Specify a proxy (see below for format and supported schemes)
        -l, --local         	Analyze a locally saved page
        -x, --local-nofetch 	Analyze a locally saved page and prevent remote content fetching
        -v, --verbose       	Enable verbose mode
        -d, --debug         	Enable debug mode
        -q, --quiet         	Disable console logging
        -m, --no-cache      	Disable local web cache
        -a, --ast-debug     	Enable AST debug mode (requires debug mode)
        -g, --http-debug    	Enable HTTP debug mode 
        -t, --threshold     	Maximum pages to fetch
        -E, --extensive     	Extensive fetch of linked pages
        -T, --timeout=      	Set the analysis timeout (in seconds)
        -B, --broken-url    	Set the broken URL mode
        -y, --vtquery       	Query VirusTotal for samples analysis
        -s, --vtsubmit      	Submit samples to VirusTotal
        -z, --web-tracking  	Enable web client tracking inspection
        -N, --no-honeyagent 	Disable HoneyAgent support

        Plugins:
        -A, --adobepdf=     	Specify the Adobe Acrobat Reader version (default: 9.1.0)
        -P, --no-adobepdf   	Disable Adobe Acrobat Reader plugin
        -S, --shockwave=    	Specify the Shockwave Flash version (default: 10.0.64.0)
        -R, --no-shockwave  	Disable Shockwave Flash plugin
        -J, --javaplugin=   	Specify the JavaPlugin version (default: 1.6.0.32)
        -K, --no-javaplugin 	Disable Java plugin

        Classifiers:
        -Q, --urlclassifier 	Specify a list of additional (comma separated) URL classifier rule files
        -W, --jsclassifier  	Specify a list of additional (comma separated) JS classifier rule files
        -C, --sampleclassifier 	Specify a list of additional (comma separated) sample classifier rule files

        Logging:
        -F, --file-logging  	Enable file logging mode (default: disabled)
        -Z, --json-logging  	Enable JSON logging mode (default: disabled)
        -M, --maec11-logging	Enable MAEC11 logging mode (default: disabled)

    Proxy Format:
        scheme://[username:password@]host:port (supported schemes: http, socks4, socks5)

    Available User-Agents:
        winxpie60		        Internet Explorer 6.0	(Windows XP)
        winxpie61		        Internet Explorer 6.1	(Windows XP)
        winxpie70		        Internet Explorer 7.0	(Windows XP)
        winxpie80		        Internet Explorer 8.0	(Windows XP)
        winxpchrome20		    Chrome 20.0.1132.47	(Windows XP)
        winxpfirefox12		    Firefox 12.0		(Windows XP)
        winxpsafari5		    Safari 5.1.7		(Windows XP)
        win2kie60		        Internet Explorer 6.0	(Windows 2000)
        win2kie80		        Internet Explorer 8.0	(Windows 2000)
        win7ie80		        Internet Explorer 8.0	(Windows 7)
        win7ie90		        Internet Explorer 9.0	(Windows 7)
        win7chrome20		    Chrome 20.0.1132.47	(Windows 7)
        win7chrome40		    Chrome 40.0.2214.91	(Windows 7)
        win7firefox3		    Firefox 3.6.13		(Windows 7)
        win7safari5		        Safari 5.1.7		(Windows 7)
        osx10safari5		    Safari 5.1.1		(MacOS X 10.7.2)
        osx10chrome19		    Chrome 19.0.1084.54	(MacOS X 10.7.4)
        linuxchrome26		    Chrome 26.0.1410.19	(Linux)
        linuxchrome30		    Chrome 30.0.1599.15	(Linux)
        linuxfirefox19		    Firefox 19.0		(Linux)
        galaxy2chrome18		    Chrome 18.0.1025.166	(Samsung Galaxy S II, Android 4.0.3)
        galaxy2chrome25		    Chrome 25.0.1364.123	(Samsung Galaxy S II, Android 4.0.3)
        galaxy2chrome29		    Chrome 29.0.1547.59	(Samsung Galaxy S II, Android 4.1.2)
        nexuschrome18		    Chrome 18.0.1025.133	(Google Nexus, Android 4.0.4)
        ipadsafari7		        Safari 7.0		(iPad, iOS 7.0.4)
        ipadsafari8		        Safari 8.0		(iPad, iOS 8.0.2)
        ipadchrome33		    Chrome 33.0.1750.21	(iPad, iOS 7.1)
        ipadchrome35		    Chrome 35.0.1916.41	(iPad, iOS 7.1.1)
        ipadchrome37		    Chrome 37.0.2062.52	(iPad, iOS 7.1.2)
        ipadchrome38		    Chrome 38.0.2125.59	(iPad, iOS 8.0.2)
        ipadchrome39		    Chrome 39.0.2171.45	(iPad, iOS 8.1.1)

3. 운영

Thug 도구를 운영하는데 있어 도움이 될 만한 곳은 당연히 Thug 문서이다. 예전에 포스팅했던 자바스크립트 난독화 소스코드를 토대로 Thug의 V8 자바스크립트 엔진의 가능성을 테스트했다. 사용한 자바스크립트 난독화 코드는 jjencode이다.

그림 1. jjencode 난독화 해제

그림 1과 같이 jjencode의 난독화가 해제된 것을 볼 수 있다. jjencode는 정확한 위치의 난독화 해제 코드를 이용하는 방법이 아니면 난독화 해제하기 어렵다. 또한 가장 많이 사용하는 Malzilla와 같은 도구는 이 난독화를 해제 할 수 없지만, Thug는 가능했다. 

또한 난독화 해제 범위는 중요한 시사점을 가진다. 예를 들면, Thug는 웹 크롤러 엔진을 가지고 있기에 해제 가능한 난독화가 많을 수록 추적의 깊이가 깊어질 수 있다는 것이다.

4. 참조


  1. 지나가는 나그네 2015.07.01 23:42

    정말 좋은 정보 감사합니다.
    다음에는 docker로 설치한 thug로 실제 테스트하는 것도 기대해도 될까요? ^^;

이제 이 에러는 발생하지 않는다.

1. 개요

우분투 14.04 LTS에서 libemu를 설치하는 것은 버그가 존재한다. 이 부분을 해결해본다. libemu에 대해 궁금할 경우 공식 홈페이지에서 정보를 얻거나 이곳에서도 정보를 얻을 수 있다. 허니팟 계열의 오픈소스 도구에서 자주 설치하고 운영한다.

2. 설치


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

2.1. 에러

기존에 설치 방법은 위와 같으나 make install 에서 다음과 같은 오류가 발생한다.

그림 1. Libemu의 Werror 에러 문제

문제는 Werror로 경고성 문구를 가지는 것을 의미한다. 특히 Werror에서 unused-local-typedefs는 함수에서 typedef 자체 정의하고 사용하지 않아 발생하는 문제이다. Werror 경고는 gcc 4.8 버전 부터 사용한다. 그래서 이 문제를 우회하고 libemu를 설치하기 위해 gcc 4.7로 다운그레이드 한다.

다른 해결 방법으로 Werror 구문을 사용하는 부분을 일일이 수정한 다음 컴파일 하는 방법이 있는데 시간이 오래 걸리고 복잡하다.

2.2. gcc 다운그레이드

우선 gcc 4.7로 다운그레이드 할 것이기 때문에 gcc 4.7 버전을 설치한다.


sudo apt-get install gcc-4.7

다음 기존에 gcc 4.8을 실행시키던 상대 경로를 gcc 4.7로 변경한다.


sudo cp /usr/bin/gcc-4.7 /usr/bin/gcc

이제 gcc -v 명령으로 버전이 바뀌었는지 확인한다.

그림 2. gcc 버전 다운그레이드

3. 참조사이트


+ Recent posts