설치 및 설정 가이드

VMware 설정

1. 프로세서 가상화 활성화

VMware에서 Settings -> Hardware -> Processors에서 가상화를 켜줍니다.
virtualize Intel VT-x/EPT or AMD-V/RVI 옵션을 체크한 후 실행합니다.

2. 공유 폴더 설정

  1. VMware에서 Settings -> Options로 이동
  2. Shared FoldersAlways enabled로 설정 후 원하는 폴더 추가
  3. 우분투에서 공유 폴더 확인:
    vmware-hgfsclient
  4. root 권한으로 nano /etc/fstab 파일을 열고 맨 밑에 아래 줄을 추가:
    vmhgfs-fuse   /mnt/hgfs fuse defaults,allow_other 0 0
  5. 폴더로 이동 확인:
    cd /mnt/hgfs
  6. 작업 완료 후 exit

공유 폴더 관련 참고: 공유폴더 설정 방법

쿡쿠 샌드박스 설치

  1. VMware 설치
  2. Ubuntu 22.04 설치 후 스냅샷 생성
  3. DHCP 설정: IP 예시 192.168.0.XXX
  4. SSH 설치 및 활성화
  5. Anaconda 설치:
    ./Anaconda3-2024.10-1-Linux-x86_64.sh
  6. Python 2.7 환경 생성:
    conda create -n py27 python=2.7
    conda activate py27
  7. 필수 패키지 설치:
    sudo apt -y install python2-dev
    sudo apt -y install libssl-dev
    sudo apt -y install libjpeg-dev
    sudo apt -y install zlib1g-dev
    sudo apt -y install tcpdump
    sudo apt -y install apparmor-utils
    sudo apt -y install vim
    sudo apt -y install iptables-persistent
            
  8. 또는 한 번에:
    sudo apt -y install python2-dev libssl-dev libjpeg-dev zlib1g-dev tcpdump apparmor-utils vim iptables-persistent
  9. tcpdump 권한 설정:
    sudo aa-disable /usr/sbin/tcpdump
    sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
            
  10. VirtualBox 설치:
    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 update
    sudo apt -y install virtualbox
            
  11. 추가 라이브러리 설치:
    sudo apt-get install -y libjpeg-dev zlib1g-dev libfreetype6-dev
    sudo apt-get install python2.7-dev tk-dev
    sudo apt-get install build-essential
            
  12. curl 설치:
    sudo apt -y install curl
  13. pip 설치 (Python 2.7):
    curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
    python2 get-pip.py
            
  14. 쿡쿠 설치 (버전 2.0.7):
    python2 -m pip install cuckoo==2.0.7
  15. 쿡쿠 실행:
    cuckoo
  16. 쿡쿠 설정 폴더:
    /home/master/.cuckoo
    /home/master/.cuckoo/conf
  17. 쿡쿠 설정 관련:
    • /home/master/.cuckoo 내에 agent.py를 밖으로 빼기 – Flask 관련 설정
    • Windows 7에 agent.py 넣어 실행, 스냅샷 생성 후 사용

스케줄링 데이터베이스 구성

1. 웹 서비스 데이터베이스 구성

쿡쿠와 연동되어 사용되는 웹 서버는 Django 웹 프레임워크를 사용합니다. 데이터베이스는 NoSQL인 MongoDB를 사용 중입니다.

주의: 버전에 따라 설치가 안 될 수 있으므로 수정이 필요할 수 있습니다.

2. MongoDB 설치 (새로운 수정)

  1. 필수 패키지 설치:
    sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common
            
  2. Ubuntu Security 저장소 추가:
    echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
    sudo apt-get update
    sudo apt-get install libssl1.1
    sudo apt-get install curl
            
  3. MongoDB 5.0 GPG 키 추가 및 저장소 설정:
    curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
    sudo apt update
    sudo apt install mongodb-org -y
            
  4. MongoDB 접속 및 데이터베이스, 사용자 생성:
    mongosh
    use cuckoo
    db.createUser({user:"master", pwd:"123456", roles:[{role:"readWrite", db:"cuckoo"}]})
            
  5. 쿡쿠 설정 파일 수정 (reporting.conf):
    enabled = yes
    host = [본인 IP]
    port = 27017
    db = cuckoo
    store_memdump = yes
    paginate = 100
    username = master
    password = 123456
            

3. 스케줄링 데이터베이스 구성 (PostgreSQL)

  1. PostgreSQL 및 관련 라이브러리 설치:
    sudo apt -y install postgresql libpq-dev
  2. PostgreSQL 사용자 비밀번호 설정:
    sudo passwd postgres
    (예: 123456)
  3. PostgreSQL 사용자 생성:
    sudo -u postgres createuser --interactive
    (master, n, y, y)
  4. 데이터베이스 생성:
    createdb cuckoo
  5. PostgreSQL 접속 후 사용자 비밀번호 변경:
    psql cuckoo
    alter user master with password '123456';
    \q
            
  6. PostgreSQL 설정 파일 수정:
    • /etc/postgresql/12/main/postgresql.conf: listen_addresses = '*'로 변경
    • /etc/postgresql/12/main/pg_hba.conf: 맨 아래에 아래 줄 추가
      host cuckoo master 127.0.0.1/32 trust
  7. PostgreSQL 재시작:
    sudo systemctl restart postgresql@12-main.service
    sudo systemctl enable postgresql@12-main.service
            
  8. Python 2.7용 psycopg2 설치:
    python2 -m pip install psycopg2

4. MongoDB 설정 변경

  1. MongoDB 설정 파일 수정:
    sudo vi /etc/mongod.conf

    bindIp: 0.0.0.0 로 변경

쿡쿠 샌드박스 실행

  1. 쿡쿠 작업 디렉토리 설정:
    cuckoo --cwd ~/test
  2. 디버그 모드 실행:
    cuckoo -d
  3. 웹 인터페이스 실행 (본인 IP 사용):
    cuckoo web -H [본인IP]

    참고: 명령어 cuckoo web1는 잘못되었으므로 cuckoo web를 사용합니다.

  4. 환경 변수 설정:
    echo "export cwd=/home/$USER/.cuckoo" >> ~/profile
    source ~/.profile
    env | grep cwd
            

추가 참고 사항

Microsoft Edge용 가상머신 다운로드: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms

예시: unzip ~/Downloads/IE8.Win7.VirtualBox.zip 후 VirtualBox 실행
가상머신 이름은 반드시 cuckoo1로 설정
VM은 브릿지 모드로 실행 (0번 사용 이더넷 연결 카드 선택)

만약 다른 버전의 MongoDB가 설치되었다면, 아래 명령어로 제거 및 재설치 할 수 있습니다.

# MongoDB 패키지 제거
sudo apt-get purge mongodb-org*

# MongoDB 관련 디렉토리 삭제
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

# 패키지 목록 정리
sudo apt-get autoremove
sudo apt-get clean

echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
sudo apt-get update
sudo apt-get install libssl1.1
sudo apt-get install curl
curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt update
sudo apt install mongodb-org -y