《SSH暴力破解》作業
課程名稱:《Web安全(一)》 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【要求】
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【SSH服務簡介描述】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲建立在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行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,又可以爲FTP、PoP、甚至爲PPP提供一個安全的"通道"。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【弱口令及弱口令漏洞】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
弱口令(weak password) 沒有嚴格和準確的定義,通常認爲容易被別人(他們有可能對你很瞭解)猜測到或被破解工具破解的口令均爲弱口令。弱口令指的是僅包含簡單數字和字母的口令,例如“123”、“abc”等,因爲這樣的口令很容易被別人破解,從而使用戶的計算機面臨風險,因此不推薦用戶使用 在當今很多地方以用戶名(帳號)和口令作爲鑑權的世界,口令的重要性就可想而知了。口令就相當於進入家門的鑰匙,當他人有一把可以進入你家的鑰匙,想想你的安全、你的財物、你的隱私。因爲弱口令很容易被他人猜到或破解,所以如果你使用弱口令,就像把家門鑰匙放在家門口的墊子下面,是非常危險的。 口令是網絡系統的第一道防線。當前的網絡系統都是通過口令來驗證用戶身份、實施訪問控制的。口令攻擊是指黑客以口令爲攻擊目標,破解合法用戶的口令,或避開口令驗證過程,然後冒充合法用戶潛入目標網絡系統,奪取目標系統控制權的過程。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【信息收集】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
二、測試工具
三、被測設備信息情況 1.基本信息
2.端口開放情況
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【驗證過程】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 ~]# grep 2020 /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 2020 -j ACCEPT
不使用root賬號登錄 1.修改登錄shell:將 /bin/bash 改爲 /sbin/nologin 2.修改sshd配置文件:將PermitRootLogin 設置爲no 3.將普通用戶提升爲系統管理員:將UID和GID改爲0,一般情況這個就可以解決了暴力破解的問題了。 |
教程下載地址:https://download.csdn.net/download/qq_38162763/10594267
end