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

见缝插针-DNS泛解析是怎么被黑客玩坏的

作者:飞鸟 发布于:2017-5-5 12:10 Friday 分类:网络安全

  网络创立之初,所有的访问都是通过IP地址来实现的,因web等协议与应用的兴起,有了域名,再通过IP去访问一方面不太容易记,另一方面因负载、CDN等方面的原因,单纯使用IP地址访问会带来一些问题。因此域名产生了,通过域名访问,中间设备只认识IP,因此最终还是解析到相应的IP地址去访问。这个用来解析的协议称作DNS,主要功能为将域名解析到相应的IP地址。

   ...

阅读全文>>

标签: wireshark DNS 安全分析 泛解析 域名泛解析 DNS泛解析 黑产

评论(3) 引用(0) 浏览(6086)

【转】WireShark黑客发现之旅—肉鸡邮件服务器

作者:易隐者 发布于:2015-7-7 13:01 Tuesday 分类:网络安全

【原文链接】:http://drops.wooyun.org/tips/6944

【原文作者】:聚锋实验室

【原文全文】:

0x00 背景


肉鸡也称傀儡机,是指可以被黑客远程控制的机器。一旦成为肉鸡,就可以被攻击者随意利用,如:窃取资料、再次发起攻击、破坏等等。下面将利用WireShark一起学习一种肉鸡的用途:广告垃圾邮件发送站。

0x01 发现问题


在对某企业服务器群进行安全检测时发现客户一台服务器(10.190.214.130)存在异常,从其通信行为来看应该为一台空闲服务器。 经过一段时间的抓包采集,对数据进行协议统计发现,基本均为SMTP协议。

enter image description here

enter image description here

SMTP协议为邮件为邮件传输协议。正常情况下出现此协议有两种情况:

1、用户发送邮件产生。
2、邮件服务器正常通信产生。

该IP地址属于服务器,所以肯定非个人用户利用PC机发送邮件。

那这是一台邮件服务器?如果是,为什么仅有SMTP协议,POP3、HTTP、IMAP等等呢?

带着疑问我们统计了一下数据的IP、端口等信息:

enter image description here

统计信息表明:所有通信均是与61.158.163.126(河南三门峡)产生的SMTP协议,且服务器(10.190.214.130)开放了TCP25端口,它的的确确是一台邮件服务器。

到这,很多安全分析人员或监控分析软件就止步了。原因是IP合理、逻辑也合理、SMTP协议很少有攻击行为,以为是一次正常的邮件通信行为。那么很可惜,你将错过一次不大不小的安全威胁事件。

职业的敏感告诉我,它不是一台合理的邮件服务器。这个时候需要用到应用层的分析,看一看它的通信行为。继续看看SMTP登陆过程的数据。

enter image description here

从数据看出,邮箱登陆成功,右键Follow TCPStream可以看见完整登陆信息。

enter image description here

334 VXNlcm5hbWU6          // Base64解码为:“Username:”
YWRtaW4=  //用户输入的用户名,Base Base64解码为:“admin”
334 UGFzc3dvcmQ6         //Base64解码为:“Password:”
YWRtaW4=  //用户输入的密码,Base Base64解码为:“admin”
235 Authentication successful.  //认证成功
MAIL FROM:<admin@system.mail
/* <![CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n+=2)i=parseInt(a.substr(n,2),16)^r,e+=String.fromCharCode(i);e=document.createTextNode(e),c.parentNode.replaceChild(e,c)}}}catch(u){}}();/* ]]> */>  //邮件发送自……

这段数据表明:61.158.163.126通过SMTP协议,使用用户名admin、密码admin,成功登陆邮件服务器10.190.214.30,邮件服务器的域名为@system.mail,且利用admin@system.mail发送邮件。

一看用户名、密码、邮箱,就发现问题了:

1、admin账号一般不会通过互联网登陆进行管理。

2、“二货”管理员才会把admin账号设为密码。

3、域名@system.mail与客户无任何关系。

很显然,这是一台被控制的邮件服务器—“肉鸡邮件服务器”。

0x02 行为跟踪


发现问题了,下一步跟踪其行为,这个肉鸡服务器到底是干什么的。查看Follow TCPStream完整信息可发现:这是一封由admin@system.mail群发的邮件,收件人包括:www651419067@126.com、wyq0204@yahoo.com.cn、zhaocl1@163.com等10个人(带QQ的邮箱暂时抹掉,原因见最后),邮件内容不多。

enter image description here

enter image description here

为看到完整邮件内容,我们可以点击Save As存为X.eml,用outlook等邮件客户端打开。

enter image description here

一看邮件,所有谜团都解开了。邮件内容就是一封“巧虎”的广告垃圾邮件,该服务器被攻击者控制创建了邮件服务器,用于垃圾邮件发送站。再用同样的方法还原部分其它邮件:

enter image description here

enter image description here

可以看出邮件内容完全一样,从前面图中可看出短时间的监控中SMTP协议有几十次会话,也就说发送了几十次邮件,涉及邮箱几百人。邮件中的域名http://url7.me/HnhV1打开后会跳转至巧虎商品的广告页面。

enter image description here

0x03 分析结论


1、该服务器经简单探测,开放了TCP25/110/445/135/3389/139等大量高危端口,所以被攻击控制是必然。

2、该服务器已被控制创建了肉鸡邮件服务器(WinWebMail),邮件服务器域名为@system.mail,由61.158.163.126(河南省三门峡市)使用admin@system.mail用户登录,通过邮件客户端或专用软件往外发送垃圾邮件。

3、简单百度一下,很多人会经常收到来自admin@system.mail的垃圾邮件,今天终于弄清了它的来龙去脉。

4、垃圾邮件发送不是随便发的,是很有针对性的。巧虎是幼儿产品,从接受邮件的QQ号码中随便选取4位查询资料发现发送对象可能都为年轻的爸爸妈妈。

enter image description here

enter image description here

enter image description here

申明:文章中出现IP、邮箱地址等信息均为安全监控、攻击防范学习交流所用,切勿用于其它用途,否则责任自负。

0x04 后续文章初步设计


对于后续文章内容,初步设计WireShark黑客发现之旅--暴力破解、端口扫描、Web漏洞扫描、Web漏洞利用、仿冒登陆、钓鱼邮件、数据库攻击、邮件系统攻击、基于Web的内网渗透等。但可能会根据时间、搭建实验环境等情况进行略微调整。 (By:Mr.Right、K0r4dji)

阅读全文>>

标签: wireshark 安全分析 垃圾邮件

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

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) 浏览(98402)

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) 浏览(96697)

【转】WAF度量标准

作者:易隐者 发布于:2014-1-5 22:17 Sunday 分类:网络安全

【说在之前】:

WAF(web application firewall)现在基本上逐步成为网站安全的必备装备,不论是开源的还是商业的、国内还是国外的,都有不少的品牌产品,这给用户带来了选择困难症,正好这几天在网上看到一个关于WAF度量标准的文章,感觉蛮有意思,特转发至此,以供有兴趣的同学参考!

【原文链接】:

http://blog.csdn.net/cnbird2008/article/details/17278791

【原文全文】:

1. 有多少真实的攻击被阻断(TP)

2. 有多少有效的请求允许通过(TN)

3. 有多少有效的流量被不恰当的阻断(FP)

4. 有多少攻击被允许通过(FN)

 

度量算法:

tp/tp+fp(实际攻击阻断的请求百分比,误报率的反面正确率)

tp/tp+fn(实际阻断攻击的百分比,漏报率的反面正确率)

tp+tn/tp+tn+fp+fn(选择是正确百分比)

(WAF的选择和请求实际性之间的关联性)

 

案例

阅读全文>>

标签: WAF web application firewall 度量标准 web应用防火墙

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

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