網絡安全——SSH密碼攻擊實驗

一、實驗目的要求:

二、實驗設備與環境:

三、實驗原理:

四、實驗步驟:?

五、實驗現象、結果記錄及整理:

六、分析討論與思考題解答:


一、實驗目的要求:

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、遠程控制、分析推理、密碼心理學等

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214544.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214544.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214544.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【BEV感知 EA-LSS 方案】Edge-aware Lift-splat-shot

前言 本文分享LSS方案的改進方案——EA-LSS,它解決了“深度跳變”問題,提出了一個新框架Edge-aware Lift-splat-shot 。 適用于“多視圖轉BEV”,可以代替原來的LSS模塊,并有效地提高了檢測精度,而推理時間的增加很少。 在nuScenes測試集上驗證,純相機模型或多模態模型…

Jmeter 請求簽名api接口-BeanShell

Jmeter 請求簽名api接口-BeanShell 項目簽名說明編譯擴展jar包jmeter 使用 BeanShell 調用jar包中的簽名方法 項目簽名說明 有簽名算法的api接口本地不好測試,使用BeanShell 擴展jar 包對參數進行簽名,接口簽名算法使用 sha512Hex 算法。簽名的說明如下…

Mybatis是如何進行分頁的?

程序員的公眾號:源1024,獲取更多資料,無加密無套路! 最近整理了一份大廠面試資料《史上最全大廠面試題》,Springboot、微服務、算法、數據結構、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、數據庫等等 …

Django系列之Celery異步框架+RabbitMQ使用

在Django項目中,如何集成使用Celery框架來完成一些異步任務以及定時任務呢? 1. 安裝 pip install celery # celery框架 pip install django-celery-beat # celery定時任務使用 pip install django-celery-results # celery存儲結果使用2. Django集成…

gin投票系統3

對應視頻v1版本 1.優化登陸接口 將同步改為異步 原login前端代碼&#xff1a; <!doctype html> <html lang"en"> <head><meta charset"utf-8"><title>香香編程-投票項目</title> </head> <body> <m…

開關量防抖濾波器(梯形圖和SCL源代碼)

模擬量防抖超限報警功能塊請查看下面文章鏈接: https://rxxw-control.blog.csdn.net/article/details/133969425https://rxxw-control.blog.csdn.net/article/details/133969425 1、開關量防抖濾波器 2、防抖濾波 3、梯形圖代碼

useMemo和useCallback

useMemo和useCallback是React中的兩個優化性能的鉤子&#xff08;Hooks&#xff09;。它們都可以用來緩存計算結果&#xff0c;避免在每次渲染時都重新執行耗時的操作。然而&#xff0c;它們的主要區別在于緩存的內容和使用場景。 useMemo useMemo用于緩存那些計算成本較高的值…

2.Feign使用、上下文隔離及源碼閱讀

目錄 概述使用配置pom.xmlfeign 接口編寫controller 測試降級處理pom.xmlapplication.yml代碼 Feign如何初始化及調用源碼閱讀初始化調用 feign的上下文隔離機制源碼 結束 概述 閱讀此文&#xff0c;可以知曉 feign 使用、上下文隔離及源碼閱讀。源碼涉及兩方面&#xff1a;fe…

課后作業7.3.1:構造一個自己的小操作系統

構造一個自己的 mini 操作系統 任務描述 請實現如下功能&#xff1a; 1.寫一個命令解釋器程序 mysh.c &#xff0c;其功能是接收用戶輸入的命令并給出反饋。要求該程序既支持內部命令 cd、sync、exit &#xff1b;也支持外部命令&#xff0c;即可以接收 cat、ls 等命令&#x…

數據結構與算法-Rust 版讀書筆記-2線性數據結構-雙端隊列

數據結構與算法-Rust 版讀書筆記-2線性數據結構-雙端隊列 1、雙端隊列 deque又稱為雙端隊列&#xff0c;雙端隊列是與隊列類似的項的有序集合。deque有兩個端部&#xff1a;首端和尾端。deque不同于隊列的地方就在于項的添加和刪除是不受限制的&#xff0c;既可以從首尾兩端添…

vue3封裝接口

在src下面創建一個文件夾任意名稱 我拿這個名字舉例子了apiService 相當于創建一個新的文件 // 封裝接口 // apiService.js import axios from axios;// 接口前綴 const API_BASE_URL 前綴;接口后綴export const registerUser async (fileData) > {try {const response …

數據分析 | 頻率編碼和標簽編碼 | Python代碼

數據集見GitHub鏈接&#xff1a;https://github.com/ChuanTaoLai/Frequency-Encoding-And-Label-Encoding 標簽編碼&#xff1a; import pandas as pd from sklearn.preprocessing import LabelEncoderdata1 pd.read_excel(rD:\0文獻整理\網絡入侵檢測\KDD99\KDDTrain.xlsx) …

透析跳躍游戲

關卡名 理解與貪心有關的高頻問題 我會了?? 內容 1.理解跳躍游戲問題如何判斷是否能到達終點 ?? 2.如果能到終點&#xff0c;如何確定最少跳躍次數 ?? 1. 跳躍游戲 leetCode 55 給定一個非負整數數組&#xff0c;你最初位于數組的第一個位置。數組中的每個元素代表…

微信商家收款碼扣多少手續費

很多人想申請低手續費率的收款碼不知從何下手&#xff0c;在參考了大量博客教學之后&#xff0c;終于搞懂了詳細流程以及注意事項。在此記錄一下。我申請的是一個只需要0.2%費率的微信收款碼&#xff0c;申請時間是2022年2月12日。申請之前只需要準備營業執照和法人身份z&#…

JSON在線解析

JSON在線解析及格式化驗證 - JSON.cn JSON在線視圖查看器(Online JSON Viewer)

java中list的addAll用法詳細實例?

List 的 addAll() 方法用于將一個集合中的所有元素添加到另一個 List 中。下面是一個詳細的實例&#xff0c;展示了 addAll() 方法的使用&#xff1a; java Copy code import java.util.ArrayList; import java.util.List; public class AddAllExample { public static v…

設計模式: 關于編程范式的聲明式和命令式編程及應用框架的開發和設計原則

編程范式 命令式編程聲明式編程 上述兩種范式是相對來說的 命令式編程 詳細描述做事過程的方式就可以叫做 命令式例子: 張三媽媽讓張三買食鹽 拿錢&#xff0c;開門&#xff0c;下樓&#xff0c;到商店&#xff0c;付款&#xff0c;帶著食鹽回家 例子&#xff1a;在指定div…

驗證二叉搜索樹[中等]

優質博文&#xff1a;IT-BLOG-CN 一、題目 給你一個二叉樹的根節點root&#xff0c;判斷其是否是一個有效的二叉搜索樹。有效 二叉搜索樹定義如下&#xff1a; 【1】節點的左子樹只包含 小于 當前節點的數。 【2】節點的右子樹只包含 大于 當前節點的數。 【3】所有左子樹和右…

Leetcode 40 組合總和 II

題意理解&#xff1a; 每個數字在每個組合中只能使用 一次 數字可以重復——>難點&#xff08;如何去重&#xff09; 每個組合和target 求組合&#xff0c;對合限制&#xff0c;考慮回溯的方法。——將其抽象為樹結構。 樹的寬度——分支大小 樹的深度——最…

Spring IoC和DI

目錄 一. Spring是什么 IoC DI 二. IoC&DI的使用 IoC 1.Controller&#xff08;控制器存儲&#xff09; 2.Service&#xff08;服務存儲&#xff09; 3.Repository&#xff08;倉庫存儲&#xff09; 4.Componemt&#xff08;組件存儲&#xff09; 5.Configuratio…