麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

使用Ruby實現FTP密碼破解

2020-10-29 19:34:16
字體:
來源:轉載
供稿:網友

這篇文章我將帶大家利用Ruby,來構建我們自己的FTP密碼破解器。并希望通過這個例子,讓大家明白暴力攻擊的概念及其重要性。好了話不多說,下面讓我們開始吧!

何為暴力攻擊?

暴力攻擊這個詞,其實對于許多安全圈的小伙伴來說都并不陌生,可謂是簡單粗暴。但對于許多攻擊者而言,暴力攻擊卻是不可或缺的一種攻擊手段。在實際應用中,由于暴力攻擊需要消耗大量的時間和資源,因此往往都不會成為攻擊者首選的方案,但它卻會是攻擊者最后的選項。

例如我們設置一個如下場景:

你現在想要訪問你所在公司的FTP(文件傳輸協議)服務器。你幾乎嘗試了所有可能獲取賬號密碼的方法,但由于目標FTP服務器安全性做的非常的好也不存在任何安全漏洞,同時該公司的員工安全意識也非常的強,你也無法進行社會工程學的攻擊。面對這種幾近極端的情況,最終你不得不采取暴力攻擊的方式。

首先,你會需要提前準備一個用于暴力破解的攻擊字典。然后將字典拖放到密碼破解工具的指定位置,密碼破解工具會對字典中的單詞列表進行逐一嘗試并嘗試登陸FTP服務器,直至匹配出正確的FTP服務密碼。

簡單吧?雖然暴力攻擊非常簡單粗暴,但它的威力卻不容小覷。有時它將決定我們滲透測試的成敗與否!下面,讓我們來構建一個屬于我們自己的FTP密碼破解器吧!

構建屬于自己的FTP密碼破解器

這里我們將會使用到Ruby腳本,來構建我們的FTP密碼破解器。如果你不是很了解Ruby腳本,不用擔心,我已經為大家準備了 Ruby的基礎教程 ,該教程涵蓋了本文中所用到的一些Ruby基礎知識,因此我建議大家在閱讀本文之前,先去掌握一些Ruby的基礎知識,以便更好地閱讀本文。下面我們直接進入代碼部分。

就像Python腳本一樣,在代碼起始位置我們需要聲明為Ruby腳本,并引入我們所需的函數庫以及獲取用戶的輸入信息:

這里我們只需要兩個庫文件。我們需要利用 socket 庫與FTP服務器進行通信,以進行暴力破解的嘗試登錄連接操作。而 timeout 庫則用于設置與目標服務器之間的第一次超時時間,如果服務器無法訪問,則會向我們返回超時提示。

接下來我們需要檢查ARGV列表的長度。該列表會在腳本啟動時生成,列表中包含了用戶從命令行順序輸入的所有參數。這里我們使用的unless語句相當于if not,如果這里ARGV接收的參數長度不等于3那么,該腳本將會打印使用規則并退出。

以下這段代碼將會開始嘗試連接目標服務器,并檢查目標服務器是否可正常通信:

以上代碼我們簡單的使用了socket庫并丟了個IP地址,來建立與目標服務器的通信連接。同時,我們使用了timeout庫做了一個十秒鐘的超時循環,如果連接在十秒內未完成,腳本將會在客戶端界面提示用戶并關閉腳本。有了這些基本的功能后,下面我們使用以下函數來讀取用戶的字典列表文件:

這個功能函數的實現其實非常簡單。我們將文件路徑作為函數的一個參數,并打印讀取的單詞列表。然后我們利用file.open()函數來打開文件,并讀取文件內容。在讀取文件時,我們以每行文本末尾的 ‘/n' 換行符來分割列表中的內容,這樣我們就能獲取到我們需要的密碼列表了。隨后我們會將該列表存儲在全局變量中,并將文件關閉進行下一步的操作。如果文件讀取失敗,腳本將會在客戶端界面提示用戶,并退出腳本。現在我們已經具備了以上兩個FTP密碼破解器的基本功能函數,接下來我們就可以來實際構建嘗試登錄到服務器的功能函數了:

這個函數非常重要,因為它將為我們進行實際的破解操作。這里我們首先創建了一個新的TCP套接字并將其連接到FTP服務器,然后我們等待FTP服務器的banner響應。當我們成功接收banner響應后,我們開始輸入我們的用戶名,并等待密碼輸入提示,接著我們將密碼嘗試發送到服務器。這時,我們將從服務器接收數據,并將其存儲在一個變量中。該數據將會包含我們嘗試登錄的結果。

我們通過字符串“230”來判斷,我們是否成功登陸目標FTP服務器(“230”為FTP成功登錄的響應碼)。否則返回false。到此為止,我們的FTP密碼破解器已基本成型,最后我們要做的就是調用并整合以上的功能函數,開始執行我們的暴力攻擊:

以上代碼將調用我們之前創建的函數,并對目標FTP服務器進行檢查以及讀取我們提供的字典列表文件。接著我們將開始對目標FTP服務器進行攻擊,這里使用了一個循環,將對用戶提供的單詞列表進行逐一嘗試。如果最終密碼成功匹配,腳本將會將破解結果返回給用戶,并關閉腳本。下面讓我們來測試下我們的成果!

暴力攻擊測試

首先,我將創建一個字典文件。由于這只是一個例子,因此我的字典文件非常的簡短。但在實際環境中,一般情況下我們都需要使用非常大的字典文件。以下是我創建的單詞列表:

我們來運行我們的腳本,可以看到這里有一個簡單的使用提示:

現在,我們根據該腳本的使用規則提供相應的參數值,并執行腳本。經過一段時間的等待,我們可以看到FTP服務器密碼被成功爆破:

總結

正如我開頭所說的,暴力攻擊雖然簡單粗暴,但對于攻擊者而言它有時將會決定我們滲透的成敗與否。因此作為我們安全測試人員,對于深入了解暴力攻擊的過程及原理有著非同尋常的意義。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线播放亚洲视频 | 91精品视频网址 | 免费在线观看国产 | 日韩每日更新 | 狠狠一区| 最新av免费网址 | 免费一级肉体全黄毛片 | 91短视频在线免费观看 | 欧美成人小视频 | 性爱视频在线免费 | 久久久久av电影 | 99精品热视频 | 国产乱子视频 | 91在线色 | 日本教室三级在线看 | 91国内精品久久久久免费影院 | 国产成人综合在线视频 | 日本欧美一区二区三区在线播 | 亚洲一区二区三区四区精品 | 欧美成人黄色小视频 | 亚洲精品久久久久久下一站 | 欧美成人黄色小视频 | 久久精品日产第一区二区三区 | 日日摸夜夜添夜夜添牛牛 | 日韩中文字幕三区 | 欧美日韩亚洲国产精品 | 日本中文字幕久久 | 欧美雌雄另类xxxxx | 久久小视频 | 日本看片一区二区三区高清 | 亚洲一区二区三区日本久久九 | 三级xxxx | 日日草天天干 | a免费视频| 久草在线小说 | 国产精品6区 | 国产成年人在线观看 | 国产乱淫av| 欧美精品久久久久久久多人混战 | 国产高潮好爽受不了了夜色 | 欧美日本一 |