●50일차(20250222050.php)
우분투 버전 20.04로 낮추자
> 70GB로 놓음
[step1]
6버전 윈도우.ova 가져오기
> python2.7 데스크탑용 다운로드 > add python 2.7 to path 체크하기
> 네트워크 NAT > pip install pillow
> 추후에 .cuckoo에서 추출한 agent.py users\manager에 넣어줄거임
> 우분투 설치 후 이름 CUCKOO.ova로 올릴것임
[step2]
1. VMware workstation 세팅
settings > Hardware > Processors > 가상화 켜주기
> virtualize Intel VT-x/EPT or AMD-V/RVI 체크해주고 실행
2. 공유폴더 설정
vmware에서 settings > Options
Shared Folders > Always enabled 하고 원하는 폴더 경로 add
우분투 터미널에서
vmware-hgfsclient
> 공유 폴더 이름이 나옴
su
nano /etc/fstab 맨밑에 추가
vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other 0 0
> 띄어쓰기 그대로 넣어도 됨
mkdir /mnt/hgfs
cd /mnt/hgfs
> 여기에 공유폴더가 생성됨
> 안 보인다면 리부트
공유폴더 참고 주소
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
3. 쿠쿠샌드박스 설치
Ubuntu22.04
> 초기 설치 후 스냅샷 만들기
3-1. ip 설정
ip addr > 192.168.13대가 나옴
좌측 위 edit > change setting > virtual network editor > 13. 대를 bridge로 바꿈
> Realtek PCIe(External connection)로 설정
우측 위 wire connect turn off 했다가 다시 켜줌
ip addr > 192.168.0.XXX
3-2. ssh 연결
wired connect > wired setting > wired 설정 > 192.168.0.1로 되어있음
> IPV4 > DNS: 168.126.63.1로 바꾸고
sudo apt update
sudo apt -y install openssh-server
sudo systemctl enable ssh
> xshell로 ssh 192.168.0.XXX로 접속
> master 123456
nano /etc/hostname
> CUCKOOXXX
> reboot
3-3. 아나콘다 설치
> Anaconda3-2024.10-1-Linux-x86_64.sh 실행해서 설치
sudo apt -y install lrzsz
cd ~
linux용 anaconda 드래그해서 옮기기
chmod 777 Anaconda[tab]
./Anaconda3[ta]
> enter
> yes
/home/master/anaconda > enter
> 설치 될거임
> 마지막에 yes
sudo reboot
> (base)가 떠야됨
3-4. 파이썬2.7 가상환경 세팅 후 부가설치
conda create -n py27 python=2.7
conda activate py27
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 python2-dev libssl-dev libjpeg-dev zlib1g-dev tcpdump apparmor-utils vim iptables-persistent
> 이렇게 이어서 해도됨
sudo apt -y install python2-dev libssl-dev libjpeg-dev zlib1g-dev tcpdump apparmor-utils vim iptables-persistent
sudo aa-disable /usr/sbin/tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
> 스냅샷
3-5. Virtual Box설치
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
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
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
cuckoo
/home/master/.cuckoo/conf 여기 안에 agent.py 밖으로 빼기 -> 플라스크 flask
3-6. 웹 서비스 데이터베이스 구성
쿠쿠와 연동돼 사용되는 웹 서버 : 장고 웹 프레임 워크 (Django Web Framework)
웹 서버가 사용할 데이터베이스 NoSQL인 몽고 DB사용중
버전때문에 설치가 안될수 있음 수정해야함
[new 수정 (몽고 5.0.31버전 6.7버전 에러 발생)]
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
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
> test 뜰거임
use cuckoo
db.createUser({user:"master",pwd:"123456",roles:[{role:"readWrite",db:"cuckoo"}]})
exit
.cuckoo/conf/reporting.conf
[mongodb]
enabled = yes
host = 본인 IP
port = 27017
db = cuckoo
store_memdump = yes
paginate = 100
username = master
password = 123456
3-7. 스케줄링 데이터베이스 구성
sudo apt -y install postgresql libpq-dev
sudo passwd postgres
123456
sudo -u postgres createuser --interactive
master
n
y
y
createdb cuckoo
psql cuckoo
> cuckoo 창이 뜸
alter user master with password '123456';
\q
sudo nano /etc/postgresql/12/main/postgresql.conf
listen_addresses = '*'
sudo nano /etc/postgresql/12/main/pg_hba.conf
host all all 본인번호 md5
> IPv4 에서 해줬다
맨밑에 추가
host cuckoo master 127.0.0.1/32 trust
sudo systemctl restart postgresql@12-main.service
sudo systemctl enable postgresql@12-main.service
python2 -m pip install psycopg2
sudo nano /etc/mongod.conf
bindIp: 0.0.0.0
cuckoo.conf 설정
[database]
connection = postgresql://master:123456@192.168.0.153:5432/cuckoo
> 근데 이걸 해주면 안됨
> 버전 문제인듯
systemctl restart mongod
cuckoo --cwd ~/test
3-8. Virtual Box, win7 세팅
win7
> 이름 : cuckoo1
> win7 메모리 1024MB만 해도됨
cuckoo -d
> 192.168.56.1 에러가 남
> 버츄얼 박스에서 win7 안켜서 그럼
> 우분투 안에 버츄얼박스 안에 윈도우를 실행시킨 상태에서 해야한다
공유폴더에 win10에서 만들어준 CUCKOO.ova를 넣어준다
> 우분투 files > other location > computer > mnt > hgfs에서 가져오자
> ova 더블클릭 하면 import 창이 뜰거임 import 해주고 실행
> file > hostnetwork manager > create > vboxnet0이라는 호스트 전용 어댑터가 뜰거임
+) 내 버츄얼 박스는 확장팩을 다운 받아줘야하나봐
> 확장팩 다운로드 받고 버츄얼 박스 들어가서
> 파일 > preferences(환경설정) > 확장 > 확장팩 가져오기 > 동의합니다 하고 설치
cuckoo -d
> 버츄얼 박스 스냅샷을 걸어주라는 에러가 뜸
> win7 네트워크 호스트 전용인지 확인
> win7 ip dhcp로 놓기
> ip addr > 192.168.56.101이 뜰거임
> python agent.py > 엑세스 허용 > 해준 상태로 스냅샷
VBoxManage snapshot "cuckoo1" take "Snapshot 1" --pause
VBoxManage controlvm "cuckoo1" poweroff
VBoxManage snapshot "cuckoo1" restorecurrent
> xshell 우분투에서 해주면 됨
> 그냥 버츄얼 박스에서 해줘도 되긴함
3-9. 쿠쿠 웹활성화
cuckoo -d
> waiting for analysis tasks 나오는지 확인
> 해주면 윈도우7이 꺼지면서 save로 바뀌게된다
> 이때 xshell로 192.168.0.XXX으로 연결한 새 세션을 띄워서 cuckoo web을 해주자
cuckoo web -H 192.168.0.XXX
> 장고가 뜰거임
> win10 웹사이트에서 http://192.168.0.XXX:8000을 해주면 쿠쿠 사이트가 뜬다

> exe 파일을 드래그 해주고 체크후 analysis

> running이 아니라 reported가 떠야 정보가 나온다
> 클릭을 해주면

> 정보가 뜬다

> log도 뜬다
+) 웹에서 호스트 연결이 안된다는 에러가 뜨면 win7 네트워크가 호스트 전용으로 안되어있는것
> 호스트 전용으로 바꾸고 다시 스냅샷
3-10. 악성코드 분석을 위한 추가 세팅
nano ~/.cuckoo/conf/processing.conf
[virustotal]
enabled = yes
cuckoo process -r 1
> (py27)에서
3-11. 추가적인 요소들
+) 해주지 않은 명령어들
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
+) mongodb 버전 낮추기
sudo apt update
mongod --version
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
+) 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