《2018年通过Anglerfish蜜罐发现未知的恶意软件威胁.pdf》由会员分享,可在线阅读,更多相关《2018年通过Anglerfish蜜罐发现未知的恶意软件威胁.pdf(37页珍藏版)》请在三个皮匠报告上搜索。
1、通过Anglerfish蜜罐发现未知的恶意软件威胁Anglerfish蜜罐运行状况支持TCP/UDP全端口监控,已经模拟telnet,ssh,http等30种应用协议,50+IoT设备和服务器漏洞,支持对应用协议Fuzz testing等。通过Anglerfish蜜罐捕获大量Botnet并在360Netlab Blog中披露,包括Mirai,http81,Mykings,DDG,Hajime,TheMoon,IoT_reaper,Satori,Muhstik,HNS等,其中http81,IoT_reaper,Satori属于首次发现。捕获2个0day,分别是Huawei HG532 RCE(被
2、Satori Botnet首次利用,CVE-2017-17215)和Gpon Home Routers RCE(被TheMoon Botnet首次利用,暂无CVE编号)。目录 我对蜜罐的理解和需求 如何去设计开发Anglerfish蜜罐程序 在蜜罐程序设计开发中攻防对抗的案例 实例分析Muhstik Botnet 我对蜜罐的未来展望一.我对蜜罐的理解和需求 蜜罐协议模拟是基础,蜜罐数据分析是核心,捕获恶意样本是其目的 能够在TCP/UDP全端口捕获未知的恶意扫描软件威胁 能够模拟影响面广泛的应用协议和漏洞,优先模拟IoT,服务器等漏洞场景 蜜罐程序方便协议扩展,蜜罐数据结构方便数据分析SYN
3、ScanclientserverPort ClosedclientserverPort Open以SYN端口扫描为例,当蜜罐程序未开放相应端口时,只能接收到扫描程序的SYN包。First Dataclientserverclientserverclient send data firstserver send data first当蜜罐开放相应端口时,如果不能和扫描程序完成交互,蜜罐程序只能捕获到来自扫描程序的第一个包甚至没有数据交互。TCP ConnectionScanner(client)Honeypot(server)(active open)SYN_SENTESTABLISHEDEST
4、ABLISHEDFIN_WAIT_1SYN_RCVDTIME_WAITCLOSE_WAITLAST_ACKCLOSEDFIN_WAIT_2writeread(blocks)read returnswriteread(blocks)read returnssocket,bind,listenLISTEN(passive open)accept(blocks)socketconnect(blocks)Interactive Data FlowSimulator蜜罐程序开发的基础工作就是模拟协议二.如何去设计开发Anglerfish蜜罐 借鉴前人的经验 Anglerfish蜜罐程序框架 模拟应用协议
5、/漏洞 Fuzz testing Anglerfish蜜罐数据结构借鉴前人的经验Blackhole是Github上的一个开源项目,我的灵感来源于此,并在此基础上开始设计和开发在模拟协议和漏洞过程中,吸取了Kippo,Dionaea等开源项目经验,积极使用现有的应用协议库使用Python语言开发,基于Gevent模拟Server端应用协议REFERENCE1 https:/ https:/ https:/ https:/ rmi,mssql,docker,oreintdb,mysql,ethman,cisco smi,ethereum,redis,weblogic,jenkins,activem
6、q_web,mctp,apache couchdb,spark,openfire,elastic search,memcache,mongodb,hadoop_hdfs,hadoop_yarn,netis等;目前已经模拟的漏洞/设备(只展示了部分)每个RCE漏洞都会被Botnet发挥得淋漓尽致!Docker shell在蜜罐中经常会遇到Linux Shell命令,我这里推荐使用Docker容器去执行Shell命令,并返回结果。Docker shell#!/usr/bin/env python#-*-coding:utf-8-*-#Github/Twitter:zom3y3#Email:impo