쿠쿠 샌드박스 다시 설치하면서 정리
vmware설정 먼저 하기
settings -> Hardware
Processors에서 가상화 켜주기
virtualize Intel VT-x/EPT or AMD-V/RVI 체크해주고 실행
공유폴더
vmware에서 settings -> Options
Shared Folders -> Always enabled 하고 원하는 폴더 add
우분투에서
vmware-hgfsclient
이름 확인
su
nano /etc/fstab 맨밑에 추가
vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other 0 0
cd /mnt/hgfs
exit
안보일경우
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
공유폴더 참고 주소
https://developern.tistory.com/entry/VMware-ubuntu-vm%EC%9D%98-%EA%B3%B5%EC%9C%A0%ED%8F%B4%EB%8D%94-Shared-Folders-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95
쿡쿠샌드박스 설치
VMware설치
Ubuntu22.04설치 > 스냅샵 만들기
DHCP > IP : 192.168.0.XXX
ssh 설치해주기
sudo apt -y install ssh net-tools unzip lrzsz
enable
아나콘다 설치
Anaconda3-2024.10-1-Linux-x86_64.sh 실행해서 설치
conda create -n py27 python=2.7
conda activate py27
sudo apt -y install python-pip 22.04
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
sudo apt -y install python-pip python2-dev libssl-dev libjpeg-dev zlib1g-dev tcpdump apparmor-utils vim iptables-persistent
sudo aa-disable /usr/sbin/tcpdump
sudo aa-disable /usr/bin/tcpdump 22.04
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/tcpdump 22.04
VBox설치
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
버추얼박스 버전문제로 7로 버전 맞춤 22.04
vmware에서 가상화 설정해주기
sudo apt remove --purge virtualbox* (virtualbox 6.0 지우기)
sudo apt-get remove --purge virtualbox-dkms 안될때만 해주기
wget https://download.virtualbox.org/virtualbox/7.0.20/virtualbox-7.0_7.0.20-163906~Ubuntu~jammy_amd64.deb
3) 다운로드 된 파일 위치에 들어가서
sudo dpkg -i virtualbox-7.0_7.0.20-163906~Ubuntu~jammy_amd64.deb (설치 시작)
sudo dpkg -i virtualbox-7.0_7.0.20-163906~Ubuntu~jammy_amd64.deb
sudo apt --fix-broken install
4) virtual box 실행 후 -> File -> Tools -> Network Manager -> Create
5) Win7.ova 불러온 후 실행 (Host-only Adapter)
sudo apt-get install -y libjpeg-dev zlib1g-dev libfreetype6-dev
sudo apt-get install -y python2.7-dev tk-dev
sudo apt-get install -y build-essential
sudo apt -y install curl
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python2 get-pip.py
python2 -m pip install cuckoo==2.0.7
sudo -H pip2 install cuckoo==2.0.7 22.04
cuckoo
/home/master/.cuckoo
/home/master/.cuckoo/conf
/home/master/.cuckoo 여기 안에 agent.py 밖으로 빼기 -> 플라스크 flask
스케줄링 데이터베이스 구성
웹 서비스 데이터베이스 구성
쿠쿠와 연동돼 사용되는 웹 서버 : 장고 웹 프레임 워크 (Django Web Framework)
웹 서버가 사용할 데이터베이스 NoSQL인 몽고 DB사용중
버전때문에 설치가 안될수 있음 수정해야함
[new 수정]
sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common
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
22.04
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-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
sudo systemctl start mongod
mongosh
use cuckoo
db.createUser({user:"master",pwd:"123456",roles:[{role:"readWrite",db:"cuckoo"}]})
exit
.cuckoo 가서 reporting.conf에 mongodb 수정
enabled = yes
host = 본인 IP
port = 27017
db = cuckoo
store_memdump = yes
paginate = 100
username = master
password = 123456
스케줄링 데이터베이스 구성
sudo apt -y install postgresql libpq-dev
sudo passwd postgres
123456
sudo -u postgres createuser --interactive
master
n
y
y
잘못했다면 DROP ROLE master;
createdb cuckoo
psql cuckoo
alter user master with password '123456';
\q
sudo vi /etc/postgresql/12/main/postgresql.conf
sudo vi /etc/postgresql/14/main/postgresql.conf 22.04
listen_addresses = '*'
sudo vi /etc/postgresql/12/main/pg_hba.conf
sudo vi /etc/postgresql/14/main/pg_hba.conf 22.04
host all all 본인번호 md5
맨밑에 추가
host cuckoo master 127.0.0.1/32 trust
sudo systemctl restart postgresql@12-main.service
sudo systemctl restart postgresql@14-main.service 22.04
sudo systemctl enable postgresql@12-main.service
sudo systemctl enable postgresql@14-main.service 22.04
cuckoo.conf 설정 [X] 안해됨
[database]
connection = postgresql://master:123456@localhost:5432/cuckoo [X]
connection = postgresql://master:123456@192.168.8:5432/cuckoo
python2 -m pip install psycopg2
sudo vi /etc/mongod.conf
bindIp: 0.0.0.0
cuckoo --cwd ~/test
systemctl restart mongod
VBox에서 호스트온리 설정해주고 실행해주기
스냅샷 생성해주기
윈도우에 필로우 설치
pip install pillow
윈도우 7에 agent.py 넣기 실행시킨상태에서 스냅샷걸어놓기
스냅샷 생성
실행한 vm을 일지정지해주고
VBoxManage snapshot "cuckoo1" take "Snapshot 1" --pause
VBoxManage controlvm "cuckoo1" poweroff
VBoxManage snapshot "cuckoo1" restorecurrent
cuckoo -d
cuckoo web -H 본인IP
cuckoo web -H 192.168.0.8
echo "export cwd=/home/\"\$USER\"/.cuckoo" >> ~/profile
source ~/.profile
env | grep cwd
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
22.04
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1
스냅샷 생성
실행한 vm을 일지정지해주고
VBoxManage snapshot "cuckoo1" take "Snapshot 1" --pause
VBoxManage controlvm "cuckoo1" poweroff
VBoxManage snapshot "cuckoo1" restorecurrent
바이러스토탈
processing.conf에 가서
바이러스토탈 yes
cuckoo process -r 1
추가설치
ssdeep 파이썬 라이브러리 설치
sudo apt -y install libfuzzy-dev
sudo apt -y install swig
python2 -m pip install pydeep
python2 -m pip install m2crypto==0.24.0
dev-c++ 설치후 실행파일 하나 만들고
컴파일
쿠쿠에 검사돌리기
Static Analysis 정적 분석 확인해보기
P1
PE Compile Time
2025-02-23 19:33:40
PE Imphash
4144b4faf65604a977e926d2625581c7
P2를 만들어서 비교해보기
PE Compile Time
2025-02-23 21:20:47
PE Imphash
4144b4faf65604a977e926d2625581c7
내용이 같아서 해시가 같은가?
>> P2의 내용을 변경하고 다시 검사
PE Compile Time
2025-02-23 21:24:13
PE Imphash
4144b4faf65604a977e926d2625581c7
내용이 달라져도 해시는 같게나온다
헤더가 같기때문에
소켓 통신 프로그램을 만들고 검사해보기
PE Compile Time
2025-02-23 21:55:26
PE Imphash
2ab23750ec1638ca4e878e42fa1526c3
Library WSOCK32.DLL:
• 0x40620c WSACleanup
• 0x406210 WSAStartup
• 0x406214 accept
• 0x406218 bind
• 0x40621c closesocket
• 0x406220 htons
• 0x406224 listen
• 0x406228 recv
• 0x40622c send
• 0x406230 socket
소켓 라이브러리를 사용하는것이 출력
쿠쿠 VM윈도우 네트워크 해제방법
네트워크 해제방법
sudo iptables -F (모든 규칙 삭제)
sudo iptables -A FORWARD -o ens33 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
sudo sysctl -w net.ipv4.ip_forward=1
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
sudo netfilter-persistent reload