目录
### 2.1、肉鸡邮件服务器
肉鸡也称傀儡机,是指可以被黑客远程控制的机器。一旦成为肉鸡,就可以被攻击者随意利用,如:窃取资料、再次发起攻击、破坏等等。下面将利用WireShark一起学习一种肉鸡的用途:广告垃圾邮件发送站。
#### 发现问题
在对某企业服务器群进行安全检测时发现客户一台服务器(10.190.214.130)存在异常,从其通信行为来看应该为一台空闲服务器。经过一段时间的抓包采集,对数据进行协议统计发现,基本均为SMTP协议。
SMTP协议为邮件为邮件传输协议。正常情况下出现此协议有两种情况:
```
1、用户发送邮件产生。
2、邮件服务器正常通信产生。
```
该IP地址属于服务器,所以肯定非个人用户利用PC机发送邮件。
那这是一台邮件服务器?如果是,为什么仅有SMTP协议,POP3、HTTP、IMAP等等呢?
带着疑问我们统计了一下数据的IP、端口等信息:
从数据看出,邮箱登陆成功,右键Follow TCPStream可以看见完整登陆信息。
![2-4](png/2-4.jpeg)
```
334 VXNlcm5hbWU6 // Base64解码为:“Username:”
YWRtaW4= //用户输入的用户名,Base Base64解码为:“admin”
334 UGFzc3dvcmQ6 //Base64解码为:“Password:”
YWRtaW4= //用户输入的密码,Base Base64解码为:“admin”
235 Authentication successful. //认证成功
MAIL FROM:<admin@system.mail> //邮件发送自……
```
这段数据表明:61.158.163.126通过SMTP协议,使用用户名admin、密码admin,成功登陆邮件服务器10.190.214.30,邮件服务器的域名为@system.mail,且利用admin@system.mail发送邮件。
一看用户名、密码、邮箱,就发现问题了:
> 1、admin账号一般不会通过互联网登陆进行管理。
>
> 2、“二货”管理员才会把admin账号设为密码。
>
> 3、域名@system.mail与客户无任何关系。
很显然,这是一台被控制的邮件服务器—“肉鸡邮件服务器”。
#### 行为跟踪
发现问题了,下一步跟踪其行为,这个肉鸡服务器到底是干什么的。查看Follow TCPStream完整信息可发现:这是一封由admin@system.mail群发的邮件,收件人包括:www651419067@126.com、wyq0204@yahoo.com.cn、zhaocl1@163.com等10个人(带QQ的邮箱暂时抹掉,原因见最后),邮件内容不多。
为看到完整邮件内容,我们可以点击Save As存为X.eml,用outlook等邮件客户端打开。
#### 分析结论
1、该服务器经简单探测,开放了TCP25/110/445/135/3389/139等大量高危端口,所以被攻击控制是必然。
2、该服务器已被控制创建了肉鸡邮件服务器(WinWebMail),邮件服务器域名为@system.mail,由61.158.163.126(河南省三门峡市)使用admin@system.mail用户登录,通过邮件客户端或专用软件往外发送垃圾邮件。
3、简单百度一下,很多人会经常收到来自admin@system.mail的垃圾邮件,今天终于弄清了它的来龙去脉。
4、垃圾邮件发送不是随便发的,是很有针对性的。
### 2.2、Bodisparking恶意代码
#### 发现问题
接到安全需求,对其互联网办公区域主机安全分析。在对某一台主机通信数据进行分析时,过滤了一下HTTP协议。
一看数据,就发现异常,这台主机HTTP数据不多,但大量HTTP请求均为“Get heikewww/www.txt”,问题的发现当然不是因为拼音“heike”。点击“Info”排列一下,可以看得更清楚,还可以看出请求间隔约50秒。
为更加准确地分析其请求URL地址情况,在菜单中选择Statistics,选择HTTP,然后选择Requests。可以看到其请求的URL地址只有1个:“d.99081.com/heikewww/www.txt”,在短时间内就请求了82次。
这种有规律、长期请求同一域名的HTTP通信行为一般来说“非奸即盗”。
1. 奸:很多杀毒软件、APP、商用软件,为保持长连接状态,所装软件会定期通过HTTP或其它协议去连接它的服务器。这样做的目的可以提供在线服务、监控升级版本等等,但同时也可以监控你的电脑、手机,窃取你的信息。
2. 盗:木马、病毒等恶意软件为监控傀儡主机是否在线,会有心跳机制,那就是通过HTTP或其它协议去连接它的僵尸服务器,一旦你在线,就可以随时控制你。
我们再过滤一下DNS协议看看。
可以看出,DNS请求中没有域名“d.99081.com”的相关请求,木马病毒通信不通过DNS解析的方法和技术很多,读者有兴趣可以自行查询学习。所以作为安全监控设备,仅基于DNS的监控是完全不够的。
接下来,我们看看HTTP请求的具体内容。点击HTTP GET的一包数据,可以看到请求完整域名为“d.99081.com/heikewww/www.txt”,且不断去获得www.txt文件。
Follow TCPStream,可以看到去获得www.txt中的所有恶意代码。
到这儿,基本确认主机10.190.16.143上面运行了恶意代码,它会固定时间同199.59.243.120这个IP地址(域名为d.99081.com)通过HTTP协议进行通信,并下载运行上面的/heikewww/www.txt。
那么,是否还有其它主机也中招了呢?
这个问题很好解决,前提条件是得有一段时间全网的监控流量,然后看看还有哪些主机与IP(199.59.243.120)进行通信,如果域名是动态IP,那就需要再解析。
下面我们就根据这个案例,一起了解一下WireShark中“tshark.exe”的用法,用它来实现批量过滤。
Tshark的使用需要在命令行环境下,单条过滤命令如下:
cd C:\Program Files\Wireshark
tshark -r D:\DATA\1.cap -Y "ip.addr==199.59.243.120" -w E:\DATA\out\1.cap
解释:先进到WireShark目录,调用tshark程序,-r后紧跟源目录地址,-Y后紧跟过滤命令(跟Wireshrk中的Filter规则一致),-w后紧跟目的地址。
有了这条命令,就可以编写批处理对文件夹内大量PCAP包进行过滤。
通过这种办法,过滤了IP地址199.59.243.120所有的通信数据。
统计一下通信IP情况。
根据统计结果,可以发现全网中已有4台主机已被同样的恶意代码所感染,所有通信内容均一样,只是请求时间间隔略微不同,有的为50秒,有的为4分钟。
#### 深入分析
**1 恶意代码源头**
在www.txt中我们找到了“/Zm9yY2VTUg”这个URL,打开查看后,发现都是一些赞助商广告等垃圾信息。如下图:
**2 恶意代码行为**
经过公开渠道的资料了解到Bodis.com是一个有多年经营的域名停放服务提供商,主要靠互联网广告获取收入,其本身是否有非法网络行为还有待分析。
99081.com是Bodis.com的注册用户,即域名停放用户,它靠显示Bodis.com的广告并吸引用户点击获取自己的利润分成,我们初步分析的结果是99081.com利用系统漏洞或软件捆绑等方式在大量受害者计算机上安装并运行恶意代码访问其域名停放网站,通过产生大量流向99081.com的流量获取Bodis.com的利润分成。通常这种行为会被域名停放服务商认定为作弊行为,一旦发现会有较重的惩罚。
#### 分析结论
1. 攻击者通过非法手段利用域名停放网站广告,做一些赚钱的小黑产,但手法不够专业;
2. 攻击方式应是在通过网站挂马或软件捆绑等方式,访问被挂马网站和下载执行了被捆绑软件的人很容易成为受害者;
3. 恶意代码不断通过HTTP协议去访问其域名停放网站,攻击者通过恶意代码产生的流量赚钱。
### 2.3、暴力破解
暴力破解,即用暴力穷举的方式大量尝试性地猜破密码。猜破密码一般有3种方式:
**1、排列组合式**:首先列出密码组合的可能性,如数字、大写字母、小写字母、特殊字符等;按密码长度从1位、2位……逐渐猜试。当然这种方法需要高性能的破解算法和CPU/GPU做支持。
**2、字典破解**:大多攻击者并没有高性能的破解算法和CPU/GPU,为节省时间和提高效率,利用社会工程学或其它方式建立破译字典,用字典中存在的用户名、密码进行猜破。
**3、排列组合+字典破解相结合**。理论上,只要拥有性能足够强的计算机和足够长的时间,大多密码均可以破解出来。
暴力破解一般有两种应用场景:
1、攻击之前,尝试破解一下用户是否存在弱口令或有规律的口令;如果有,那么对整个攻击将起到事半功倍的作用。
2、大量攻击之后,实在找不出用户网络系统中的漏洞或薄弱环节,那么只有上暴力破解,期待得到弱口令或有规律的口令。所以,用户特别是管理员设置弱密码或有规律的密码是非常危险的,有可能成为黑客攻击的“敲门砖”或“最后一根救命稻草”。
暴力破解应用范围非常广,可以说只要需要登录的入口均可以采用暴力破解进行攻击。应用层面如:网页、邮件、FTP服务、Telnet服务等,协议层面如:HTTP、HTTPS、POP3、POP3S、IMAP、IMAPS、SMTP、SMTPS、FTP、TELNET、RDP、QQ、MSN等等。本文仅列举部分常见协议,其它协议情况类似。
#### 正常登陆状态
要从通信数据层面识别暴力破解攻击,首先我们得清楚各种协议正常登录的数据格式。下面我们来认识一下POP3/SMTP/IMAP/HTTP/HTTPS/RDP协议认证过程的常见数据格式,根据服务器类型的不同格式略微不同。(说明:本章使用服务器环境为Exchange2003和WampServer)
1、POP3协议
```
+OK Microsoft Exchange Server 2003 POP3 .......... 6.5.6944.0 (a-ba21a05129e24.test.org) ........ //服务器准备就绪
CAPA //用于取得此服务器的功能选项清单
+OK Capability list follows
TOP
USER
PIPELINING
EXPIRE NEVER
UIDL
.
USER jufeng001@test.org //与 POP3 Server 送出帐户名
+OK
PASS 1qaz@WSX //与 POP3 Server 送出密码
+OK User successfully logged on. //认证成功
STAT
+OK 14 21568
QUIT
+OK Microsoft Exchange Server 2003 POP3 .......... 6.5.6944.0 ..........
```
2、SMTP协议
```
220 a-ba21a05129e24.test.org Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Thu, 6 Aug 2015 11:10:17 +0800 //服务就绪
EHLO Mr.RightPC //主机名
250-a-ba21a05129e24.test.org Hello [192.1.14.228]
……
250 OK
AUTH LOGIN //认证开始
334 VXNlcm5hbWU6 // Username:
anVmZW5nMDAxQHRlc3Qub3Jn //输入用户名的base64编码
334 UGFzc3dvcmQ6 // Password:
MXFhekBXU1g= //输入密码的base64编码
235 2.7.0 Authentication successful. //认证成功
```
3、HTTP协议
HTTP协议认证格式较多,这里仅列一种作为参考。
```
Referer: http://192.1.14.199:8080/login.html //登录地址
uname=jufeng001&upass=1qaz%40WSXHTTP/1.1 200 OK
…
<script>alert('OK')</script>
//输入用户名jufeng001,密码1qaz%40WSX,Web服务器返回HTTP/1.1 200和弹出对话框“OK”表示认证成功。
```
4、HTTPS协议
HTTPS协议为加密协议,从数据很难判断认证是否成功,只能根据数据头部结合社会工程学才能判断。如认证后有无查看网页、邮件的步骤,如有,就会产生加密数据。
从数据中可看出HTTPS头部有认证协商的过程,认证后有大量加密数据,基本可判断认证成功。SSL认证过程见下图:
5、RDP协议
RDP为Windows远程控制协议,采用TCP3389端口。本版本采用的加密算法为:128-bit RC4;红线内为登陆认证过程,后为登陆成功的操作数据。
#### 识别暴力破解
从暴力破解的原理可知,攻击中会产生大量猜试错误的口令。一般攻击者在爆破前会通过其他途径搜集或猜测用户的一些用户名,相关的字典和爆破算法,以提高效率。
1、POP3爆破
从图中可发现,攻击者不断输入用户名jufeng001,不同的密码进行尝试,服务器也大量报错:`-ERR Logon failure: unknown user name or bad password`。Follow TCPStream可以看得更清楚。
提取所有信息,就可以知道攻击者猜破了哪些用户名、哪些口令。
2、SMTP爆破
SMTP协议往往是用户邮件安全管理的一个缺口,所以多被黑客利用。
从图中可发现,攻击者不断输入用户名jufeng001,不同的密码进行尝试,服务器也大量报错:`535 5.7.3 Authentication unsuccessful`。Follow TCPStream:
3、HTTP爆破
由于大量Web服务器的存在,针对HTTP的爆破行为也可以说是最多的,研究爆破方法和绕过机制的人也比较多。这里仅用最简单的Web实验环境做介绍。
首先打开数据可以看到,短时间内出现大量登录页面的请求包。
提取Follow TCPStream可以看见输入用户名、密码情况,服务器返回值不再是登录成功的“OK”,而是登录错误的“…………”。
以上的“…………”并不是返回无内容,这是由于Wireshark无法识别该中文的编码的原因,我们可以点击Hex Dump看一下十六进制编码的内容。
4、RDP爆破RDP爆破在黑客攻击中应用非常多,一旦破解出登录密码,基本可以控制这台机器。由于RDP协议数据也加密了,对于爆破的识别也有一定的困难,下面介绍另外一种方法快速识别,这种方法同样适用其它协议的爆破。
首先我们统计一下正常登录RDP协议的TCP端口等信息,可以看出正常登录的话,在一定时间内是一组“源端口和目的端口”。
再来看一下爆破RDP协议的TCP端口等信息,可以看出短时间内出现大量不同的“源端口和目的端口”,且包数和字节长度基本相同。这就表明出现大量动作基本相同的“短通信”,再结合数据格式就可以确定为暴力破解行为。
#### 如何识别爆破成功
当然,发现爆破攻击行为仅仅是工作的一部分,更重要的是要清楚攻击者到底爆破是否成功,如果成功了会对我们造成什么影响。下面就基于Wireshark来介绍如何发现爆破成功。
(1)首先我们要清楚攻击者爆破的协议,以及该协议登录成功服务器返回值。如下图,为POP3的爆破,从前面的介绍我们知道如果登录成功服务器返回:“+OK User successfully logged on”。
2)在数据中搜索“+OK User successfully logged on
”。
(3)通过搜索发现确实存在服务器返回的成功登录信息。
(4)Follow TCPStream发现攻击者在尝试了大量错误口令后,终于爆破成功:用户名jufeng001,密码1qaz@WSX。
#### 分析结论
1、无论是用户还是管理员,我们都要重视弱口令或有规律的口令这个安全问题,不要让安全防范输于细节。
2、验证码机制防范暴力破解仅适用于HTTP/HTTPS协议,无法防范其它协议。
3、理解了暴力破解的通信原理,从通信层面进行监控和阻止就可以实现。
4、重要管理系统的登录权限受到爆破攻击行为较多,登录权限最好绑定管理员常用的IP地址或增加认证机制,不给黑客爆破的机会。