<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>安全分析 on Lucien's Blog</title><link>https://www.lucien116.com/tags/%E5%AE%89%E5%85%A8%E5%88%86%E6%9E%90/</link><description>Recent content in 安全分析 on Lucien's Blog</description><generator>Hugo</generator><language>zh-Hans</language><lastBuildDate>Tue, 06 Mar 2018 13:54:52 +0000</lastBuildDate><atom:link href="https://www.lucien116.com/tags/%E5%AE%89%E5%85%A8%E5%88%86%E6%9E%90/feed.xml" rel="self" type="application/rss+xml"/><item><title>一份安全分析师面试题</title><link>https://www.lucien116.com/archives/404/</link><pubDate>Tue, 06 Mar 2018 13:54:52 +0000</pubDate><guid isPermaLink="false">http://www.lucien116.com/?p=404</guid><description>&lt;p&gt;昨天做的一份关于安全分析的面试题，记录一下，有些地方回答得可能不是很全面，若有纰漏欢迎指出。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何对邮件或web服务器的网络行为进行分析，写出你的方法、步骤和关键要点。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一、针对邮件服务器的web端进行网络行为的分析：&lt;/p&gt;
&lt;p&gt;下面假设针对邮件服务器常出现的三种情况进行分析&lt;/p&gt;
&lt;p&gt;1、暴力破解用户登录名和密码&lt;/p&gt;
&lt;p&gt;分析方法：&lt;/p&gt;
&lt;p&gt;（1） 查看web端页面的访问流量情况是否异常，重点查看某一时间段内连接该web页面的IP情况，是否有同一IP请求大量重复连接的情况（有一些暴力破解攻击攻击者为了避免被防火墙、IDS等一些安全设备屏蔽，也会采用IP池、代理等多种方式频繁更换IP），如存在这种情况则进行深入分析。&lt;/p&gt;
&lt;p&gt;（2） 通常web端的暴力破解攻击会产生大量的POST提交请求，查看HTTP请求的数据包，如果发现提交的HTTP请求的内容中含有大的量的相同账号，不同密码的登录尝试请求（也可能是大量的不同账号的登陆请求），则可断定为暴力破解攻击。 如下图： &lt;a href="https://www.lucien116.com/wp-content/uploads/2018/03/baolipojie.png"&gt;&lt;img loading="lazy" src="https://www.lucien116.com/wp-content/uploads/2018/03/baolipojie.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;图1-web暴力破解攻击&lt;/p&gt;
&lt;p&gt;防御措施：&lt;/p&gt;
&lt;p&gt;使用验证码进行验证登陆、限制用户尝试密码次数、邮箱用户密码设置强密码等。&lt;/p&gt;
&lt;p&gt;2、 邮件系统内某一用户对外发送大量垃圾邮件&lt;/p&gt;
&lt;p&gt;通常这种情况出现在用户邮箱被盗，或计算机中病毒（蠕虫病毒的情况较常见）之后。&lt;/p&gt;
&lt;p&gt;分析方法：&lt;/p&gt;
&lt;p&gt;（1） 若用户邮件系统本身数据量较大可采用采样分析的方法，选择邮件系统较繁忙的时间段（如上班期间）抓包分析。
（2） 抓取网络流量中的SMTP、POP3协议的流量包，利用wireshark等分析工具的统计功能查看向外发送请求较多的IP地址。
（3） 针对对外请求较多的IP地址可以查看其发送的数据包里面所发送的邮件头信息，具体查看发送的频率（一般很快），其次查看收件人邮箱地址（通常对外发送垃圾邮件邮件的收件人地址多为一些怪异的邮箱地址，具体根据个人经验判断）、邮件内容（若未加密）是否为广告邮件或其他垃圾邮件，再可以查看发送出去的邮件的状态，大多数垃圾邮件发送出去之后一般会被对方服务器拒收，数据包里可以看到 “Sender denied”的标志。
（4） 通过上述几点可以综合判断用户是否存在用户邮箱的对外发送垃圾邮件影响邮件服务器性能的问题。
（5） 针对计算机中蠕虫病毒之后对外发送垃圾邮件的情况，通常计算机在发送垃圾邮件之前会向外连接远程服务器下载邮箱地址列表，然后再对列表中的邮件地址发送垃圾邮件。同时蠕虫病毒本身具有传播性，还会伴随着内网扫描、尝试邮箱用户密码（该操作通常也会下载尝试的用户名和密码文件）等操作。可以通过这些特征来发现邮件服务器中的异常行为，蠕虫病毒分析具体技术细节就不再赘述。&lt;/p&gt;
&lt;p&gt;防御措施：&lt;/p&gt;
&lt;p&gt;加强服务器自身的安全性及时打补丁、安装杀毒软件、邮箱用户密码设置强密码等。&lt;/p&gt;
&lt;p&gt;3、 针对其他类型web服务器主机的流量分析&lt;/p&gt;
&lt;p&gt;首先要知道WEB服务器如果出现问题，常见的大致可以分为三个方面的问题：被植入后门、遭受DDOS攻击、网站存在漏洞被利用。下面从这三个方面大致讲述。&lt;/p&gt;
&lt;p&gt;分析方法：&lt;/p&gt;
&lt;p&gt;（1） 被植入后门（这里只针对被植入webshell的情况，服务器自身被植入后门不做分析）
通常网站在被植入webshell之后，黑客会进行webshell的访问。若是在线监测分析可在监测工具中加入常见webshell特征（如一些一句话木马常用的函数“eval()”、”execute()”、wscipt.shell等）进行在线监测，查看是否有IP连接具有这些危险函数的页面，如果有再进行下一步的深入分析查看该页面是否是正常网站页面（通常情况一般web文件不会包含上述特征）。同时也可以通过查看数据包中HTTP是否有对可疑页面文件（如1.jsp等）的请求，判断是否被植入后门。以上方法缺点是在数据量较大的情况下可能存在较多的误报，人工检测分析效率不高，所以最好还是借助安全设备和一些安全工具进行检测再对检测出的可疑数据进行分析确认。
顺便提一下目前比较流行的网站被植入挖矿代码的分析和检测。如果网站被植入挖矿代码，挖矿代码一定会连接矿池地址，在数据包中可针对矿池地址和一些常用的挖矿的端口进行检查。
（2） 遭受DDOS攻击
DDOS攻击类型多种，以下只挑选两种较有代表性的攻击举例。
SYN flood攻击。短时间内通过大量的IP向web服务器发送请求连接的半开TCP数据包，而不完成三次握手。所以这种攻击一般很明显，从整体流量上看，syn数据包的数据包会明显增加。
慢速HTTP POST 攻击。这种攻击不会像一般的DDOS攻击发送大量数据包暂用网络资源来导致WEB服务器拒绝服务。通常这类攻击在与服务器建立连接后会设定一个较大的content-length值，然后以很低的速度发包。针对这类攻击可以查看数据包中HTTP的POST请求中是否有IP发送content-length较大的数据包。经过之前对这种类型的攻击工具的分析，一般发包的时间是固定的，例如10S发一次包。
（3） 网站存在漏洞被利用
常见的web攻击方式一般有sql注入、文件上传、远程命令执行等。Sql注入攻击，结合以前的工作经验来看，大多数会先采用扫描的方式，那么数据包中可以看到大量的尝试sql注入的语句，大量的数据包不便于分析，所以可以排除掉一些返回404或者302状态的数据包，只查看一些有成功返回信息的请求数据包，再查看sql注入是否成功。当发现数据包中有ip大量尝试sql注入的话，也可以缩小范围只针对该IP的流量进行分析，重点查看该IPsql注入尝试完之后有无其他动作。文件上传攻击，例如一些网站上传用户头像的地方对上传文件的过滤不严格攻击者可能会上传一句话图片木马，所以可以在数据包中查看上传的文件内容，是否包含可疑代码。远程命令执行，这种类型的攻击可以直接过滤查看出数据包中是否还有一些危险命令的数据包（例如 net user xxx xx/add、cmd等这类命令）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;抓取网络中的SMTP/POP3、QQ、HTTP等流量，通过数据包的分析能获取哪些关键参数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面列举一些较有用的可能不完全：
SMTP/POP3：
USER、PASS （用户登录名、密码）
EHLO （发送方的主机名）
MAIL FROM/RCPT TO (发送方/接收方地址)
HTTP：
GET/POST （请求的类型，后面是请求的页面）
HOST （主机名和端口号，通常为域名）
User-Agent (发送请求的客户端信息。特殊情况：如爬虫访问、扫描器扫描)
“200、404、302“等 （服务器返回的响应码）
QQ:
QQ的协议加密，从数据包中获取不到什么关键参数。&lt;/p&gt;</description></item></channel></rss>