
ããã«ã¡ã¯ãHabrïŒ
4幎åãCuckoo Sandbox 1.2åçãã«ãŠã§ã¢åæãã©ãããã©ãŒã ã®ã¢ã»ã³ããªæé ãå
¬éããŸããã ãã®éããããžã§ã¯ãã¯å°è±¡çãªæ©èœãšå·šå€§ãªã³ãã¥ããã£ãç²åŸããããšãã§ããŸãããæè¿ããŒãžã§ã³2.0ã«æŽæ°ããã1幎å以äžã«ããã£ãŠãªãªãŒã¹åè£æ®µéã«ãšã©ãŸã£ãŠããŸãã
æçµçã«ã¯ããããžã§ã¯ãã«çŸåšãããã¹ãŠã®ã°ããºãå«ãå®å
šãªCuckoo Sandbox 2.0.5ã¢ã»ã³ããªããã¥ã¢ã«ãæºåããŸãããCuckooããã±ãŒãžã¯venvã«ãããrootãªã㧠ã12ãè¶
ããã»ãã¥ãªãã£ãŠãŒãã£ãªãã£ããµã³ãããã¯ã¹ã«è¿œå ããŸãã åéãããè³æã®ç·èšã«åºã¥ããŠããããã¯çŸæç¹ã§ã€ã³ã¿ãŒãããäžã§å
¬éãããŠãããã¹ãŠã®ã¹ãããã¬ã€ããžã®æãå®å
šã§ããèããããã¹ãããã§ãããšèšãããšãæããŸããã èšäºãæåŸãŸã§ãã¹ã¿ãŒãã人ã®ããã«-ãµã³ãããã¯ã¹ãçµã¿ç«ãŠããããšãã®å¯ŸåŠæ¹æ³ãšããªãŒãã³ãœãŒã¹ã䜿çšããç¬èªã®ããŒã«ã«ããæ
å ±ã»ãã¥ãªãã£ããã»ã¹ã®èªååããæ倧ã®å©çãåŸãæ¹æ³ã«ã€ããŠå°ãã¢ããã€ã¹ããŸãã ãã¹ãŠã®ãªã¿ã¯ããŠã€ã«ã¹ã¢ããªã¹ããèŠåå¡ãSOCãCERTãCSIRTã®äººãã¡ããããŠã¿ãŒããã«ã®ãã¿ã³ãçªãã®ã倧奜ããªäººãã¡-ã«ãããžããããïŒ
éå»æ°å¹Žã«ããã£ãŠCuckooãããžã§ã¯ãã§å€ãã®ããšãèµ·ãããæ°ããããŒã«ãè¿œå ãããè¿œå ã®ãœãããŠã§ã¢ã®ãµããŒããç»å Žãã眲åã®æ°ãäœåºŠãå¢å ããæªæã®ãããã¡ã€ã«ã®è©äŸ¡ã·ã¹ãã ãè©äŸ¡ãããUIå
šäœãæžãçŽãããŠãçŽ æµãªããŒã¯ããŒããèšå®ã§ããããã«ãªããŸããã

ãããžã§ã¯ãã®ç©æ¥µçãªå€æŽã¯æããã§ãããµã³ãããã¯ã¹ã¯ããã€ã¯ããªãªãŒã¹ã§æŽæ°ããå§ããç¹å®ãã確èªããããã°ãããã«è§£æ±ºããŸããã éçºè
ã¯ããã°ã®å°ããªå€æŽãã¹ãŠã«ã€ããŠæžãå§ããŸãããããã§ãããžã§ã¯ãã®ããŒãããããèŠã€ããããšãã§ããŸãã æ®å¿µãªããããåããšãåŸãã®ãµããªãŒããŒãã«ãã³ã³ãã€ã«ããã®ãé£ããã»ã©å€ãã®å€æŽããã£ãããããããã¯ç°ãªãæ代ã®2ã€ã®ãã©ãããã©ãŒã ã§ããèªåã§ããã°ãèŠãæ¹ãè¯ãã§ãããã

ããã°ããã£ãšé »ç¹ã«ãã§ãã¯ããããšããå§ãããŸãããã®ãªãªãŒã¹ã®éçºè
ã¯zer0mon VM ã¢ã³ãæ€åºãã©ã€ããŒãmasterãã©ã³ãã«å«ããããšãçŽæããŸãããæéã¯ãªãªãŒã¹2.1.0ã«ç§»è¡ããŸãã®ã§ããæåŸ
ãã ããã
ã«ãã³ãŠã®ã³ãŒãèªäœã¯PIPããã±ãŒãžãããŒãžã£ãŒã«ç§»åããã«ãã³ãŠã¯1ã€ã®ã³ãã³ãã§æåéãæŽæ°ãããŸãã
å®å®æ§ã¯æåã®ãªãªãŒã¹ããã®ã«ãã³ãŠã®äž»ãªæ¬ ç¹ã§ãããããäœæ¥ã«å®å®æ§ãå¿
èŠãšãã顧客åãã®åçšãµããŒãã®éå§ã«é¢ãããã¥ãŒã¹ã¯ããžãã£ãã§ããã ãã®ãããžã§ã¯ãã§éããããè³éããéçºè
ãã¢ããªã±ãŒã·ã§ã³ã®é«å質ãªæäœãéæããã®ã«åœ¹ç«ã€ããšãæ¬åœã«é¡ã£ãŠããŸãã

ãã ãããããžã§ã¯ãã®éå§ä»¥æ¥ãã€ã³ã¹ããŒã«ã®åé¡ã¯å€ãã£ãŠããŸãã-Cuckoo Sandboxã¯ååã«ææžåãããŠãããåžžã«ãã°ãããã¢ãžã¥ãŒã«ã䜿çšãããšãããã¯çœå®³ã§ãã äžéšã®ã¢ããªã±ãŒã·ã§ã³ã¯ãŸã£ããææžåãããŠããŸãããHoneyDã®ããã«ãã©ã®ããã«ããããŠäœãæ©èœããããç解ããã«ã¯ãã³ãŒãã確èªããå¿
èŠããããŸãã ããªãã®æéãè²»ãããŠãéçºè
ã®ãã¹ãŠã®æšå¥šäºé
ã§ã«ãã³ãŠãåéããããšãã§ããŸãã-ã«ãã³ãŠãVenvã§ã©ããããã«ãã³ãŠãåäœããããã®ã«ãŒãæš©éã䜿çšããã«ãã¹ãŠããŒãããèšå®ããŸãïŒ åã¹ãããã¯ãåœä»€ãå®å
šã«æ©èœããããã«ãªããŸã§ããã¹ãç°å¢ã§ã®ããã¯ã¢ããã®è€æ°ã®ããŒã«ããã¯ã«ãã£ãŠæ®µéçã«æ€èšŒãããŸãã
ãã«ãæ©èœ
éçºè
ã®æšå¥šã«ãããšãCuckoo Sandbox 2.0.5ã¯ESXiã¯ã©ã¹ã¿ãŒã«ã€ã³ã¹ããŒã«ãããUbuntu OS 04/16/03äžã«æ§ç¯ãããŠããŸãã Cuckooãã€ããŒãã€ã¶ãŒãšããŠãVirtualBox 5.2ã䜿çšãããŸãã VMcloakã®èªåã€ã³ã¹ããŒã«ã¹ã¯ãªããã䜿çšããŠãVMã®ã€ã³ã¹ããŒã«ãå®è¡ãããŸã ã VMcloakã䜿çšãããšãã²ã¹ãOSã®è匱ãªå€ããœãããŠã§ã¢ãæ¢ãå¿
èŠããªããªãããããã¯ãŒã¯ãšPythonãæ§æããå¿
èŠããªããªããŸããVMcloakã¯ãCuckoo Agentãå«ãå¿
èŠãªãã¹ãŠãã€ã³ã¹ããŒã«ãã1ã€ã®ã¿ãŒããã«ã³ãã³ãã§æ§æããŸãã VMcloakã䜿çšããŠãVMã®ã¯ããŒã³äœæã管çãããã³ãã¥ãŒãã³ã°ãè¡ãããšãã§ããŸãã Windows 7 SP1 X64ãä»®æ³ç°å¢OSãšããŠäœ¿çšããŠããŸãããCuckoo Sandboxã¯XPããå§ãŸããã¹ãŠã®ããŒãžã§ã³ã®WindowsããµããŒãããŠããŸãã
å幎åãCuckooã®éçºè
ã¯ãVPNãŸãã¯Torãä»ããŠVMããã®ãã©ãã£ãã¯ããããã·ããæ©èœãçµã¿èŸŒã¿ãŸããã ãã®èšå®ã§ã¯ãã€ã³ã¿ãŒããããžã®çŽæ¥ãŸãã¯Torçµç±ã®ã¢ã¯ã»ã¹ãèš±å¯ãããšããç°¡åãªæ¹æ³ã«æ±ºããŸããã
Cuckoo Sandboxã«å ããŠã次ã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãããŸãã
- Suricata -IDSã
- Snort -IDSã
- HoneyD-ãããŒãããã
- InetSim-ãããã¯ãŒã¯ãšãã¥ã¬ãŒã¿ãŒã
- Tor-ã²ã¹ãVMãã©ãã£ãã¯ã®ãªããªã³ã«ãŒãã£ã³ã°ã
- Teserract-ã¹ã¯ãªãŒã³ã·ã§ããã®ããã¹ããèªèããŸãã
- MitMproxy- ãäžéè
ãã«ããSSLãã©ãã£ãã¯ã®åæã
- Moloch -IDSïŒãã©ãã£ãã¯åæã«éåžžã«äŸ¿å©ã§äŸ¿å©ãªãŠãŒãã£ãªãã£ïŒã
- SSDeep-ãã¡ãžãŒããã·ã¥ã
- æ®çºæ§ -RAMæ¢çŽ¢ãã¬ãŒã ã¯ãŒã¯ã
- Distorm3-éã¢ã»ã³ãã©ãŒã
- Yara-ãã«ãŠã§ã¢ãèªèããŠåé¡ããããã®ãŠãŒãã£ãªãã£ã
13çªç®ã®ãã€ã³ãã¯ã IRMAãã¡ã€ã«ã®ã¢ã³ããŠã€ã«ã¹åæãã¹ããªãŒãã³ã°ããããã®ããã°ã©ã ã§ãããšæ³å®ãããŠããŸããããIRMAãCuckooã«å«ãŸããŠããå ŽåãElasticã§ã®ã¬ããŒãã®ã¢ããããŒãã倱æããéçºè
ã¯ãŸã ãã®ãã°ã«å¯ŸããåçãæäŸãããElastic Indexãåæããæéã¯ãããŸããã§ãã ãããã£ãŠããã®ããã¥ã¢ã«ã«ã¯IRMAã®äœæã«é¢ããé
ç®ããããŸãããCuckooãšã®çµ±åã¯å«ãŸããŸããã ããããELKã¹ã¿ãã¯ã®ç¬¬äžäººè
ãããŠãåæ¢ã«ãã°ãå
æããç§ã®èšäºãè£å®ããæºåãã§ããŠããã§ãããã ããŒã8080ã§IRMAãèŠã€ããŠäœ¿çšã§ããŸãã
æ¬ ç¹ãšããŠããµã³ãããã¯ã¹ã®Webã€ã³ã¿ãŒãã§ã€ã¹ã§Molochãžã®èª€ã£ããªã³ã¯ãææã§ããŸããããããä¿®æ£ã§ããŸãããããã¯éèŠã§ã¯ãããŸãããMolochãµãŒãã¹èªäœãããŒã8005ã§ãã³ã°ããããã§ååã§ãã

Cuckooã¯ãã¹ãã³ããŒã¿ãMongoDBã«ãã·ã¹ãã ããŒã¿ãPostgresqlã«ãã€ã³ããã¯ã¹ãElasticsearchã«ä¿åããŠãè¿
éãªæ€çŽ¢ãšéžæãJsonãHTMLãPDFãžã®ãšã¯ã¹ããŒãããã¹ãŠã®ãã£ãã³å
šäœã§SSLãæ§æãããNginx WebãµãŒããŒãä»ããŠåäœããŸãïŒèªå·±çœ²å蚌ææžã¯ã«ãŠã³ãããŸããïŒ UWSGIãšçµã¿åãããŠã
ãã®ã¢ã»ã³ããªã¯ãWindowsãµã³ãããã¯ã¹ã§ã®åæå°çšã«æ§æãããŠããŸãã AndroidãOS Xãããã³Linuxã¯æ§æãããŠããŸããã ãã®éšåã«ã€ããŠè³ªåãããå Žåã¯ãPMã«æçŽãæžããŠãã ãããçè«çã«ã¯ãããè¡ãæ¹æ³ã¯ç¥ã£ãŠããŸããããã®æ©èœã¯çŸæç¹ã§ã¯ç§ã®èå³ãšä»äºã®ç¯å²ãè¶
ããŠããŸãã
ããã¥ã¢ã«æ©èœ
çŸåšã®èšäºã§ã¯ãèªåã€ã³ã¹ããŒã«ã¹ã¯ãªããã¯æäŸãããŸããã ãã¡ãããç§ã¯ãããæžãã®ãé¢åã§ã¯ãããŸãããããµã³ãããã¯ã¹ãæ£åžžã«æ©èœããããšã¯æå³ããããŸãããæåã§åéãã åãšã©ãŒãåæããå
容ãšæ¹æ³ã泚ææ·±ã確èªããæ¹ãè¯ãã§ãããã åžžã«æŽæ°ãããå€æ°ã®å€éšããã°ã©ã ãšå¯Ÿè©±ããã¢ããªã±ãŒã·ã§ã³ãåŒãç¶ãåéããŸãã ãã°ã¯é¿ããããªãã®ã§ãåŸã§ã¹ã¯ãªããã®äœãåé¡ã«ãªã£ãããææ¡ããããããèªåã§ãã°ãèŠã€ããæ¹ãããã§ãããã
ãã®èšäºã§ã¯ãåã®èšäºã®ããã«ãã€ã³ã¹ããŒã«ãããããã°ã©ã ã®ãã¹ãŠã®äŸåé¢ä¿ãæåã®è¡ããå§ããŸããã§ããã Cuckooã«æ¥ç¶ãããŠããç¹å®ã®ãœãããŠã§ã¢ããšã«ããã®ãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ã»ã¯ã·ã§ã³ã«äŸåé¢ä¿ã瀺ãããŠããŸãã
Cuckooã䜿çšãã4幎éã®ãã«ãŠã§ã¢åæã«ãããæãããªç·åœ¢é¢ä¿ã瀺ãããŸããããµãŒãã¹ã®ãµã³ãããã¯ã¹ã«æ¥ç¶ããã»ã©ãæ©èœãäœäžããŸãã ãããã£ãŠããã¹ãŠã®äŸåé¢ä¿ãäžåºŠã«çœ®ãããšã¯æå³ããããŸãããé«éœ¢ã®ITããã³é«éœ¢è
ã¯ãäžå®å®ãªã³ã³ããŒãã³ãã®è²©å£²ãæåŠã§ãããããããã®æ
å ±ã¯åé·ã«ãªãããã§ãã 圌ããèšãããã«ãæé«ã¯åã®æµã§ãã
REST APIã¯ãã®èšäºã«ã¯é¢ä¿ããŠããŸãããããã¯éåžžã«ç°¡åã§ãããçŸåšã®æ®µéã§ã¯å¿
èŠãããŸããã
åãŠãŒãã£ãªãã£ã®è©³çŽ°ã¯èª¬æããŸãããéèŠãªç¹ã®ã¿ãããŒã¯ããŸãããŠãŒãã£ãªãã£ã®ããéèŠãªéšåã«ã€ããŠã¯ååã®èšäºã§èª¬æããŸãããREST APIã®æå¹åã«é¢ããæ
å ±ããããŸãã
ãããŠæãéèŠãªããš-èšäºã¯ãã¢ã»ã³ããªã®æ瀺åŸæ°ã¶æéå
¬éãããŠãããäœãããã§ã«å€æŽãããŠããå¯èœæ§ããããŸãã ãã°ã«ééããå Žåã¯ãPMã«é£çµ¡ããŠãã ããã
次ã«ãæãäžè¬çãªè³ªåã«çããŠãã€ã³ã¹ããŒã«ãé²ããŸãïŒ
ããããç§ãããªãã®LinuxãèŠæã§ããµã³ãããã¯ã¹ãæ¬åœã«å¿
èŠãªå Žå
ãã®è³ªåãžã®çãã¯ç°¡åã§ã-Windows Sysinternalsã§ã®ãªã³ã©ã€ã³ãµã³ãããã¯ã¹ãŸãã¯æ··ä¹±ã®äœ¿çšã
- ãµãŒãã¹çªå·1ã ããšã¹ããã¢ã«ãã³ãŠã ã ãšã¹ããã¢CERTïŒã³ã³ãã¥ãŒã¿ãŒç·æ¥å¯Ÿå¿ããŒã ïŒã®éåžžã«æèœãªCuckoo Sandboxã®ææ°ããŒãžã§ã³ã ç§ããããäžã§èŠã€ããæé«ã®ãµã³ãããã¯ã¹å®è£
ã ãµãŒãã¹ã䜿çšããŠãããŠã³ããŒãããããŒã¿ãã³ã³ããã³ã·ãŒã€ã³ãžã±ãŒã¿ãŒïŒIoCïŒã«å解ãã MISPãªã©ã®ãœãããŠã§ã¢ã䜿çšããŠã確ç«ãããTLP転éã«ãŒã«ã«åŸã£ãŠä»ã®CERTã«è»¢éã§ããããšã«æ³šæããŠãã ããã ãããã£ãŠãæ©å¯ãœãããŠã§ã¢ãã¢ããããŒããããã©ãããæ
éã«æ€èšããŠãã ããã
- ãµãŒãã¹çªå·2ã ããã€ããªããåæã ã çãåïŒãŸãã¯çãåã§ã¯ãªãïŒã§äººæ°ã®ãããµã³ãããã¯ã¹ã¯ãªã³ã©ã€ã³ãµã³ãããã¯ã¹ã§ãããå®å®æ§ãšå質ãæãè¯ãããã€ãã¹ã§ã-æ©èœãå°ãå¶éãããŠããããããã«ãŠã§ã¢ãµã³ãã«ãããŠã³ããŒãã§ããŸããã
- ãµãŒãã¹çªå·3 ãEver-Dead Malwrã-Cuckoo Sandboxã®äœæè
ããµããŒãããæã人æ°ã®ãããµã³ãããã¯ã¹ã¯ãåã³è² è·ãããã£ãŠãããå幎ã¯äžæããŠããŸããã ãã®ã³ã¬ã¯ã·ã§ã³ãšã¯å¥ã«ãåæçšã®ãŠã€ã«ã¹ãœãããŠã§ã¢ã®ãµã³ãã«ãç¡æã§ããŒãã§ããå¯äžã®ãµã€ãã§ãã 埩掻ãæãã§ããŸãããäºæž¬ã¯ãŸã å
æ°ã¥ããããŠããŸããã
- ãªãã·ã§ã³4ã ãèªåãæ¢ããŸããã¯ãOSINTã®ååãšæ€çŽ¢ã¯ãšãªã®èšèªã«ç²ŸéããŠãã人åãã§ãã ãã©ãããã©ãŒã ããéçããã¹ããååŸããŸãã

ãããŠãåŒçšç¬Šã§ã°ãŒã°ã«ãgithubãé€ãã€ã³ããã¯ã¹ã«ãããã¹ãŠã®ãµã³ãããã¯ã¹ãèŠã€ããŸãïŒ

çµç«
ã ãããçè«çãªéšåã¯åŸãã«ãããç§ãã¡ã¯ç·Žç¿ãå§ããŸãïŒ
OSã¢ããããŒã
ã·ã¹ãã ããã±ãŒãžãæŽæ°ããŸãã
sudo apt update sudo apt upgrade -y
ã«ãã³ãŠã®äŸåé¢ä¿
Cuckooã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãã
sudo apt install python python-pip python-dev libffi-dev libssl-dev libfuzzy-dev -y sudo apt install python-virtualenv python-setuptools -y sudo apt install libjpeg-dev zlib1g-dev swig -y sudo -H pip install -U pip
Virtualbox
extpackã䜿çšããŠVirtualboxãã€ã³ã¹ããŒã«ããŸãã
cd /opt sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" >> /etc/apt/sources.list.d/virtualbox.list' sudo wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - sudo apt update && sudo apt install virtualbox-5.2 -y VBOX_LATEST_VERSION=$(curl http://download.virtualbox.org/virtualbox/LATEST.TXT) sudo wget http://download.virtualbox.org/virtualbox/${VBOX_LATEST_VERSION}/Oracle_VM_VirtualBox_Extension_Pack-${VBOX_LATEST_VERSION}.vbox-extpack sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-${VBOX_LATEST_VERSION}.vbox-extpack
ã«ãã³ãŠãµã³ãããã¯ã¹
Venvãã€ã³ã¹ããŒã«ããPIPçµç±ã§Cuckooãã¢ã¯ãã£ãã«ããŠã€ã³ã¹ããŒã«ããŸãã
sudo adduser cuckoo sudo usermod -a -G vboxusers cuckoo cd /home/cuckoo su cuckoo virtualenv cuckoo . /home/cuckoo/cuckoo/bin/activate pip install -U pip setuptools psycopg2 yara-python weasyprint pycrypto pydeep easy_install distribute pip install -U cuckoo pip install weasyprint==0.36 pip install m2crypto==0.24.0 cuckoo cuckoo community deactivate sudo apt install python-m2crypto exit
Elasticsearchçšã®Java
Elasticã¯Javaã§æžãããŠãããããJavaãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã
sudo add-apt-repository ppa:webupd8team/java sudo apt update && sudo apt install oracle-java8-installer -y sudo bash -c "echo 'JAVA_HOME=\"/usr/lib/jvm/java-8-openjdk-amd64\"' >> /etc/environment" source /etc/environment
Db
ããã§ããã¹ãŠã®ããŒã¿ããŒã¹ãã€ã³ã¹ããŒã«ããŠèšå®ããŸããå€æ°ãdb_passwdãã¯ãPostgresããŒã¿ããŒã¹ã®ã©ã³ãã ãã¹ã¯ãŒããçæããŸããç¬èªã«èšå®ããå Žåã¯ãå¿ããã«èšå®ããŠãã ããã
Cuckooã¯å»æ¢ãããElastic 2ndããŒãžã§ã³ã䜿çšããŠããŸããããã«æ³šæãæãã誀ã£ãŠ5.x +ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããªãã§ãã ããã
sudo apt install mongodb -y sudo apt install postgresql libpq-dev -y sudo pip install psycopg2 db_passwd=$(date +%s | sha256sum | base64 | head -c 32 ; echo) echo "CREATE USER cuckoo WITH PASSWORD '$db_passwd';" | sudo -u postgres psql echo "CREATE DATABASE cuckoo;" | sudo -u postgres psql echo "GRANT ALL PRIVILEGES ON DATABASE cuckoo to cuckoo;" | sudo -u postgres psql wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list sudo apt update && sudo apt install elasticsearch -y sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo service elasticsearch stop cd /home/cuckoo/ sudo mkdir /home/cuckoo/ESData sudo chown root:elasticsearch ESData sudo chmod 777 /home/cuckoo/ESData sudo usermod -a -G elasticsearch cuckoo sudo bash -c "cat >> /etc/elasticsearch/elasticsearch.yml <<DELIM cluster.name: es-cuckoo node.name: es-node-n1 node.master: true node.data: true bootstrap.mlockall: true path.data: /home/cuckoo/ESData network.bind_host: 0.0.0.0 DELIM" sudo service elasticsearch start sudo curl -X PUT -d @'/home/cuckoo/.cuckoo/elasticsearch/template.json' 'http://localhost:9200/_template/cuckoo'
ãã+ã«ãŒã«
Yaraã®ææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããYaraã«ãŒã«ãCuckooã«è¿œå ããŸãã
cd /opt sudo apt install dh-autoreconf flex bison libjansson-dev libmagic-dev -y sudo wget https://github.com/VirusTotal/yara/archive/v3.7.1.tar.gz sudo tar -zxf v3.7.1.tar.gz cd yara-3.6.3/ sudo ./bootstrap.sh sudo ./configure --with-crypto --enable-cuckoo --enable-magic sudo make sudo make install sudo -H pip install -U yara-python cd /home/cuckoo/.cuckoo/yara/ su cuckoo sudo git clone https://github.com/lehuff/cuckoo-yara-rules.git sudo cp cuckoo-yara-rules/cuckoo-yara-rules.py . sudo rm -rf cuckoo-yara-rules sudo python cuckoo-yara-rules.py sudo chown -R cuckoo:cuckoo /home/cuckoo/.cuckoo/
SSDeep
SSDeepãã€ã³ã¹ããŒã«ããŸãã
cd /opt sudo -H pip install -U ssdeep sudo git clone https://github.com/bunzen/pySSDeep.git cd pySSDeep sudo python setup.py build sudo python setup.py install cd -
ãã©ãã£ãªãã£
Volatilityã®ã€ã³ã¹ããŒã«ã¯ç°¡åã§ãããvenvããCuckooãååŸããŠç¢ºèªããã®ã¯ããŸãè¯ããããŸãããCuckooãšãšãã«venvã«ã€ã³ã¹ããŒã«ããããšããªãã·ã§ã³ã§ã¯ãªããCuckooã©ã€ãã©ãªã®ããŒãžã§ã³ãäŸåé¢ä¿ã§å€æŽããŸãã 3è¡ç®ã¯ããã®åé¡ã解決ããæŸèæã§ããããå¿ å®ãªæ¹æ³ã§åéãäœãæ¹æ³ã誰ããèããŠããå Žåã¯ãæžããŠãã ããã
sudo apt install pcregrep libpcre++-dev -y sudo -H pip install -U git+https://github.com/kbandla/pydeep.git sudo apt install volatility -y cp -r /usr/lib/python2.7/dist-packages/volatility* /home/cuckoo/cuckoo/lib/python2.7/site-packages sudo chown cuckoo:cuckoo /home/cuckoo/cuckoo/lib/python2.7/site-packages/* mv /home/cuckoo/.cuckoo/signatures/windows/volatility_sig.py /home/cuckoo/.cuckoo/signatures/windows/volatility_sig.py.deactivate
TCPDump
TCPãã³ãã«å°éããŸããã
sudo apt install tcpdump apparmor-utils -y sudo aa-disable /usr/sbin/tcpdump sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump sudo chmod +s /usr/sbin/tcpdump
Teserract
ç°¡åã«ã»ããã¢ããã§ããæ¥ç¶ãã§ããŸãããOCRã®é
åã«æ°ä»ããŸããã§ããã
sudo apt install tesseract-ocr -y
PDFã®ãã©ã³ã
ãã®ããžãã¯PDFã¬ããŒãããªããšãã¬ããŒãã¯çæãããŸããã
sudo -H pip install -U cairocffi sudo apt install wkhtmltopdf xvfb xfonts-100dpi -y
Mitmproxy
SSLãã©ãã£ãã¯ãã¹ããŒãã³ã°ã§ããéåžžã«äŸ¿å©ãªã©ã€ãã©ãªã Cuckooã¯ããŒãžã§ã³0.18.2ããã±ãŒãžã®ã¿ãç解ããããšã«æ³šæããŠãã ããã
sudo apt install libarchive13 libxml2-dev libxslt1-dev -y sudo -H pip install -U mitmproxy==0.18.2 su cuckoo cd ~ mitmproxy + ctrl-c sudo cp ~/.mitmproxy/mitmproxy-ca-cert.p12 /home/cuckoo/.cuckoo/analyzer/windows/bin/cert.p12 sudo chown cuckoo:cuckoo /home/cuckoo/.cuckoo/analyzer/windows/bin/cert.p12 exit
Tor
ããã§ã¯ãã¹ãŠãéåžžã«ç°¡åã§ãã
sudo apt install tor -y sudo sh -c 'echo TransPort 192.168.56.1:9040 >> /etc/tor/torrc' sudo sh -c 'echo DNSPort 192.168.56.1:5353 >> /etc/tor/torrc'
ãããã
æåã¯ãç·šéããå¿
èŠã®ããæ§æãšå Žæãèšè¿°ãããã£ãã®ã§ãããSuricataãå
æããŠäœæ¥ã®ãã¹ãŠã®æ¬ é¥ãåãé€ãããšãã§ããããã«ãªããŸã§ã«ãæ§æã«å¯ŸããŠå€ãã®ç·šéãè¡ããã0ãææžåããããããæ§æå
šäœãå
¬éããŸãã ããã«ãå
ã®ã«ãŒã«ãã¡ã€ã«ã¯å€æŽãããŸããã
sudo add-apt-repository ppa:oisf/suricata-stable sudo apt update && sudo apt install suricata -y echo "alert http any any -> any any (msg:\"FILE store all\"; filestore; noalert; sid:15; rev:1;)" | sudo tee /etc/suricata/rules/cuckoo.rules sudo touch /etc/suricata/suricata-cuckoo.yaml
/etc/suricata/suricata-cuckoo.yaml %YAML 1.1 --- vars: address-groups: HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" EXTERNAL_NET: "any" HTTP_SERVERS: "$HOME_NET" SMTP_SERVERS: "$HOME_NET" SQL_SERVERS: "$HOME_NET" DNS_SERVERS: "$HOME_NET" TELNET_SERVERS: "$HOME_NET" AIM_SERVERS: "$EXTERNAL_NET" DNP3_SERVER: "$HOME_NET" DNP3_CLIENT: "$HOME_NET" MODBUS_CLIENT: "$HOME_NET" MODBUS_SERVER: "$HOME_NET" ENIP_CLIENT: "$HOME_NET" ENIP_SERVER: "$HOME_NET" port-groups: HTTP_PORTS: "80" SHELLCODE_PORTS: "!80" ORACLE_PORTS: 1521 SSH_PORTS: 22 DNP3_PORTS: 20000 MODBUS_PORTS: 502 FILE_DATA_PORTS: "[$HTTP_PORTS,110,143]" FTP_PORTS: 21 default-rule-path: /etc/suricata/rules rule-files: - botcc.rules - ciarmy.rules - compromised.rules - drop.rules - dshield.rules - emerging-attack_response.rules - emerging-chat.rules - emerging-current_events.rules - emerging-dns.rules - emerging-dos.rules - emerging-exploit.rules - emerging-ftp.rules - emerging-imap.rules - emerging-malware.rules - emerging-misc.rules - emerging-mobile_malware.rules - emerging-netbios.rules - emerging-p2p.rules - emerging-policy.rules - emerging-pop3.rules - emerging-rpc.rules - emerging-scan.rules - emerging-smtp.rules - emerging-snmp.rules - emerging-sql.rules - emerging-telnet.rules - emerging-tftp.rules - emerging-trojan.rules - emerging-user_agents.rules - emerging-voip.rules - emerging-web_client.rules - emerging-web_server.rules - emerging-worm.rules - tor.rules - http-events.rules - smtp-events.rules - dns-events.rules - tls-events.rules classification-file: /etc/suricata/classification.config reference-config-file: /etc/suricata/reference.config default-log-dir: /var/log/suricata/ stats: enabled: yes interval: 8 outputs: - fast: enabled: no filename: fast.log append: yes - eve-log: enabled: yes filetype: regular filename: eve.json types: - alert: metadata: yes tagged-packets: yes xff: enabled: no mode: extra-data deployment: reverse header: X-Forwarded-For - http: extended: yes - dns: query: yes answer: yes - tls: extended: yes - files: force-magic: no - smtp: - ssh - stats: totals: yes threads: no deltas: no= - flow - unified2-alert: enabled: no filename: unified2.alert xff: enabled: no mode: extra-data deployment: reverse header: X-Forwarded-For - http-log: enabled: no filename: http.log append: yes - tls-log: enabled: no filename: tls.log append: yes - tls-store: enabled: no - dns-log: enabled: no filename: dns.log append: yes - pcap-log: enabled: no filename: log.pcap limit: 1000mb max-files: 2000 mode: normal use-stream-depth: no honor-pass-rules: no - alert-debug: enabled: no filename: alert-debug.log append: yes - alert-prelude: enabled: no profile: suricata log-packet-content: no log-packet-header: yes - stats: enabled: yes filename: stats.log totals: yes threads: no - syslog: enabled: no facility: local5 - drop: enabled: yes filename: drop.log append: yes - file-store: enabled: yes log-dir: files force-magic: no force-filestore: no - file-log: enabled: yes filename: files-json.log append: yes force-magic: no - tcp-data: enabled: no type: file filename: tcp-data.log - http-body-data: enabled: no type: file filename: http-data.log - lua: enabled: no scripts: logging: default-log-level: notice default-output-filter: outputs: - console: enabled: yes - file: enabled: yes level: info filename: /var/log/suricata/suricata.log - syslog: enabled: no facility: local5 format: "[%i] <%d> -- " af-packet: - interface: eth0 cluster-id: 99 cluster-type: cluster_flow defrag: yes - interface: default pcap: - interface: eth0 - interface: default pcap-file: checksum-checks: auto app-layer: protocols: tls: enabled: yes detection-ports: dp: 443 dcerpc: enabled: yes ftp: enabled: yes ssh: enabled: yes smtp: enabled: yes mime: decode-mime: yes decode-base64: yes decode-quoted-printable: yes header-value-depth: 2000 extract-urls: yes body-md5: no inspected-tracker: content-limit: 100000 content-inspect-min-size: 32768 content-inspect-window: 4096 imap: enabled: detection-only msn: enabled: detection-only smb: enabled: yes detection-ports: dp: 139, 445 nfs: enabled: no dns: tcp: enabled: yes detection-ports: dp: 53 udp: enabled: yes detection-ports: dp: 53 http: enabled: yes request-body-limit: 0 response-body-limit: 0 libhtp: default-config: personality: IDS request-body-limit: 100kb response-body-limit: 100kb request-body-minimal-inspect-size: 32kb request-body-inspect-window: 4kb response-body-minimal-inspect-size: 40kb response-body-inspect-window: 16kb response-body-decompress-layer-limit: 2 http-body-inline: auto double-decode-path: no double-decode-query: no server-config: modbus: enabled: no detection-ports: dp: 502 stream-depth: 0 dnp3: enabled: no detection-ports: dp: 20000 enip: enabled: no detection-ports: dp: 44818 sp: 44818 ntp: enabled: no asn1-max-frames: 256 coredump: max-dump: unlimited host-mode: auto unix-command: enabled: yes filename: custom.socket legacy: uricontent: enabled engine-analysis: rules-fast-pattern: yes rules: yes pcre: match-limit: 3500 match-limit-recursion: 1500 host-os-policy: windows: [0.0.0.0/0] bsd: [] bsd-right: [] old-linux: [] linux: [] old-solaris: [] solaris: [] hpux10: [] hpux11: [] irix: [] macos: [] vista: [] windows2k3: [] defrag: memcap: 32mb hash-size: 65536 trackers: 65535 max-frags: 65535 prealloc: yes timeout: 60 flow: memcap: 128mb hash-size: 65536 prealloc: 10000 emergency-recovery: 30 vlan: use-for-tracking: true flow-timeouts: default: new: 30 established: 300 closed: 0 bypassed: 100 emergency-new: 10 emergency-established: 100 emergency-closed: 0 emergency-bypassed: 50 tcp: new: 60 established: 600 closed: 60 bypassed: 100 emergency-new: 5 emergency-established: 100 emergency-closed: 10 emergency-bypassed: 50 udp: new: 30 established: 300 bypassed: 100 emergency-new: 10 emergency-established: 100 emergency-bypassed: 50 icmp: new: 30 established: 300 bypassed: 100 emergency-new: 10 emergency-established: 100 emergency-bypassed: 50 stream: memcap: 64mb checksum-validation: yes inline: auto reassembly: memcap: 256mb depth: 0 toserver-chunk-size: 2560 toclient-chunk-size: 2560 randomize-chunk-size: yes host: hash-size: 4096 prealloc: 1000 memcap: 32mb decoder: teredo: enabled: true detect: profile: medium custom-values: toclient-groups: 3 toserver-groups: 25 sgh-mpm-context: auto inspection-recursion-limit: 3000 prefilter: default: mpm grouping: profiling: grouping: dump-to-disk: false include-rules: false include-mpm-stats: false mpm-algo: auto spm-algo: auto threading: set-cpu-affinity: no cpu-affinity: - management-cpu-set: cpu: [ 0 ] - receive-cpu-set: cpu: [ 0 ] - worker-cpu-set: cpu: [ "all" ] mode: "exclusive" prio: low: [ 0 ] medium: [ "1-2" ] high: [ 3 ] default: "medium" detect-thread-ratio: 1.0 luajit: states: 128 profiling: rules: enabled: yes filename: rule_perf.log append: yes limit: 10 json: yes keywords: enabled: yes filename: keyword_perf.log append: yes rulegroups: enabled: yes filename: rule_group_perf.log append: yes packets: enabled: yes filename: packet_stats.log append: yes csv: enabled: no filename: packet_stats.csv locks: enabled: no filename: lock_stats.log append: yes pcap-log: enabled: no filename: pcaplog_stats.log append: yes nfq: nflog: - group: 2 buffer-size: 18432 - group: default qthreshold: 1 qtimeout: 100 max-size: 20000 capture: netmap: - interface: eth2 - interface: default pfring: - interface: eth0 threads: 1 cluster-id: 99 cluster-type: cluster_flow - interface: default ipfw: napatech: hba: -1 use-all-streams: yes streams: ["0-3"] mpipe: load-balance: dynamic iqueue-packets: 2048 inputs: - interface: xgbe2 - interface: xgbe3 - interface: xgbe4 stack: size128: 0 size256: 9 size512: 0 size1024: 0 size1664: 7 size4096: 0 size10386: 0 size16384: 0 cuda: mpm: data-buffer-size-min-limit: 0 data-buffer-size-max-limit: 1500 cudabuffer-buffer-size: 500mb gpu-transfer-size: 50mb batching-timeout: 2000 device-id: 0 cuda-streams: 2
ãããŠæåŸã«ãæš©å©ãä¿®æ£ããŸãããã
sudo mkdir /var/run/suricata sudo chown cuckoo:cuckoo /var/run/suricata sudo chown -R cuckoo:cuckoo /etc/suricata sudo chown -R cuckoo:cuckoo /var/log/suricata sudo touch /etc/suricata/threshold.config
ETupdate
Suricataã³ãã¥ããã£çœ²åã®èªåæŽæ°ãæ§æããŸãã
cd /opt sudo git clone https://github.com/seanthegeek/etupdate.git sudo cp etupdate/etupdate /usr/sbin sudo /usr/sbin/etupdate -V sudo crontab -e 0 0 * * * /usr/sbin/etupdate -V
錻氎
Suricataãããä¿¡é ŒããŠããã®ã§ãã«ãŒã«ãè¿œå ããŸããã§ããã
sudo apt install snort -y
æ§ææã«ãããã©ã«ãã®ã€ã³ã¿ãŒãã§ãŒã¹ãšãµãããã192.168.0.0/16ãæå®ããŸãã
sudo chown -R cuckoo:cuckoo /etc/snort/ sudo chown -R cuckoo:cuckoo /var/log/snort/
VMcloakããã³Windows 7 SP1 X64
VM Cuckooã®èªåå±éã«æã䟿å©ãªããã°ã©ã ã ããã«ããæéã¯å€§å¹
ã«ççž®ãããŸãããäœæè
ã¯äœæ¥ããžãã¯ãæžãçŽãããã¡ããããã¥ã¡ã³ããæŽæ°ããŸããã§ããã VMcloakã§ã®äœæ¥ã®ãã¹ãŠã®åã³ãç解ãã次ã«äœãããããç解ããã«ã¯ã GitHubã®ãŠãŒãã£ãªãã£ã³ãŒãã調ã¹ããã å€ãããã¥ã¡ã³ããèªãããšããå§ãããŸãã
æã泚ææ·±ãããŒã«ãŒã¯ã httpsïŒ//github.com/jbremer/vmcloakãããžã§ã¯ãã®å
¬åŒãªããžããªãhttps://github.com/tweemeterjop/vmcloakã¹ã¯ãªããã§ä»¥äžã§äœ¿çšãããŠãããã®ãšç°ãªãããšã«æ°ä»ãã§ãããã ãã©ãŒã¯ã«é¢ããŠããªãªãžãã«ã¯vRDEãå«ããæ¹æ³ãç¥ããŸããã§ãã-ã«ã¹ã¿ã ã²ã¹ãVMã§ã®RDPãããã³ã«ã®å®è£
ã
ããããæ£ãããªãã·ã§ã³ã¯ãå
ã®ã³ãŒããååŸããŠvRDEãçµäºããããšã§ããããã©ãŒã¯ãå
ã®ã³ãŒãããããã»ã©é ããªãå Žåã¯ã以äžã®ããã«ãã©ãŒã¯ã䜿çšã§ããŸãã ã»ããã¢ããæã«ããªããžããªãšãã®ãã©ãŒã¯ã«ã¯å®è³ªçã«éãã¯ãããŸããã§ããã
ç§èªèº«ã®çµéšããã話ãããŸã-vRDEãå¿
èŠã§ããã¿ãŒã²ããã®æ»æããã¥ã¡ã³ããWordãã¹ã¯ãŒãã§ä¿è·ãããŠããããµã³ãããã¯ã¹ã§ãŠã€ã«ã¹ãæ©èœããããã«ãã¹ã¯ãŒããå
¥åããå¿
èŠãããããã€ã³ã¹ããŒã«ããå¿
èŠã®ããã€ã³ã¹ããŒã©ãŒã«ãŠã€ã«ã¹ãæ®ã£ãŠããŸãã vRDEããªããã°ãããã«ã¯åé¡ããããŸãã ãŸããvRDE OSãããã«æ§æããã«ã¯ããããå¿
èŠã«ãªããŸãã
cd /opt sudo apt install libyaml-dev libpython2.7-dev genisoimage -y sudo git clone -b vrde https://github.com/tweemeterjop/vmcloak.git cd vmcloak/ sudo cp /home/cuckoo/.cuckoo/agent/agent.py vmcloak/data/bootstrap/ sudo -H pip install -r requirements.txt sudo python setup.py install cd .. sudo mkdir -p /mnt/win7 sudo mount -o loop,ro ~/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso /mnt/win7/ sudo vmcloak-vboxnet0 sudo vmcloak-iptables 192.168.56.0/24 ens160 cd /home/cuckoo su cuckoo vmcloak init --vrde --resolution 1280x1024 --ramsize 4096 --win7_x64 --product professional --cpus 2 win7x64 vmcloak install --vrde win7_x64 python27 pillow adobepdf chrome cuteftp dotnet40 flash java silverlight vcredist wic vmcloak modify --vrde win7_x64
Windows 7ãæ§æãã
åŸ
vmcloak modify --vrde win7_x64
VMãèµ·åããRDPçµç±ã§æ¥ç¶ã§ããŸãã Win10ã䜿çšããŠããå Žå-ãªã¢ãŒããã¹ã¯ãããã®ã¿ã€ã«ã¢ããªã±ãŒã·ã§ã³ã䜿çšããªãã§ãã ãããæ¥ç¶ããŠãŒã¶ãŒåãšãã¹ã¯ãŒããªãã§VMã«æ¥ç¶ããããšãstè¿·ãšãã©ã³ã¹ç¶æ
ã«é¥ããŸãã
ãªã¹ãã®æ¬¡ã®é
ç®ã¯ãªãã·ã§ã³ã§ããã誀æ€ç¥ã®æ°ãæžããããã«ãŠã§ã¢ã®äœæ¥ãç°¡çŽ åããããã«ã次ã®ãã¹ãŠãç¡å¹ïŒãŸãã¯æå¹ïŒã«ããããšããå§ãããŸãã ä»äºäžã®ãã¹ãŠã®åŸæ¥å¡ã䜿çšããã²ã¹ãVMã«ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããã
ã¬ããŒãã®è¿œå ããŒã¿ã®äŸïŒ

æ°ã¥ãã§ãããïŒ æ¬¡ã®ãã¹ãŠã¯ãWindows 7 SP1 x64ã§ã®ã¿å®è¡ããå¿
èŠããããŸããä»ã®OSã§ã¯ãã¢ã¯ã·ã§ã³ãç°ãªãå ŽåããããŸãã
æ°ãããµã³ãããã¯ã¹ã䜿çšããŠãã°ããããŠãããç§ã®ãªã¹ãã«ã¯æ¬¡ã®é
ç®ãå«ãŸããããã«ãªããŸããã
UDPããŒã1900ã§Windows MessengerãããŒããã£ã¹ããç¡å¹ã«ãã
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ DirectPlayNATHelp \ DPNHUPnPããŒåïŒUPnPModeã¿ã€ãïŒREG_DWORDå€ïŒ2
Cuckooãx64ã§æ£ããåäœããããã«ãx64ãã©ã€ããŒæ€èšŒãç¡å¹ã«ããŸã
cmd-bcdedit.exe / nointegritychecksããªã³ã«èšå®
NCSIãç¡å¹ã«ãã
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet key EnableActiveProbingã¿ã€ãïŒREG_DWORDå€ïŒ0
teredo.ipv6.microsoft.comãç¡å¹ã«ããŸã
cmd-netshã€ã³ã¿ãŒãã§ã€ã¹ã®teredoã»ããç¶æ
ãç¡å¹ã§ã
IPv6ãç¡å¹ã«ãã
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters \ããŒãè¿œå ããDWORDDisabled DisabledComponents 8
- Tredoãããã¯ãŒã¯ã¢ããã¿ãŒã§ç¡å¹ã«ãã
- Adobe ReaderãFlash PlayerãMS Officeã®èªåããŒããç¡å¹ã«ããŸã
- Chromeã¢ããããŒããç¡å¹ã«ãã
- In ChromeïŒ//ãã©ã°ã€ã³ã¯è匱ãªãã©ãã·ã¥ã®èµ·åãèš±å¯
- Chromeèšå®ã§ãã³ã³ãã³ãèšå®ã®ãã¹ãŠãèš±å¯ãã
- HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Googleãã©ã³ãã§ãUpdateãåé€ããŸã
- FPãUPnPãSSDPãµãŒãã¹ãç¡å¹ã«ãã
- ã¯ãã ãããã©ã«ãã®ãã©ãŠã¶ãšããŠèšå®
- 空ã®Chromeã¹ã¿ãŒãããŒãžãèšå®ãã
- Chromeã®ãã©ã€ãã·ãŒèšå®ãç¡å¹ã«ãã
- FileZillaãã€ã³ã¹ããŒã«ãã
- NTPãšã®åæããªãã«ããŸã
- ã»ãã¥ã¢ãã¥ãŒãªãã£ã¹ãç¡å¹ã«ããïŒããŒã¿å®è¡é²æ¢ã¢ãŒãïŒ
- ãªãã£ã¹ã®ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§èªåå®è¡ãã¯ããèš±å¯ãã
ç¬èªã®OSåãã«ç¬èªã®åœä»€ãã³ã³ãã€ã«ããã·ãŒã±ã³ã¹ïŒ
- ãµã³ãããã¯ã¹å
ã®æ£åœãªå®è¡å¯èœãã¡ã€ã«ã確èªããŸãã
- ããšãã°ãtime.microsoft.comãžã®ã¢ããŒã«ãªã©ãè¿œå æ
å ±ã衚瀺ãããå Žæãšã¿ãã確èªããŸãã
- Googleãéããç¡å¹ã«ããæ¹æ³ã確èªããŸãã
- æžã蟌ã¿ããªãã«ããŸãã
Cuckooãžã®VMã®è¿œå
æ°ããæ§æãããã²ã¹ãOSã®ã¹ãããã·ã§ãããäœæããCuckooã«è¿œå ãããšåæã«ãããªã€ã³ã¹ããŒã«ãããVM cuckoo1ãæ§æããåé€ããŸãã
vmcloak snapshot win7_x64 win7_x64node1 192.168.56.101 . /home/cuckoo/cuckoo/bin/activate cuckoo machine --add win7x64node1 192.168.56.101 --platform windows --snapshot vmcloak cuckoo machine --delete cuckoo1 deactivate
ã¢ãã¯
ãããã¯ãŒã¯ãã©ãã£ãã¯ãæäœããããã®æãã¯ãŒã«ãªããŒã«ã ä»ã®ãããã¯ãŒã¯ã¢ãã©ã€ã¶ãŒãšã¯ç°ãªããMolochã®è³ãã¯ãå€ãã®æ©èœãã¿ã€ã ã©ã€ã³ãã°ã©ããªã©ãåããåæããŒã«ãããã«åºã¥ããŠããŸãã ç§ã¯éåžžã«æè¿ããã«ã€ããŠåŠã³ããã®åã«ããŸã䟿å©ã§ã¯ãªããã«ã³ã ã䜿çšããããšãéåžžã«æ®å¿µã«æããŸãã Molochã®äž»ãªå©ç¹ã®1ã€ã¯ãCuckooããã®ãã¹ãŠã®ã¹ãã£ã³ã®ãã¹ãŠã®ãããã¯ãŒã¯ãã±ãããäžåºŠã«çµã¿åãããŠåæã§ããããšã§ãã ãããšãElasticsearchãšé£æºããããšã§ãMolochã¯èšå€§ãªéã®ããŒã¿ãåŠçã§ããŸãã
ããã¯ããã®çŸãããã©ã®ããã«èŠãããã§ãïŒå
¬åŒãªããžããªã®ç»é¢ïŒïŒ

ãŸãããããã€ã³ã¹ããŒã«ããŸãã
sudo apt install libjson-perl -y cd /opt sudo wget https://files.molo.ch/builds/ubuntu-16.04/moloch_0.20.2-2_amd64.deb sudo dpkg -i moloch_0.20.2-2_amd64.deb sudo /data/moloch/bin/Configure
次ã«ãvboxnet0ã€ã³ã¿ãŒãã§ã€ã¹ãMolochãã°ã€ã³ãšãã¹ã¯ãŒããElasticsearch IPã¢ãã¬ã¹ãæå®ããå¿
èŠããããŸãã
sudo /data/moloch/db/db.pl http://localhost:9200 init sudo /data/moloch/bin/moloch_add_user.sh cuckoo cuckoo cuckoosandbox --admin
InetSim
ä»®æ³ããŒã«ã«ãããã¯ãŒã¯ãã€ã³ã¹ããŒã«ããŠããŠã€ã«ã¹ããµã³ãããã¯ã¹ã«åç¬ã§ååšããªãããã«ããŸãã ãšãã¥ã¬ãŒãããããµãŒãã¹ã®èšå®ã¯ããã©ã«ãã®ãŸãŸã§ã18ã®ãšãã¥ã¬ãŒãããããµãŒãã¹ãWebãé€ããŠå€æããŸããã
sudo su echo "deb http://www.inetsim.org/debian/ binary/" > /etc/apt/sources.list.d/inetsim.list wget -O - http://www.inetsim.org/inetsim-archive-signing-key.asc | apt-key add - apt update apt install inetsim exit
/etc/inetsim/inetsim.confæ§æã§ã¯ãCuckooãšç«¶åããªãããã«ãHTTPããã³HHTPS WebãµãŒãã¹ãã³ã¡ã³ãã¢ãŠãããå¿
èŠããããŸãã
IRMA

ã¬ããŒããElasticsearchã«ã¢ããããŒãããåé¡ã®ãããIRMAã¯ãµã³ãããã¯ã¹ãšçµ±åãããŠããŸããã ããããããã¯ãŠãŒãã£ãªãã£ã®å±éãšãã¹ãã劚ãããã®ã§ã¯ãããŸããã IRMAã¯Vagrantã§ã³ã³ãã€ã«ããã Ansibleã®å³å¯ã«ããŒãžã§ã³2.2.1.0ãä»ããŠèªåçã«å±éãããŸãã
sudo apt install vagrant -y cd /opt sudo wget https://releases.hashicorp.com/vagrant/2.0.2/vagrant_2.0.2_x86_64.deb sudo dpkg -i vagrant_2.0.2_x86_64.deb sudo -H pip install -U ansible==2.2.1.0
IRMAãããŠã³ããŒãããŸãã
sudo git clone https://github.com/quarkslab/irma cd irma/ansible
/ opt / irma / ansible / Vagrantfileããã¡ã€ã«ã«è¿œå ããŠãVMããããŒã8080ãžã®ãªãã€ã¬ã¯ããè¿œå ããŸã
19è¡ç®ïŒ
config.vm.network "forwarded_port", guest: 80, host: 8080
IRMAãã€ã³ã¹ããŒã«ããŸãã
sudo vagrant up
ãããŒ
HoneyDã¯ãæãå€ããæãæ©èœçãªãããããã§ãã æ¬ ç¹ã¯1ã€ã ãã§ããæ°å¹Žåã«æŽæ°ãåæ¢ããŸããã é©åãªãã©ãŒã¯ãèŠã€ããããã®ã¹ãã«ãæ£åžžã«é©çšãããåŸã Ansibleãä»ããŠHoneyDãã€ã³ã¹ããŒã«ããæ¯èŒçæ°ããããŒãžã§ã³ãèŠã€ãã£ããããæ¥ãã§äœ¿çšããŸããã ãããããã§ã¯ã1ã€ã®ãã¹ãã®ã¿ãæ§æããŸããã å
¬åŒããã¥ã¢ã«ã䜿çšããŠãå°ãªããšããµããããå
šäœãæ§æã§ããŸãã
cd /opt/ sudo git clone https://github.com/Bifrozt/honeyd-ansible.git cd honeyd-ansible/ sudo ansible-playbook honeyd.yml sudo touch /usr/share/honeyd/config.conf
èšå®ãä¿åããŸãã
/usr/share/honeyd/config.conf create default set default default tcp action filtered set default default udp action filtered set default default icmp action filtered create windows set windows personality "Microsoft Windows XP Professional SP3" set windows uptime 1728650 set windows maxfds 35 set windows default tcp action reset add windows tcp port 135 open add windows tcp port 139 open add windows tcp port 445 open set windows ethernet "08:00:27:81:1d:0c" bind 192.168.56.103 windows
WebãµãŒããŒ
Nginxãã€ã³ã¹ããŒã«ãã蚌ææžãçæããhttp2ãµããŒããæå¹ã«ããŸãã
sudo add-apt-repository ppa:nginx/development sudo apt update sudo apt install nginx -y sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 sudo mkdir /etc/nginx/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt sudo -H pip install -U uwsgi cd /home/cuckoo/ sudo mkdir /var/log/uwsgi/ sudo mkdir /etc/uwsgi sudo chown cuckoo:cuckoo /var/log/uwsgi/ sudo chown cuckoo:cuckoo /etc/uwsgi/ su cuckoo
次ã«ãUWSGIæ§æãè¿œå ããŸãã
/etc/uwsgi/cuckoo.ini [uwsgi] plugins = python socket = /tmp/uwsgi.sock chmod-socket = 664 master = true processes = 4 virtualenv = /home/cuckoo/cuckoo module = cuckoo.web.web.wsgi uid = cuckoo gid = cuckoo static-map = /static=/home/cuckoo/cuckoo/local/lib/python2.7/site-packages/cuckoo/web/static env = CUCKOO_APP=web env = CUCKOO_CWD=/home/cuckoo/.cuckoo
ãããŠnginxã®èšå®ãIPãšãµã€ãåã®å€æŽïŒ
/ etc / nginx / sites-available / cuckoo-web upstream _uwsgi_cuckoo_web { server unix:/tmp/uwsgi.sock; } server { listen 80; listen [::]:80; server_name cuckoo.test.ru; return 301 https://10.0.0.3$request_uri; server_tokens off; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name cuckoo.test.ru; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=15768000"; ssl_stapling on; ssl_stapling_verify on; server_tokens off; location / { client_max_body_size 1G; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; uwsgi_pass _uwsgi_cuckoo_web; include uwsgi_params; } }
ããã§ãwww-dataãŠãŒã¶ãŒãcuckooã°ã«ãŒãã«è¿œå ããsimlinkã«ããæ§æãæå¹ã«ããŸãã
sudo adduser www-data cuckoo sudo ln -s /etc/nginx/sites-available/cuckoo-web /etc/nginx/sites-enabled/ sudo systemctl reload nginx
ã«ãã³ãŠã®æ§æ
ãããŠæåŸã«ãæãéèŠãªããš-ãµã³ãããã¯ã¹ã«åéããããã¹ãŠãçµåããŸãã é·ãéäœãèµ·ãã£ãŠãããã説æããããã«ãããã¯ç¡æå³ã§ããããã©ã¡ãŒã¿ãŒã®85ïŒ
ãçŽæçã§ããäžéšã®ãã©ã¡ãŒã¿ãŒãç解ããã®ãå°é£ãªå Žåã¯ã96ããŒãžããå§ãŸãå
¬åŒããã¥ã¡ã³ãã䜿çšããããšããå§ãããŸãã ãŸãã¯ãäž»ãªããšã¯ç§ã®æåŸã®èšäºãèŠãããšã§ãã 以äžã®ç§ã®ãã¡ã€ã«ãã³ããŒããŠäœ¿çšããããšã¯ææªã®ãªãã·ã§ã³ã§ã¯ãããŸããããããªãèªèº«ã®å±éºãšãªã¹ã¯ããããŸãã
/home/cuckoo/.cuckoo/conf/auxiliary.conf [sniffer] enabled = yes tcpdump = /usr/sbin/tcpdump bpf = [mitm] enabled = yes mitmdump = /usr/local/bin/mitmdump port_base = 50000 script = mitm.py certificate = bin/cert.p12 [services] enabled = yes services = honeyd timeout = 0 [reboot] enabled = yes
/home/cuckoo/.cuckoo/conf/cuckoo.conf [cuckoo] version_check = yes delete_original = no delete_bin_copy = no machinery = virtualbox memory_dump = yes terminate_processes = no reschedule = no process_results = yes max_analysis_count = 0 max_machines_count = 0 max_vmstartup_count = 10 freespace = 1024 tmppath = rooter = /tmp/cuckoo-rooter [feedback] enabled = no name = company = email = [resultserver] ip = 192.168.56.1 port = 2042 force_port = no upload_max_size = 134217728 [processing] analysis_size_limit = 134217728 resolve_dns = yes sort_pcap = yes [database] connection = postgresql://cuckoo:Supersecretpassword4habr@localhost:5432/cuckoo timeout = 60 [timeouts] default = 120 critical = 60 vm_state = 60
/home/cuckoo/.cuckoo/conf/memory.conf [basic] guest_profile = Win7SP1x64 delete_memdump = yes [malfind] enabled = yes filter = yes [apihooks] enabled = no filter = yes [pslist] enabled = yes filter = no [psxview] enabled = yes filter = no [callbacks] enabled = yes filter = no [idt] enabled = yes filter = no [timers] enabled = yes filter = no [messagehooks] enabled = no filter = no [getsids] enabled = yes filter = no [privs] enabled = yes filter = no [dlllist] enabled = yes filter = yes [handles] enabled = yes filter = yes [ldrmodules] enabled = yes filter = yes [mutantscan] enabled = yes filter = yes [devicetree] enabled = yes filter = yes [svcscan] enabled = yes filter = yes [modscan] enabled = yes filter = yes [yarascan] enabled = yes filter = yes [ssdt] enabled = yes filter = yes [gdt] enabled = yes filter = yes [sockscan] enabled = yes filter = no [netscan] enabled = no filter = no [mask] enabled = no pid_generic =
/home/cuckoo/.cuckoo/conf/processing.conf [analysisinfo] enabled = yes [apkinfo] enabled = no decompilation_threshold = 5000000 [baseline] enabled = no [behavior] enabled = yes [buffer] enabled = yes [debug] enabled = yes [droidmon] enabled = no [dropped] enabled = yes [dumptls] enabled = yes [extracted] enabled = yes [googleplay] enabled = no android_id = google_login = google_password = [memory] enabled = yes [misp] enabled = no url = apikey = maxioc = 100 [network] enabled = yes whitelist_dns = no allowed_dns = [procmemory] enabled = yes idapro = no extract_img = no extract_dll = no dump_delete = no [procmon] enabled = yes [screenshots] enabled = yes tesseract = /usr/bin/tesseract [snort] enabled = yes snort = /usr/sbin/snort conf = /etc/snort/snort.conf [static] enabled = yes pdf_timeout = 60 [strings] enabled = yes [suricata] enabled = yes suricata = /usr/bin/suricata conf = /etc/suricata/suricata-cuckoo.yaml eve_log = eve.json files_log = files-json.log files_dir = files socket = [targetinfo] enabled = yes [virustotal] enabled = yes timeout = 60 scan = yes key = virustotal [irma] enabled = no timeout = 300 scan = yes force = yes url = http://172.16.1.30
/home/cuckoo/.cuckoo/conf/reporting.conf [feedback] enabled = no [jsondump] enabled = yes indent = 4 calls = yes [singlefile] enabled = yes html = no pdf = yes [misp] enabled = no url = apikey = mode = maldoc ipaddr hashes url [mongodb] enabled = yes host = 127.0.0.1 port = 27017 db = cuckoo store_memdump = yes paginate = 100 username = password = [elasticsearch] enabled = yes hosts = 127.0.0.1 timeout = 300 calls = no index = cuckoo index_time_pattern = yearly cuckoo_node = [moloch] enabled = yes host = 10.0.0.3:8005 insecure = no moloch_capture = /data/moloch/bin/moloch-capture conf = /data/moloch/etc/config.ini instance = cuckoo [notification] enabled = no url = identifier = [mattermost] enabled = no url = myurl = username = cuckoo show_virustotal = no show_signatures = no show_urls = no hash_filename = no hash_url = no
/home/cuckoo/.cuckoo/conf/routing.conf [routing] route = none internet = ens160 rt_table = main auto_rt = yes drop = no [inetsim] enabled = yes server = 192.168.56.1 [tor] enabled = yes dnsport = 5353 proxyport = 9040 [vpn] enabled = no vpns = vpn0 [vpn0] name = vpn0 description = Spain, Europe interface = tun0 rt_table = tun0
/home/cuckoo/.cuckoo/conf/virtualbox.conf [virtualbox] mode = headless path = /usr/bin/VBoxManage interface = vboxnet0 machines = win7_x64node1 [win7_x64node1] label = win7_x64node1 platform = windows ip = 192.168.56.101 snapshot = vmcloak interface = resultserver_ip = 192.168.56.1 resultserver_port = 2042 tags = options = osprofile = Win7SP1x64 [honeyd] label = honeyd platform = linux ip = 192.168.56.103 tags = service, honeyd options = nictrace noagent
ã«ãã³ãŠã®ã¹ã¿ãŒãã¢ãããšãµãŒãã¹
次ã«ãåé»ãçºçãããã³ã«ãäžå¿
èŠãªæ¯æŽãªãã§ãµãŒãã¹ãèªåçã«èµ·åããããã«ããŸãã
ã¹ãŒããŒãã€ã¶ãŒãã€ã³ã¹ããŒã«ããCuckooã¹ã¿ãŒãã¢ããæ§æãè¿œå ããŸãã
sudo apt install supervisor -y sudo systemctl stop supervisor
ã¹ãŒããŒãã€ã¶ãŒãã¡ã€ã«ãäœæããŸãã
/etc/supervisor/conf.d/vmcloak-internet.conf [program:vmcloak-vboxnet0] command=vmcloak-vboxnet0 directory=/usr/local/bin/ [program:vmcloak-ifconfig] command=vmcloak-iptables 192.168.56.0/24 ens160 directory=/usr/local/bin/ [group:vmcloak-internet] programs = vmcloak-vboxnet0, vmcloak-ifconfig
/etc/supervisor/conf.d/cuckoo.conf [program:cuckoo-rooter] command = /home/cuckoo/cuckoo/bin/cuckoo rooter --sudo autorestart = true [program:cuckoo-daemon] command = /home/cuckoo/cuckoo/bin/cuckoo -d -m 10000 user = cuckoo startsecs = 30 autorestart = true [program:cuckoo-process] command = /home/cuckoo/cuckoo/bin/cuckoo process p%(process_num)d process_name = cuckoo-process_%(process_num)d numprocs = 4 user = cuckoo autorestart = true [group:cuckoo] programs = cuckoo-rooter, cuckoo-daemon, cuckoo-process [program:distributed] command = /home/cuckoo/cuckoo/bin/python -m cuckoo.distributed.worker user = cuckoo autostart = false autorestart = true environment = CUCKOO_APP="worker",CUCKOO_CWD="/home/cuckoo/.cuckoo"
/etc/supervisor/conf.d/uwsgi.conf [program:uwsgi] user = cuckoo directory = /usr/bin command = bash -c 'sleep 5 && uwsgi --ini /etc/uwsgi/cuckoo.ini' autorestart = true stderr_logfile = /var/log/uwsgi/uwsgi-err.log stdout_logfile = /var/log/uwsgi/uwsgi-out.log stopsignal = QUIT
ãããŠé©çšïŒ
sudo systemctl restart supervisor sudo supervisorctl -c /etc/supervisor/supervisord.conf reload
æ®ãã®ãµãŒãã¹ãèµ·åããããã®ã¹ã¯ãªãããäœæããŸãïŒã¹ãŒããŒãã€ã¶ãŒãä»ããŠæ§æããããšã¯å¯èœã§ããããã®ãšã¬ã¬ã³ããªãœãªã¥ãŒã·ã§ã³ãé©çšã§ããªããã°ãããã€ããããŸããïŒã
/opt/serv.sh sleep 30 sudo systemctl start molochcapture.service sudo systemctl start molochviewer.service sudo inetsim cd /opt/irma/ansible/ sudo vagrant up sudo honeyd -f /usr/share/honeyd/config.conf -i vboxnet0
ãããŠãã¯ã©ãŠã³ã«è¿œå ããŸãã
sudo chmod +x serv.sh sudo crontab -e @reboot /bin/sh /opt/serv.sh
ã«ãã³ãŠã®åŸã«çåœã¯ãããŸããïŒãŸãã¯ãã«ãã³ãŠãéããïŒãããŠæ¬¡ã«äœããã¹ããïŒã
?
, â .
, â . , , . .
â - . , , .
â 3 :
- . , , , Cuckoo Sandbox, IDS, UEBA, USM, SIEM ;
- (Incident Response Platform, IRP);
- . (Threat intelligense Platform, TIP).
, , â IRP TheHive Project . , 2.
- TheHive â .
- Cortex â .
TheHive Project stack.

TheHive â , , - . TheHive . (case) , , "DDoS " :
- " , L7 ?"
- " IP "
- " blackhole"
, , â , , TLP .
TheHive UI.

TheHive , , API TheHive4Py , , SIEM, . â . , IP, , , , . , . â Cortex . , API ( ) .
â , TheHive (Case). (Tasks), , " ", " " . , Cortex VirusTotal, , AlienVault OTX , , , Cuckoo Sandbox 8-10 . . -, . Cortex TheHive.
MISP

TheHive Cuckoo MISP , : Firewall IP , â .
, , , , . TheHive KPI.
MISP, , 47 , CERT, . MISP , , â Proxy MISP, â .
: â open source, , Cuckoo Sandbox. , -?
ãæž
èŽããããšãããããŸããïŒ
䟿å©ãªãªã³ã¯
, , , , â .