Cuckoo 자체 시스템에서 점수를 매겨줄 수 있는

자체 Cuckoo SandBox 시그너처 업데이트 해야함

(쿠쿠 시그너처를 파이썬으로 되어있음)

https://github.com/cuckoosandbox/community

- CuckooSandBox 시그니처 패치

(venv)$ cuckoo community <-- 명령어 입력 자동 업데이트

 

(venv)$ cuckoo <-- cuckoo 실행

(venv)$ cuckoo web runserver 0.0.0.0:8000 <-- web 실행

 

 

 

Virtual Machine OS 설정

- windows 7 , 32bit 설치

- 오디오 옵션 제거

- 호스트 네트워크로 설정 (네트워크 설정 필요)

- PIL , agent.py , Python - 3개 설치

- 방화벽 , 백신 , UAC 해제

- agent.py 실행

- SnapShot - 이름은 cuckoo1 또는 SnapShot 으로 한다.

(옵션에서는 기본 SnapShot 이란 이름으로 지정되어있다)

 

 

--------------------------------------------------------------------

 

Cuckoo - Yara 적용 방법

 

- Yara Rule 관련 파일

 # /venv/lib/python2.7/site- packages/cuckoo/core/startup.py 

 

startup.py 파일 내부에 init_yara() 함수가 보일 것이다.

해당 함 수 밑에 category = memory 라고 나타나 있는데

이것은 Memory 폴더만 점수 매긴다고 보면 될듯

다른것을 점수 포함 시킬려면..... 소스 수정 필요

 

 

 

- 실제로 점수 반영되는 폴더가 어느것이고 어느 폴더가 탐지 되었을시 표시해주는지

※ 두 가지 폴더가 현재 Cuckoo 시스템 내에 쓰이고 있음 (수정 시 startup.py 파일)

[ Binaries 폴더 ]

- Web Cuckoo 보고서 표시에 Yara 매칭 이름 나타냄 하지만 점수 반영은 없음

[ Memory 폴더 ]

- Web Cuckoo 보고서 표시 안됨 , 하지만 점수 반영은 됨

Yara Rule 작성 시 폴더 두 가지를 다 사용하여야 함

 

 

--------------------------------------------------------------------

 

 

Cuckoo API Open


$ cuckoo api


$ cuckoo api --host 211.55.59.247 --port 8090

명령어로 사용 

curl -F file=@/검사파일경로/파일이름.exe http://localhost:8090/tasks/create/file

 

파이썬 사용

 import requests

 REST_URL = "http://localhost:8090/tasks/create/file"

 SAMPLE_FILE = "/path/to/malwr.exe"

 with open(SAMPLE_FILE, "rb") as sample:

 files = {"file": ("temp_file_name", sample)}

 r = requests.post(REST_URL, files=files)

# Add your code to error checking for r.status_code.

 task_id = r.json()["task_id"]

# Add your code for error checking if task_id is None

 

 

보고서 출력 API

$ curl http://localhost:8090/tasks/report/77(77번 리포트 출력) >> 리포트내용 저장.txt

 

보고서 저장 경로

 

~/.cuckoo/storage/analyses 폴더내에 보고서 저장되어 있음

블로그 이미지

_B_G_

,