黑客的每一次網(wǎng)絡(luò)攻擊都是從信息收集開始,也就是我們常說的掃描,按網(wǎng)絡(luò)協(xié)議分層思想,掃描也可以分為以下三類(暫不考慮社會工程學(xué)范疇的掃描):
1 網(wǎng)絡(luò)層掃描
主要是基于IP協(xié)議的掃描和探測,用以獲取目標(biāo)的網(wǎng)絡(luò)拓?fù)洌O(shè)備防火墻和鏈路通訊狀況,該階段的掃描,并沒有建立連接,常用的工具有:traceroute 和 Ping.
Traceroute的工作原理:首先,traceroute會發(fā)出一個TTL是1的IP datagram(其實,每次送出的為3個40字節(jié)的包(包的字節(jié)大小可以修改,但需要盡量小,便于傳輸),包括源地址,目的地址和包發(fā)送的時間標(biāo)簽)到目的地,當(dāng)路徑上的第一個路由器收到這個datagram時,它將TTL減1.此時,TTL變?yōu)?了,所以該路由器會將此datagram丟掉,并回送一個[ICMP time exceeded]消息,tracertoute收到這個消息后,就知道這個路由器存在這個路徑上,接著tracertoute再送出另一個TTL是2的datagram,發(fā)現(xiàn)第二個路由器……, traceroute 每次將送出的datagram的TTL 加1來發(fā)現(xiàn)另一個路由器,這個重復(fù)的動作一直持續(xù)到某個datagram 抵達(dá)目的地。當(dāng)datagram到達(dá)目的地后,主機(jī)會送回一個[ICMP port unreachable]的消息,而當(dāng)traceroute收到這個消息時,便知道目的已經(jīng)到達(dá)了。
2 系統(tǒng)層掃描
主要是基于TCP/UDP協(xié)議的掃描和判斷識別,該階段的掃描,有連接的建立,常見的方式有端口掃描,服務(wù)識別,漏洞掃描等,主要的工具有:nmap
3 應(yīng)用層掃描
這里主要是基于應(yīng)用層協(xié)議的掃描和漏洞的識別,該階段的掃描,屬于TCP全連接。而對于個人網(wǎng)站服務(wù)器常見的應(yīng)用服務(wù)有:FTP,HTTP,SSH等,這些都會成為攻擊者的入口點。
下面我們來對一個沒有加入安全寶的網(wǎng)站進(jìn)行一次簡單的掃描,看看攻擊者都能獲取那些信息,對你的網(wǎng)站會造成威脅嗎,這里就拿站長之家網(wǎng)站來單純地進(jìn)行掃描說明,并不會進(jìn)行惡意的后續(xù)攻擊,
1 利用traceroute進(jìn)行網(wǎng)絡(luò)層的掃描探測
Traceroute –q 4 www.jfrwli.cn
從上面的節(jié)點信息我們看出,在站長之家網(wǎng)站的前一個節(jié)點并沒有獲取到,但實際上我們是可以接收到網(wǎng)站服務(wù)器的ICMP返回信息,因此有可能是DNS解析過慢或前端有防火墻設(shè)備屏蔽掉ICMP返回信息,那么我們接著用如下命令排除下問題:
Traceroute -n -q 4 www.jfrwli.cn
從上面的內(nèi)容看出,仍然沒有第17個節(jié)點的信息,因此我們可以推斷第17個節(jié)點應(yīng)該會是防火墻設(shè)備,屏蔽了ICMP的返回信息。
2 利用Nmap進(jìn)行系統(tǒng)層的掃描
在掃描的過程中,發(fā)現(xiàn)站長之家前端有三臺CDN服務(wù)器作為負(fù)載均衡,這里也并不是惡意的掃描,因此還是用對域名的掃描來作演示,具體攻擊會指定IP來進(jìn)行探測。
掃描開放端口
Nmap –p 1-65535 www.jfrwli.cn
掃描主機(jī)系統(tǒng)
Nmap -O www.jfrwli.cn
掃描服務(wù)版本
Nmap -sV www.jfrwli.cn
利用NMAP腳本引擎深度掃描
掃描遠(yuǎn)程主機(jī)和域上的帳號信息:
Nmap --script auth www.jfrwli.cn
(注:這里并沒有探測到帳號信息,如果掃描器成功探測,或在端口信息的下方有帳號的信息。)
對目標(biāo)進(jìn)行深度掃描:
Nmap --script discovery www.jfrwli.cn
掃描目標(biāo)是否存在后門和惡意程序:
Nmap --script malware www.jfrwli.cn
(注:這里并沒有探測到帳號信息,如果掃描器成功探測,或在端口信息的下方有帳號的信息。)
掃描目標(biāo)主機(jī)存在的漏洞:
Nmap --script vuln www.jfrwli.cn
(注:這里并沒有探測到帳號信息,如果掃描器成功探測,或在端口信息的下方有帳號的信息。)
通過上面的掃描,我們已經(jīng)獲取到服務(wù)器開放的端口和服務(wù),攻擊者會根據(jù)服務(wù)器運行的服務(wù)來選擇后續(xù)的攻擊
3 利用網(wǎng)頁掃描器進(jìn)行掃描
這里主要以web應(yīng)用為例進(jìn)行說明,攻擊者首先會按照以下的方式進(jìn)行信息收集:
獲取WebServer的banner信息
從服務(wù)端的返回信息,我們看到了網(wǎng)站后端實際上CentOS系統(tǒng),運行著Apache服務(wù);前端使用了三臺Cdn 緩存服務(wù)器作負(fù)載均衡,它們的IP信息分別為: 123.103.14.219,123.103.14.220,123.103.14.221.
利用爬蟲爬取網(wǎng)站的有效鏈接(參考開源項目:lynx)
利用字典進(jìn)行Web目錄的枚舉(參考開源項目:DirBuster)
對網(wǎng)站鏈接和目錄進(jìn)行漏洞審計
由于后面三個步驟涉及到攻擊范疇,這里就不作具體演示,從上面的過程中我們可以看出,其實攻擊者首先會利用工具對目標(biāo)進(jìn)行掃描和信息收集,然后對這些獲取的信息進(jìn)行手工的分析和審計,我們在與攻擊者對抗的過程中,實際上需要做的是在每個掃描環(huán)節(jié)對攻擊者的行為進(jìn)行干擾,阻礙其正常的判斷。這里簡單介紹下加入安全寶后,對攻擊者這些掃描所產(chǎn)生的干擾:
1 網(wǎng)絡(luò)層的掃描干擾
加入安全寶的網(wǎng)站用戶,其對外的IP地址實際上是安全寶的Server IP,攻擊者并不能有效地獲取網(wǎng)站服務(wù)器的真實IP,因而也并不能對網(wǎng)站服務(wù)器的網(wǎng)絡(luò)結(jié)構(gòu)和拓?fù)溥M(jìn)行真實地掃描。
2 系統(tǒng)層的掃描干擾
由于網(wǎng)站用戶對外的IP實際上是安全寶的Server IP,而安全寶的Server 對外僅開放了80端口,因此攻擊者也就不能有效的識別用戶服務(wù)器其它的應(yīng)用服務(wù),規(guī)避了其它服務(wù)帶來的風(fēng)險。
3 Web掃描器的干擾
n 獲取WebServer的banner信息 ----> 干擾策略: ASERVER/0.8.54-1
n 利用爬蟲爬取網(wǎng)站的有效鏈接 ----> 干擾策略:對于一些掃描器的敏感標(biāo)識進(jìn)行攔截,無返回信息,阻礙爬蟲對所有鏈接的爬取。
n 利用字典進(jìn)行Web目錄的枚舉 -----> 干擾策略:對于一些掃描器的敏感標(biāo)識進(jìn)行攔截,無返回信息,阻礙掃描獲取目錄。
n 對網(wǎng)站鏈接和目錄進(jìn)行漏洞審計-----> 干擾策略:對于一些常見的漏洞,有漏洞規(guī)則的檢測和攔截,阻礙漏洞利用程序正常的使用。