一、實驗目的要求:
二、實驗設備與環境:
三、實驗原理:
四、實驗步驟:?
五、實驗現象、結果記錄及整理:
六、分析討論與思考題解答:
一、實驗目的要求:
1、了解SSH密碼攻擊、FTP密碼攻擊的原理,了解攻擊后的嚴重后果。
2、掌握SSH密碼攻擊和FTP密碼攻擊的方法。
3、具體要求:
????????1)學習密碼攻擊的基本原理,并使用Hydra工具暴力破解密碼。
????????2)對SSH、FTP應用程序進行強壯密碼設置。
二、實驗設備與環境:
三、實驗原理:
1、根據密碼攻擊的原理:在不知密鑰的情況下,推算出密碼明文;
2、根據密碼攻擊的方法:
1)窮舉法:依次遍歷所有的密鑰對密文進行破解,或用一個確定的密鑰對所有明文進行加密。此方法受時間和存儲空間的限制。
2)統計分析攻擊:通過解析密文和明文的統計規律來破解密碼。此方法需人工分析統計,從而找出其中的規律、對應關系等信息。
3)數學分析攻擊:結合數學基礎、密碼學等,對加密解密算法分析分析破解。此方法需要人工參與分析計算。
3、根據Hydra工具的作用:用此工具進行暴力破解,可在線破解多種密碼。結合相關攻擊協議、模塊進行破解,如協議AFP、CVS、FTP等。并提供多種登錄機制。此工具操作簡單,提供圖形化界面。
4、根據SSH、FTP協議的特點,ssh是securety shell(安全外殼協議)的縮寫,是一種網絡協議,作用是用于計算機之間的加密登錄;FTP協議提供交互式的訪問,允許客戶指定存儲文件的類型與格式,具備鑒別控制能力,屏蔽了計算機系統的細節。本實驗將使用Hydra對SSH和FTP協議進行密碼破解。
四、實驗步驟:
(一)破解SSH密碼
1、登錄主機2,設置被攻擊主機SSH服務,執行以下命令配置"sshd_config"文件,"$ sudo vim /etc/ssh/sshd_config"。輸入密碼"root@openlab",將配置文件中的"PermitRootLogin without-password"注釋掉,并加一行命令"PermitRootLogin yes"。注釋的目的是為root賬號開啟ssh登錄,防止ssh服務拒絕密碼。"PermitRootLogin yes"的作用是允許root登錄。
PermitRootLogin可以限定root用戶通過ssh的登錄方式,如禁止登陸、禁止密碼登錄、僅允許密鑰登錄和開放登錄。without-password參數類別是允許ssh登錄,登錄方式除密碼以外,交互shell沒有限制。
重新啟動ssh服務,將以上的設置生效。"$ sudo service ssh restart"。
?2、登錄主機1,手動創建用戶名字典和密碼字典,為后續的破解做準備工作。執行命令"vi user.txt",添加用戶名,執行命令"vi password.txt",添加密碼。并保存退出。如用戶名"root"、"linux"、"user",密碼"123"、"admin"、"root@openlab"。
此輸入的用戶名和密碼只為學習破解流程,正在需要實際破解時,要利用密碼字典生成器生成強大的字典。
3、啟動hydrg-gtk工具,進行破解。
1)在Target選項卡下,設置Single Target地址,即攻擊目標系統的地址,30.0.1.4(主機2),設置協議為SSH,勾選Output Options框中Show Attempts的復選框,可以查看密碼攻擊的過程。
2)在Password選項卡下,添加字典,指定用戶名和密碼,列表文件勾選“Username List”并單擊后面的空框,在彈出框中選擇剛剛創建的用戶名列表文件。同理,完成密碼列表文件的選擇,最后勾選"Loop around users"選項,用來循環訪問用戶。
3)在"Tuning"選項卡下,自定義任務編號、超時時間,Number of Tasks設為16,Timeout設為30,勾選"Exit after first found pair"的復選框,表示找到第一對匹配項時則停止攻擊。
4)在"Start"選項卡下,單擊"Start"按鈕,進行攻擊。
破解出的用戶名密碼為root/root@openlab。
4、強壯密碼設置,將主機2的登錄密碼設置復雜,執行"sudo passwd"命令,重設用戶root的密碼為"root@openlab123"。返回主機1,啟動hydrg-gtk工具,再次破解,可看出,由于字典的限制因素,此次破解失敗。暴力破解需要強大的字典庫作為支撐。
(二)破解FTP密碼
1、登錄主機2,執行命令"sudo passwd"命令回復root之前的密碼。
2、同SSH配置原理,執行"sudo vi/etc/ftpuser"命令,修改配置文件ftpusers,將文件中的root注釋掉,并保存。讓ftp允許root登陸,即讓root賬戶從禁止登錄的用戶列表中排除。并執行命令"sudo service vsftpd restart",重啟vsftp服務,生效以上配置。
3、同SSH破解原理,啟動hydra-gtk工具,設置Target、Password、Tuning、Start選項卡下的相關信息,此處選擇的協議是FTP協議。設置完成后,進行第一次破解,可看出,正常破解。同理,再次提高密碼的健壯性,進行第二次破解,可看出,破解失敗。
五、實驗現象、結果記錄及整理:
1、對SSH、FTP進行破解時,在字典弱,密碼弱的情況下,可輕松破解;在字典弱,密碼強的情況下,破解失敗。可得出,若要破解強密碼,就要有強字典。
2、在使用hydra-gtk工具時,可看出,此工具用戶體驗好、方便快捷、功能強大,可則需使用。
3、在配置相關協議文件時,一個文件包含了很多的信息,應讀懂相關參數的作用,根據所需進行相應配置,以免配置錯誤,影響結果。
六、分析討論與思考題解答:
1、sshd_config中有哪些常用的指令?
1)AcceptEnv,指定客戶端發送的哪些環境變量將會被傳遞到會話環境中。
2)AddressFamily,指定 sshd(8) 應當使用哪種地址族。
3)AllowGroups,這個指令后面跟著一串用空格分隔的組名列表(其中可以使用"*"和"?"通配符)。默認允許所有組登錄。
4)AllowTcpForwarding,是否允許TCP轉發,默認值為"yes"。
5)AllowUsers,這個指令后面跟著一串用空格分隔的用戶名列表(其中可以使用"*"和"?"通配符)。默認允許所有用戶登錄。
2、ftpusers文件的作用是什么?
ftpusers不受任何配制項的影響,它總是有效,即一個黑名單,該文件存放的是一個禁止訪問FTP的用戶列表,通常為了安全考慮,不希望一些擁有過大權限的帳號(比如root)登入FTP,以免通過該帳號從FTP上傳或下載一些危險位置上的文件從而對系統造成損壞。
3、還有哪些攻擊可破解密碼?
擊鍵記錄、屏幕記錄、網絡釣魚、Sniffer(嗅探器)、Password Reminder、遠程控制、分析推理、密碼心理學等
?
?