欢迎关注:1,欢迎关注本博客,你可点击右手边的【QQ邮件订阅】订阅本博客!2,本博客推出江湖救急计划,主要为工作中遇到疑难杂症的兄弟提供远程技术支持和分析,如有需要,请在江湖救急计划页面给我留言!

安徽省等级保护会议上的演讲PPT

作者:易隐者 发布于:2014-4-29 21:54 Tuesday 分类:我的PPT

点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图
点击查看原图


阅读全文>>

标签: ppt 等保 等级保护 信息安全 入侵痕迹 入侵分析

评论(1) 引用(0) 浏览(9793)

Openssl Heartbleed漏洞攻击报文分析和防范

作者:易隐者 发布于:2014-4-12 18:50 Saturday 分类:网络安全

       Heartbleed漏洞一爆出来我便从微博中安全大拿们发布的信息 中普及了相关知识,只是没想到这个漏洞竟然会火到连身边那些环保、律师行业的朋友见面都会在第一时间内问我跟这个漏洞有关的问题,这几天微博中基本都是关 于这个漏洞的刷屏信息,业内的朋友也有给我推荐检测的脚本和方法,甚至昨晚我还在CCTV看到相关报道………

       我想作为一个这个行业内的从业人员,我至少能够站在报文的角度对这个heartbleed漏洞做一个简单分析,帮助大家理解这个漏洞,同时提供一些利用这个漏洞进行攻击的防护方法,这远远强于做一个纯粹娱乐心态的旁观者。

Heartbleed的利用过程

        在贴攻击报文截图之前,我们还是通过一个交互示意图展示一下这个漏洞是如何被利用的:

 点击查看原图
         Openssl的客户端可以向服务器发送heartbeat请求报文,这个报文申明payload的长度(最大长度为64K),服务器在收到客户端的这个 heartbeat请求报文之后,会根据申明的payload长度大小用内存的数据填充后,给客户端发送响应报文。而服务器内存中的数据就可能包含用户名、用户密钥、口令、cookie等敏感信息,黑客正是利用这个特性,将可能存在内存中的用户名、密钥、口令、cookie等敏感数据经分析后获得,从而达到攻击的效果。

Heartbleed攻击的报文交互过程

      我们结合这个攻击的报文来一起回顾一下这个过程。

1,heartbeat  request报文解码
 点击查看原图

2,服务器响应报文解码

 点击查看原图
       有兄弟可能会说这个里面没看到什么敏感数据啊。嗯,这个需要多尝试,运气好的话,说不定几次就能蹦出来点什么你想要的,运气不好的话,人工就没法做这个低效的分析了,需要黑客搞个自动分析的程序来跑啦。
点击查看原图

 Heartbleed报文特征值

       Heartbleed报文特征值非常明显,那就是客户端的heartbeat request报文的解码中所展示的,下面我们再次专门把它列出来加深印象:
 点击查看原图

      一图胜千言,不需我再描述了吧。如果有人利用openssl heartbleed这个漏洞对服务器进行扫描或攻击的话,我们可以通过其报文的特征值进行分析、过滤和拦截。

Heartbleed攻击的应对

1,升级openssl

       参见《OpenSSL Heartbleed漏洞修复》一文,链接为:http://www.linuxidc.com/Linux/2014-04/99978.htm

2,防火墙过滤

       对于linux服务器可以利用Iptables的u32或者BPF匹配机制实现对heartbleed报文的识别、检测和过滤,从而达到防护通过利用这个漏洞进行攻击的尝试。网上有网友@白金-PT给出了过滤规则的设置,如下图所示:

  点击查看原图

      其实大名鼎鼎的wireshark所有者riverbed已有研究者给出更为 细致的BPF过滤策略,原文名为《How to Detect a Prior Heartbleed Exploit》,原文链接为:http://www.riverbed.com/blogs/Retroactively-detecting-a- prior-Heartbleed-exploitation-from-stored-packets-using-a-BPF-expression.html

       摘录其中关于heartbleed攻击报文的BPF(BSD Packet Filter)表达式如下:

tcp src port 443 and (tcp[((tcp[12] & 0xF0) >> 4 ) * 4] = 0x18) and (tcp[((tcp[12] & 0xF0) >> 4 ) * 4 + 1] = 0x03) and (tcp[((tcp[12] & 0xF0) >> 4 ) * 4 + 2] < 0x04) and ((ip[2:2] - 4 * (ip[0] & 0x0F)  - 4 * ((tcp[12] & 0xF0) >> 4) > 69))

       分解这个过滤表达式:
# A response from server on port 443. This can be modified if server not using 443.
tcp src port 443
//TCP443端口,可以改为其他端口
# This calculates the start of payload data beyond TCP.
tcp[((tcp[12] & 0xF0) >> 4 ) * 4
//这个是TCP报文字段开始位置
# Use that start-of-payload calculation to see if first payload byte is 0x18 (TLS Heartbeat message)
(tcp[((tcp[12] & 0xF0) >> 4 ) * 4] = 0x18)
//第一个特征字段:0x18,这个字段说明是heartbeat报文
# Use that start-of-payload calculation to see if second payload byte is 0x03 (TLS major version 3)
(tcp[((tcp[12] & 0xF0) >> 4 ) * 4 + 1] = 0x03)
//第二个特征字段:0x03,这个字段为TLS主版本号
# Use that start-of-payload calculation to see if third payload byte is less than 0x04 (TLS minor version 0-3)
(tcp[((tcp[12] & 0xF0) >> 4 ) * 4 + 2] < 0x04)
//第三个特征字段:< 0x04(0x03或0x02),这个字段为TLS子版本号
# Determine if the TCP payload length is greater than 69. NOTE: if this generates too many false positives, this number can be increased
((ip[2:2] - 4 * (ip[0] & 0x0F)  - 4 * ((tcp[12] & 0xF0) >> 4) > 69))

//检测TCP负载长度是否大于69字节

       如果网络中部署有ips类设备,也可以参照riverbed的这个BPF自定义此类特征值实现对利用heartbleed漏洞进行扫描和攻击尝试的发现和拦截。

后记

        以前在学习协议的时候,好像linux下ping超长报文时,系统就是使用内存中的数据进行填充的(为什么用内存中的数据来填充?因为效率啊。),按照heartbleed攻击的这个思路,很多以前使用内存中的数据做填充的,都是存在被利用的可能。当然,这些个就交给挖洞的黑阔去干吧,在此我就不负责深究了,O(∩_∩)O     

阅读全文>>

标签: TCP iptables openssl heartbleed heartbeat 特征值 heartbleed漏洞 内存填充 攻击报文 heartbeat请求 u32 BPF riverbed 过滤策略

评论(1) 引用(0) 浏览(95059)

SYN flood+带宽消耗混合式DOS攻击一例

作者:易隐者 发布于:2014-4-11 21:02 Friday 分类:网络安全

       一用户新系统上线前,发现流量存在异常,利用wireshark抓包后,查看summary视图,发现其每秒近4000个包,平均包长991字节,如下图所示:
 点击查看原图
      我们在通过coversations视图查看其连接情况,发现IP连接会话中,源主机向113.105.171.88、121.12.110.60、121.12.110.61等3个IP交互的报文数远远大于其他IP的,如下图所示:
点击查看原图
       我们再查看TCP会话,发现交互特征明显,都是发送一个长度为1024字节的报文,如下图所示:
 点击查看原图
      我们回到数据包视图:
 点击查看原图
      看上去基本上都是SYN报文,但是常规的SYN报文一般只有64字节,无应用层数据,而这里其显示存在970字节的应用层数据,这明显是不合常理。
      我们查看这些数据包的具体解码,如下图所示:
点击查看原图
       发现其长度为970字节的应用层数据全部是“0”填充的。
 点击查看原图

        综 合上述分析,基本可判断为黑客利用被拿下的机器,对固定主机发送包含以“0”填充的、长度为970字节的应用数据的SYN Flood攻击报文,在对服务器造成SYNflood攻击效果之外,还会给被攻击主机的互联网出口带宽资源带来较大的消耗,到达综合的拒绝服务攻击效果。

       常规DOS攻击手段以前遇到和处理的蛮多,但这种较为聪明和更有效率的混合式DOS攻击方式在实际工作过程中较为少见,是以记之,供各位兄弟姐妹参考。

阅读全文>>

标签: wireshark DOS DOS攻击 SYN flood 混合式DOS攻击 带宽消耗

评论(0) 引用(0) 浏览(93922)

Powered by 易隐者 基于emlog 皖ICP备12002343号-1