Web安全之《SSH暴力破解》

SSH暴力破解》作業

課程名稱:《Web安全(一)》

【要求】

  1. 概念越詳細越好;
  2. 驗證過程必要有截圖和文字說明;
  3. 防護措施必須超過6條以上;
  4. 其餘部分均可配文字簡介敘述;
  5. 作業模板在此基礎上可以自由發揮設計;
  6. 熟悉虛擬機的使用,瞭解滲透測試工具的使用方法和Linux命令

【SSH服務簡介描述】

SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲建立在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺—包括HP-UXLinuxAIXSolarisDigital UNIXIrix,以及其他平臺,都可運行SSH。

SSH 主要由三部分組成:

傳輸層協議 [SSH-TRANS]

提供了服務器認證,保密性及完整性。此外它有時還提供壓縮功能。 SSH-TRANS 通常運行在TCP/IP連接上,也可能用於其它可靠數據流上。 SSH-TRANS 提供了強力的加密技術、密碼主機認證及完整性保護。該協議中的認證基於主機,並且該協議不執行用戶認證。更高層的用戶認證協議可以設計爲在此協議之上。

用戶認證協議 [SSH-USERAUTH]

用於向服務器提供客戶端用戶鑑別功能。它運行在傳輸層協議 SSH-TRANS 上面。當SSH-USERAUTH 開始後,它從低層協議那裏接收會話標識符(從第一次密鑰交換中的交換哈希H )。會話標識符唯一標識此會話並且適用於標記以證明私鑰的所有權。 SSH-USERAUTH 也需要知道低層協議是否提供保密性保護。

連接協議 [SSH-CONNECT]

將多個加密隧道分成邏輯通道。它運行在用戶認證協議上。它提供了交互式登錄話路、遠程命令執行、轉發 TCP/IP 連接和轉發 X11 連接。

從客戶端來看,SSH提供兩種級別的安全驗證。

第一種級別(基於口令的安全驗證)

只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的攻擊。

第二種級別(基於密匙的安全驗證)

需要依靠密匙,也就是你必須爲自己創建一對密匙,並把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之後,先在該服務器上你的主目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)並把它發送給客戶端軟件。客戶端軟件收到“質詢”之後就可以用你的私人密匙解密再把它發送給服務器。

用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。

第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因爲他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。

 

傳統的網絡服務程序,如:ftp、pop和telnet在本質上都是不安全的,因爲它們在網絡上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而且,這些服務程序的安全驗證方式也是有其弱點的, 就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊。所謂“中間人”的攻擊方式, 就是“中間人”冒充真正的服務器接收你傳給服務器的數據,然後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被“中間人”一轉手做了手腳之後,就會出現很嚴重的問題。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以爲FTPPoP、甚至爲PPP提供一個安全的"通道"。

 

【弱口令及弱口令漏洞】

  弱口令(weak password) 沒有嚴格和準確的定義,通常認爲容易被別人(他們有可能對你很瞭解)猜測到或被破解工具破解的口令均爲弱口令。弱口令指的是僅包含簡單數字和字母的口令,例如“123”、“abc”等,因爲這樣的口令很容易被別人破解,從而使用戶的計算機面臨風險,因此不推薦用戶使用

  在當今很多地方以用戶名(帳號)和口令作爲鑑權的世界,口令的重要性就可想而知了。口令就相當於進入家門的鑰匙,當他人有一把可以進入你家的鑰匙,想想你的安全、你的財物、你的隱私。因爲弱口令很容易被他人猜到或破解,所以如果你使用弱口令,就像把家門鑰匙放在家門口的墊子下面,是非常危險的。

  口令是網絡系統的第一道防線。當前的網絡系統都是通過口令來驗證用戶身份、實施訪問控制的。口令攻擊是指黑客以口令爲攻擊目標,破解合法用戶的口令,或避開口令驗證過程,然後冒充合法用戶潛入目標網絡系統,奪取目標系統控制權的過程。
  如果口令攻擊成功黑客進入了目標網絡系統,他就能夠隨心所欲地竊取、破壞和篡改被侵入方的信息,直至完全控制被侵入方。所以,口令攻擊是黑客實施網絡攻擊的最基本、最重要、最有效的方法之一。
  口令攻擊的主要方法
  1、社會工程學(social Engineering),通過人際交往這一非技術手段以欺騙、套取的方式來獲得口令。避免此類攻擊的對策是加強用戶意識。
  2、猜測攻擊。首先使用口令猜測程序進行攻擊。口令猜測程序往往根據用戶定義口令的習慣猜測用戶口令,像名字縮寫、生日、寵物名、部門名等。在詳細瞭解用戶的社會背景之後,黑客可以列舉出幾百種可能的口令,並在很短的時間內就可以完成猜測攻擊。
  3、字典攻擊。如果猜測攻擊不成功,入侵者會繼續擴大攻擊範圍,對所有英文單詞進行嘗試,程序將按序取出一個又一個的單詞,進行一次又一次嘗試,直到成功。據有的傳媒報導,對於一個有8萬個英文單詞的集合來說,入侵者不到一分半鐘就可試完。所以,如果用戶的口令不太長或是單詞、短語,那麼很快就會被破譯出來。
  4、窮舉攻擊。如果字典攻擊仍然不能夠成功,入侵者會採取窮舉攻擊。一般從長度爲1的口令開始,按長度遞增進行嘗試攻擊。由於人們往往偏愛簡單易記的口令,窮舉攻擊的成功率很高。如果每千分之一秒檢查一個口令,那麼86%的口令可以在一週內破譯出來。
  5、混合攻擊,結合了字典攻擊和窮舉攻擊,先字典攻擊,再暴力攻擊。
  避免以上四類攻擊的對策是加強口令策略。
  6、直接破解系統口令文件。所有的攻擊都不能夠奏效,入侵者會尋找目標主機的安全漏洞和薄弱環節,飼機偷走存放系統口令的文件,然後破譯加密的口令,以便冒充合法用戶訪問這臺主機。
  7:網絡嗅探(sniffer),通過嗅探器在局域網內嗅探明文傳輸的口令字符串。避免此類攻擊的對策是網絡傳輸採用加密傳輸的方式進行。
  8:鍵盤記錄,在目標系統中安裝鍵盤記錄後門,記錄操作員輸入的口令字符串,如很多間諜軟件,木馬等都可能會盜取你的口述。
  9:其他攻擊方式,中間人攻擊重放攻擊生日攻擊、時間攻擊。
  避免以上幾類攻擊的對策是加強用戶安全意識,採用安全的密碼系統,注意系統安全,避免感染間諜軟件、木馬等惡意程序。
  口令攻擊的防護手段
  要有效防範口令攻擊,我們要選擇一個好口令,並且要注意保護口令的安全。
  1、好口令是防範口令攻擊的最基本、最有效的方法。最好採用字母、數字、還有標點符號、特殊字符的組合,同時有大小寫字母,長度最好達到8個以上,最好容易記憶,不必把口令寫下來,絕對不要用自己或親友的生日、手機號碼等易於被他人獲知的信息作密碼。
  2、注意保護口令安全。不要將口令記在紙上或存儲於計算機文件中;最好不要告訴別人你的口令;不要在不同的系統中使用相同的口令;在輸入口令時應確保無人在身邊窺視;在公共上網場所如網吧等處最好先確認系統是否安全;定期更改口令,至少六個月更改一次,這會使自己遭受口令攻擊的風險降到最低,要永遠不要對自己的口令過於自信。

 

 

【信息收集】

  • 測試對象

 

 

設備名稱

域名

IP地址

1.

OWASP Broken Web Apps v0.94OWASP Broken Web Apps v0.94

10.10.10.129

10.10.10.129

 

二、測試工具

 

工具名稱

描述

  1.  

kali-linux-2017.3-vm-amd64

Kali Linux預裝了許多滲透測試軟件,包括nmap Wireshark John the Ripper,以及Aircrack-ng

  1.  

Nmap

Network Mapper Linux下的網絡掃描和嗅探工具包. nmap是一個網絡連接端掃描軟件,用來掃描網上電腦開放的網絡連接端。確定哪些服務運行在哪些連接端,並且推斷計算機運行哪個操作系統(這是亦稱 fingerprinting

  1.  

metasploit

Metasploit是一款開源的安全漏洞檢測工具,可以幫助安全和IT專業人士識別安全性問題,驗證漏洞的緩解措施,並管理專家驅動的安全性進行評估,提供真正的安全風險情報。這些功能包括智能開發,代碼審計,Web應用程序掃描,社會工程

 

三、被測設備信息情況

1.基本信息

 

IP

操作系統

1.

10.10.10.128

OWASP Broken Web Apps v0.94OWASP Broken Web Apps v0.94

2.端口開放情況

 

 

端口號

服務

產品版本

1.

21/tcp

ftp 

vsftpd 2.2.2

2.

22/tcp

ssh

OpenSSH 5.3p1 Debian 3ubuntu4 (Ubuntu Linux; protocol 2.0)

3.

80/tcp

http 

Apache httpd 2.2.14 ((Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.

4

139/tcp

netbios-ssn

Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

5

143/tcp

imap

Courier Imapd (released 2008)

6

445/tcp

netbios-ssn

Samba smbd 3.X - 4.X (workgroup: WORKGROUP)

7

5001/tcp

java-rmi

Java RMI

8

8080/tcp

http

Apache Tomcat/Coyote JSP engine 1.1

 

【驗證過程】

1.首先打開Kali Linux 以及OWASP系統

2.打開Kali系統的nmap工具,即網絡掃描和嗅探工具包。

運行指令: nmap -sP 10.10.10.0/24

(查看有多少主機存在於同一網段)

運行指令: nmap –o 10.10.10.129

查看改網絡地址的各個信息,例如端口,MAC地址等

 

運行指令: nmap -sV -Pn 10.10.10.129

(查看改網絡的端口信息)

 

運行: msfconsole 出現如下界面:

(打開metasploit工具)

 

 

 

 

輸入指令: search ssh

(啓動ssh服務)

 

 

找到下面的文件

 

運行指令: use auxiliary/scanner/ssh/ssh_login

(進入ssh_login)_

 

 

 

 

 

運行 show options

(得到ssh_login服務的各類信息)

 

3.接下來使用品軒字典生成器V0.3生成用戶名字典以及密碼字典

 

生成如下兩個文件

 

設置兩個文件爲爆破文件

設置其他參數

4.開始爆破

 

 

由上圖可知,得到 root:owaspbwa 以及 user:owaspbwa 兩組賬號密碼

 

【防護措施】

安全口令

1.不使用空口令或系統缺省的口令,因爲這些口令衆所周知,爲典型的弱口令。

2.口令長度不小於8個字符。

3.口令不應該爲連續的某個字符(例如:AAAAAAAA)或重複某些字符的組合(例如:tzf.tzf.)。

4.口令應該爲以下四類字符的組合,大寫字母(A-Z)、小寫字母(a-z)、數字(0-9)和特殊字符。每類字符至少包含一個。如果某類字符只包含一個,那麼該字符不應爲首字符或尾字符。

5.口令中不應包含本人、父母、子女和配偶的姓名和出生日期、紀念日期、登錄名E-mail地址等等與本人有關的信息,以及字典中的單詞。

6.口令不應該爲用數字或符號代替某些字母的單詞。

7.口令應該易記且可以快速輸入,防止他人從你身後很容易看到你的輸入。

8.至少90天內更換一次口令,防止未被發現的入侵者繼續使用該口令。

注意事項

1.在筆記本或其它地方不要記錄口令。

2.向他人透露口令,包括管理員和維護人員。當有人打電話來向你索要口令時,你就該保持警惕了。

3.e-mail或即時通訊工具中不透露口令。

4.離開電腦前,啓動有口令保護的屏幕保護程序

5.在多個帳戶之間使用不相同的口令。

6.在公共電腦不要選擇程序中可保存口令的功能選項。

切記,不要使用弱口令,以及保護好你的口令。

同時要注意,改過的口令一定要牢記。很多人因常改口令而遺忘,造成很多不必要的麻煩。

修改默認的端口號

將默認端口22修改爲自定義的2020端口    

[root@localhost ~]# vi /etc/ssh/sshd_config

[root@localhost ~]# grep Port /etc/ssh/sshd_config

Port 2020   

#GatewayPorts no

在防火牆中加入2020端口的策略
       [root@localhost ~]# vi /etc/sysconfig/iptables

[root@localhost ~]# grep 2020 /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2020 -j ACCEPT

  •  
  1. 重啓防火牆策略
  • [root@localhost ~]# /etc/init.d/iptables restart
  • iptables: Setting chains to policy ACCEPT: nat filter     
  • iptables: Flushing firewall rules:                       
  • iptables: Unloading modules:                              
  • iptables: Applying firewall rules:                       
  •  
  1. 重啓sshd服務
  • [root@localhost ~]# /etc/init.d/sshd restart
  • Stopping sshd:                                
  • Starting sshd:                                 

不使用root賬號登錄

1.修改登錄shell:將 /bin/bash 改爲 /sbin/nologin

2.修改sshd配置文件:將PermitRootLogin 設置爲no

3.將普通用戶提升爲系統管理員:將UIDGID改爲0,一般情況這個就可以解決了暴力破解的問題了。

教程下載地址:https://download.csdn.net/download/qq_38162763/10594267

 

end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章