1. 程式人生 > >如何成為一名黑客(網路安全從業者)——網路攻擊技術篇(1/8 掃描技術)

如何成為一名黑客(網路安全從業者)——網路攻擊技術篇(1/8 掃描技術)

        大家好,我是Mr.Quark,又和大家見面了,今天我要和大家分享的是網路攻擊技術八篇中的第一篇:掃描技術,在未來的幾天裡,將會陸續釋出其餘部分。希望大家在學習後僅在自己的作業系統或者虛擬機器上實驗,如果你想為別人的計算機做安全測試,請取得授權。喜歡本文的朋友,歡迎轉載。下面進入正題。↓↓↓

我們先模擬一個場景

        有一個叫 老K 的黑帽黑客,他以非法進入其他公司的官方網站為由,勒索公司的錢財,如果這家公司不願意支付,他就會”撕票“——篡改首頁,破壞資料庫。由於小微企業的技術力量十分薄弱,根本無法抵擋老K的進攻,就連報警也無濟於事,最後只好乖乖繳納保護費。今天老K看上一家剛成立的公司,他搜尋出這家公司的網址,但是網站內容很簡單,老K並沒有發現注入點。於是老K決定直接掃描伺服器,看看這個伺服器的配置如何,開設了哪些埠,從而猜測啟動了哪些服務,最後發現突破口。

網路攻擊的流程

        網路攻擊技術按照攻擊流程可以分為3個階段:

  1. 攻擊前的準備階段

  2. 網路攻擊階段

  3. 成功入侵後的控制階段

今天我們先介紹”攻擊前的準備階段——掃描技術“。

攻擊前的準備階段——掃描

        在這個階段,攻擊者通過各種收集手段收集目標主機的資訊,主要利用的是搜尋引擎和掃描技術。通過外圍資訊收集和多種掃描技術,可以獲得目標的IP地址、埠、作業系統版本、存在的漏洞等攻擊必需資訊,為下一步的網路攻擊做好前期的準備。具體來說,可以採用如下手段:

1、外圍資訊收集的方式

(1)使用Whois查詢域名註冊的相關資訊

        Whois是Internet上提供的查詢相關域名、IP地址、E-mail信箱、聯絡電話等資訊的一種服務,有InterNIC負責維護,InterNIC的資料庫按不同的地區進行了劃分,查詢時應按不同地區進行查詢。今天我們只關注中國的CNNIC,CNNIC是我國的域名體系註冊管理機構,提供所轄範圍內域名資訊查詢Whois服務。(CNNIC網址:http://www.cnnic.net.cn/jczyfw/zwym/

(2)使用搜索引擎收集更多的外圍資訊

        利用百度、Google等搜尋引擎可以輕鬆查到目標主機的各種外圍資訊。Google Hack是一個搜尋敏感資訊的工具,通過編寫一些簡單的指令碼就能搜尋到重要的資訊,甚至包括密碼檔案。(國內使用者要想使用Google需要通過VPN,方法這裡不贅述,網上有許多免費的VPN可供選擇哦)對於Google Hack的防範措施就是不讓Google檢索敏感網頁資訊。可以通過訪問:http://www.google.com/remove.html,按照其步驟要求刪除自身站點或網頁的資訊。

2、IP地址掃描

        IP地址掃描主要在網路攻擊的開始階段,用於獲取目標計算機及其外圍網路使用的IP網段,以及對應網路中處於開機狀態的計算機。

        我們可選用的工具有作業系統提供的ping、tracert命令,也可以使用一些自動化掃描工具,如Nmap、Superscan等。此類工具的原理和ping命令相同,不過提供了更方便的介面。(要明白這些網路工具的原理,大家需要認真學習一下網路方面的知識,推薦初學者看《圖解TCP/IP》、《圖解HTTP》等書,有一定網路基礎的朋友研讀一下《TCP/IP詳解》卷一:協議)。)

3、埠掃描

        一個開放的網路埠就是一條與計算機進行通訊的虛擬通道,網路攻擊者通過對網路埠的掃描可以得到目標主機開放的網路服務程式,從而為後續的攻擊確定好攻擊的網路埠。

        針對網路埠進行的掃描可以通過手工命令實現,但效率不高;所以推薦利用埠掃描工具進行。網路埠掃描工具中功能最強、使用最普遍的是Nmap軟體,它支援Linux和Windows等作業系統,並提供了多種埠掃描技術。

這裡我們補充一下網路埠的知識:

        網路埠是傳輸層TCP協議和UDP協議中所定義的。TCP協議通過套接字(Socket)建立起兩臺計算機之間的網路連線。套接字採用 [IP地址:網路埠號] 的形式來定義,網路埠類似於不同房間的門牌號,用於標誌並區別不同的網路服務程式,同一臺計算機上不同的網路服務程式採用不同的網路埠進行資料傳輸。

        當建立一個TCP連線進行資料傳輸時,源主機的一個 [IP地址:網路埠號] 套接字會和目標主機的一個 [IP地址:網路埠號] 套接字對應,用於標識這個網路連線中源主機的源IP和網路服務程式,以及目標主機的目標IP和網路服務程序。利用網路連線傳輸的資料包就可以由套接字中的IP地址和埠號找到需要傳輸的主機和網路服務程式了。

        因此,網路埠和網路服務程式是一一對應的,通過掃描開放的網路埠就可以判斷稱呼計算機中正在執行的網路服務程序。(所以大家要學好”計算機網路“,以後我會教大家如何用Python編寫自己的掃描程式,對了,Python被稱為是黑客語言,大家也要多多瞭解,以後也會出相關的教程的。關注我的公眾號:Quark網路安全,檢視最新教程。)

        TCP協議和UDP協議的埠號在0~65535範圍內,其中1024以下的埠保留給常用的網路服務。例如,21埠為FTP服務,23為TELNET,25為SMTP,80為HTTP,110為POP3等。

        掃描技術有很多種,下面先將常見的埠掃描技術的列舉出來,今天我們先介紹一些黑客常用黑客,以後有時間我們再一一學習以下:

(1)TCP全連線掃描

(2)TCP SYN 掃描

(3)TCP FIN 掃描

(4)UDP 的 ICMP 埠不可達掃描

(5)ICMP 掃描

(6)亂序掃描和慢速掃描

        埠掃描工具是黑客常用的工具,如Nmap、SuperScan、Netcat、X-port、PortScanner、Netscan tools、Winscan等,大家可以嘗試使用不同的掃描工具,並找到適合自己的。

4、漏洞掃描

        獲取了目標主機的IP、埠等資訊後,下一步網路攻擊者要掃描檢測目標主機和目標網路中存在的安全漏洞,以便利用漏洞進行入侵,獲得對目標主機的控制權。

漏洞掃描工具可以分為以下兩種:

(1)網路漏洞掃描工具

        網路漏洞掃描工具針對網路中的主機和網路裝置,傳送漏洞探測資料包進行漏洞的掃描。它主要利用模擬攻擊技術掃描出具體的漏洞型別。

(2)主機漏洞掃描工具

        主機漏洞掃描工具通過漏洞特徵匹配技術和補丁安全資訊的檢測來進行作業系統和應用軟體系統的漏洞檢測。

        常用的網路漏洞掃描工具有Nessus、X-Scan、SSS、綠盟極光漏洞掃描器

        具有主機漏洞掃描功能的工具包括Nessus、360安全衛士等。

以後我們也將一起學習如何編寫自己的漏洞掃描工具。

5、弱口令掃描

        目前有很多主機和網路伺服器都可以通過使用者名稱和口令進行遠端登入。攻擊者也非常關注這些可供遠端登入的伺服器,尤其關注使用者名稱和口令。為了拿到相關伺服器的使用者名稱和口令,攻擊者常採用掃描技術來探測使用者名稱和弱口令。對弱口令等登入資訊的掃描主要有以下兩種:

(1)基於字典攻擊的弱口令掃描技術

        這種技術需要實現構造常用口令的字典檔案,現在網路中需要登入的網址眾多,因此使用者設定口令時往往有設定簡單口令的習慣,我們可以利用字典生成軟體和已知的相關資訊來有目的的生成字典檔案。

(2)基於窮舉攻擊的弱口令掃描技術

        這種弱口令掃描技術利用窮舉的方法構造探測用的口令字典。但是對於一個較長的字母與數字混合排列的口令,使用窮舉的方法進行口令破解的代價是非常高的。

        因此,攻擊者往往將字典攻擊結合窮舉攻擊的方法,可在一定程度上可彌補窮舉攻擊破解耗時長、效率低的弱點,是一種可行的弱口令破解方法。而網站則會採用讓使用者輸入驗證碼的方法來避免攻擊者進行口令的掃描。

6、綜合漏洞掃描

        綜合漏洞掃描工具是一種自動探測系統和網路安全性弱點的工具,它集成了IP地址掃描、網路埠掃描、網路漏洞掃描等多種掃描技術。使用者可以及時找出各系統的漏洞以及漏洞相關呢榮,不用每天關注各種系統釋出的漏洞資訊。

        目前常用的綜合漏洞掃描工具非常多,其中Nessus是功能非常全面的開源綜合漏洞掃描工具。它集成了Nmap埠工具,支援plugin安全外掛結構體系,使用者可以通過不斷更新外掛來進行更有效更復雜的掃描.Nessus支援Windows、UNIX/Linux等主流的作業系統,可以對網路漏洞和系統漏洞進行全面的漏洞掃描,並能根據檢測結果向使用者提供了一份詳盡的安全性分析報告。

7、掃描的防範技術

        因為掃描通常是入侵的前奏,因此作為安全維護人員和白帽黑客,我們更要關注防範的方法。從上面的介紹我們知道,眾多掃描技術的原理都可以歸納為由源主機向目標主機發送各種掃描的資料包,並根據目標主機的反饋資訊探測出其IP地址、網路埠、漏洞弱口令等。

        所以,我們需要採取的措施也很簡單,只要在目標主機和網路的外圍邊界部署防火牆即可。此外,還可以採用安全檢測工具對掃描行為進行檢測