-
SandBox-1편 설치Linux 2021. 7. 16. 17:03반응형
사용머신 ubuntu16.04, win7
<== 이렇게 우분투에서 WIN7에 명령을 내리면 WIN7에서 악성코드를 분석해서
agent.py 를 통해서 다시 ubuntu에게 결과를 보내준다.
apt-get update && apt-get -y upgrade 해서 업그레이드를 해주고
<== python과 python관련 모듈을 설치하도록하자
이제 mongodb 패키지 저장소를 추가하도록하자
<== apt-key는 apt가 패키지를 인증하는데 사용하는 키 목록을 관리하는 패키지이다.
<== adv를 보니깐 고급옵션을 gpg로 전달 이라는데
gpg는 암호화, 복호화 프로그램이다. 무료이며, 인증을 위해 필요하다.
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
<== 로 키를 넣어주고
bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" > /etc/apt/sources.list.d/mongodb-org-3.6.list'
<== 해서 소스리스트에 mongodb패키지 저장소를 추가시켜주고
apt update
<== 해서 ubuntu의 mongodb의 패키지가 있는 mongodb-org-3.6.list를 리포지터리에 추가시켜주고
apt install -y mongodb-org
<== 해서 mongodb를 다운받도록하자
service mongod start && systemctl enable mongod.service
<== 를 해줘서 서비스를 실행시켜준뒤
패킷을 가로채서 보기위해 tcpdump을 설치해주도록하자
tcpdump는 tcp/ip뿐만 아니라 컴퓨터에 부착된 네트워크를 통해 송수신되는 기타 패킷을 가로채고 표시할 수 있게 도와준다.
apt-get install -y tcpdump apparmor-utils
<== apparmor-utils라는 보안 모듈을 설치했다. apparmor-utils는 ubuntu의 보안 모듈인데, sql등의 파일 경로와 파일 권한 등을 제어할수 있는 기능을 가졌다. mongodb에서 tcpdump등을 사용할수있게 따로 tcpdump를 제외 시켜주도록 하자
aa-disable /usr/sbin/tcpdump
<== aa-disable은 하나 이상의 프로필을 비활성화 하는데 사용된다. 이 명령은 커널에서 프로필을 언로드 하고 apparmor 시작시 프로필이 로드되지 않도록한다. 즉 apparmor를 이용해서 mongodb를 컨트롤할때 tcpdump는 제외되도록 설정이 된다.
apt-get install -y tcpdump
<== tcpdump를 설치하고
apt autoremove -y
<== 이건 에러가 안나면 딱히 안해줘도 된다.
<== 예전에 다른 패키지의 의존성 때문에 설치됬지만 지금은 사용되지 않는 패키지를 삭제하는데 사용된다.
setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
<== 일반 유저에서도 tcpdump를 사용할수있게 해주기위해(원래 well-knows 포트는 root 권한으로만 프로그램을 실행해야되지만, setcap을 이용해서 권한을 할당하면 루트가 아니여도, well-known 포트를 사용할 수 있게 해준다.
getcap /usr/sbin/tcpdump
<== 해서 파일 기능을 설정해주고
apt-get -y install volatility
<== 메모리를 분석해주는 volatility를 설치해주도록 하자
암호화 해주는 m2crypto도 설치하자
pip install m2crypto && pip install --upgrade pip
cuckoo는 python2버전에서만 사용되는데 pip3는 python3이고, pip과 python 2.7의 버전을 맞춰주기 위해 pip을 버전에 맞춰서 다운받아줄것이다.
apt -y install curl
<== curl를 다운받고
curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py
<== 2.7버전의 pip을 다운받은뒤에
python get-pip.py
<== 해서 pip을 적용시켜주고
pip install -U cuckoo
<== 해서 cuckoo를 설치하도록 하자
여기서 ERROR: jsonschema ~!~! 이런 에러가 뜨면 pip install six --user -U 해주고
yara-python관련 에러가 뜨면
apt -y remove python-yara
<== 해서 수동으로 설정파일은 그대로 두고 삭제한뒤,
pip install -U cuckoo
<== 해서 다시 설치해주도록 하자
cuckoo -d && cuckoo community
<== 해서 정상적으로 작동하는지 확인하고
이제 가상머신을 설치하도록하자
apt-get install -y virtualbox
<== 해서 virtualbox를 설치한뒤 windows를 설치하고
<== 방화벽을 끄고 windows update도 멈춰주자
방화벽을 끈 이유는 바이러스 분석을 하기 위해서이다. 방화벽에서 막으면 분석이 안되니깐!
업데이트도 같은 이유이다.
<== 방화벽 멈추는것은 간단하니 update만 설명하겠다. update에 들어가서 설정변경으로 들어간뒤
<== 업데이트를 하지 않음으로 설정해주고
<== 서비스에 들어가서 디펜더도 꺼주도록 하자
<== vmware의 vmware tools격인 vitualbox guest를 불러오자 불러오면
<== 이렇게 컴퓨터에 뜨는데 이것을 설치해주자
<== 공유폴더를 설정해주고
<== 재부팅을 해야 공유폴더 한것이 보인다.
python2.7버전을 설치해준뒤에
<== python을 이용해서 pillow 라이브러리를 설치해주도록하자
pillow는 이미지 처리를 위한 모듈이다.
<== host-only로 추가시켜주기 위해 추가시키고
<== win7의 설정도 바꿔주자
<== ip설정을 정적으로 바꿔주고
<== cuckoo의 리포트설정파일에 들어가서
<== 우리는 mongodb를 사용하므로 mongodb의 enabled 부분이 no로 되어있는것을 yes로 바꿔주자
<== .cuckoo에 들어가보면 cuckoo.conf 파일이 있는데 이건 쿠쿠의 설정파일이다.
샌드박스에서의 일반적인 행위와 분석 옵션등을 지정해준다. 가상화방식도 지원해준다.
우린 virtualbox를 이용해 설치했으니 virtualbox 설정으로 바꿔주고, virtualbox.conf 파일에서 수정해주자
<== 를 열고
<== 뭐 의미는 사용할 기계 모듈의 이름을 지정하란다. cuckoo와 너가 선택한 가상화 소프트웨어간의 상호작용을 정의한단다.
virtualbox로 바꿔주자
<== 바로 아래에 memory_dump를 활성화 시켜줘서 volatility를 활성화를 할것이다.
<== 이렇게 바꾼뒤에
<== 좀더 내려가면 분석결과를 받을 host의 ip주소와 포트를 설정하는 칸이 있는데, 만약 host-only로 사용할것이라면, ip주소를 그대로 두고(기본값이 56.1임)
<== 만약 host-only로 사용하고 싶은데 외부랑 통신하고싶다면 포트포워딩을 해줘야될것이다
명령어는
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.56.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.56.0/24 -d 192.168.56.0/24 -j ACCEPT
echo 1 |tee -a /proc/sys/net/ipv4/ip_forward
<== 이다.
<== 다음으로 virtualbox.conf 파일을 열어서 보면
<== 이렇게 되어있다. mode랑 인터페이스가 설정되어있다. 필자는 우분투의 네트워크를 사용한다고 했으므로 ens33랑 그래픽 모드로 바꿔주도록하자
<== 이렇게 바꿔주자
<== 좀 아래에 이렇게 label하고 플렛폼, ip주소가 설정되어있는데 해당 플렛폼과 맞춰주고, 원하는 ip주소로 설정으로 바꿔주자
<== 이렇게 바꿔주고
<== 이 파일은 멀웨어 분석과 동시에 실행되는 스크립트로 다양한 옵션이 정의되어있다.
<== 보게되면 외부 sniffer를 사용하고, 도구는 tcpdump이며, 그 위치를 지정한것을 볼수있다.
<== 뭐 mitmdump를 사용하고 싶다면 다운받고 yes로 바꿔주자
<== memory.conf 파일을 보게된다면
<== 이렇게 volatility를 사용하기 위해 memory 파일을 덤프 시키는것을 허용해주도록하자
<== yes로 바꾸고
<== cuckoo 파일위치로 이동한뒤, cuckoo를 실행하고
<== mongodb 서비스가 실행되어있어야 실행되므로 실행을 해준뒤, web 서버를 실행시켜주자
<== http://127.0.0.1:8000으로 들어가라고 해서 들어갔더니 잘 뜬다
반응형'Linux' 카테고리의 다른 글
SecurityOnion 네트워크 설정 (0) 2022.02.04 Security Onion 설치 (0) 2022.02.03 데비안 계열 리눅스에 칼리 도구 다운받기 (0) 2021.06.30 fdisk_LVM (0) 2021.06.30 리눅스 각종 에러 (0) 2021.06.30