人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

網絡安全圖文詳細教程-密碼與Crack工具研究(4)

網絡安全圖文詳細教程-密碼與Crack工具研究(4)

更新時間:2021-12-02 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
1.2.3 讀寫口令文件的一組子程序
  為了對/etc/passwd文件進行方便的存取,我編寫了一組訪問/etc/passwd文件的子程序。可讀取文件的用戶條目入口項或寫入新的用戶條目等。這組子程序可用于編寫Crack程序。

  Getpwuid()函數即可從/etc/passwd文件中獲取指定的UID的用戶條目。Getpwnam()函數則對于指定的登錄名,在/etc/passwd文件檢索用戶條目。getpwent(),setpwent(),endpwent()等函數則可對口令文件作后續處理。

  Getpwuid()與Getpwnam()返回一指向passwd結構的指針,該結構定義如下:

struct passwd {
char * pw_name; /* 登錄名 */
char * pw_passwd; /* 加密后的口令 */
uid_t pw_uid; /* UID */
gid_t pw_gid; /* GID */
char * pw_age; /* 代理信息 */
char * pw_comment; /* 注釋 */
char * pw_gecos;
char * pw_dir; /* 主目錄 */
char * pw_shell; /* 使用的shell */
char * pw_shell; /* 使用的shell */

首次調用getpwent(),可打開/etc/passwd文件并返回指向文件中第一個用戶條目的指針,并保持調用之間文件的打開狀態,再調用getpwent()便可順序地返回口令文件中的各用戶條目。而調用setpwent() 又可把口令文件的指針重新置為文件的開始處,最后使用完口令文件后調用endpwent() 可關閉口令文件。

1.2.4 構造Crack程序
  綜上所述,構造一個Crack工具只需以下步驟:

1、下載或自己生成一個字典文件。
2、取出字典文件中的每一條目,對每個單詞運用一系列規則。規則可以多種多樣,典型的規則包括:
3、使用幾個單詞和數字的組合。
4、大小寫交替使用。
5、把單詞正向、反向拼寫后,接在一起。
6、在每個單詞的開頭或結尾加上一些數字。當然,使用的規則越多,破譯所需時間就越長。但是,規則越多,破譯成功的可能性也越大。
7、調用系統的crypt() 函數對使用規則生成的字符串進行加密變換。
8、再用上述的一組子程序打開口令文件,取出密文口令,與crypt() 函數的輸出進行比較。

循環重復2-3步,直至口令破解成功。

1.3口令Crack實驗分析
  目前,最著名的口令Crack 工具是John the Ripper 與L0pht Crack。其中,John the Ripper用來破解Unix 系統口令,L0phtCrack 破解NT系統口令,它們有運行于不同平臺的多個版本。我獲取了運行于Windows 98/NT的最新版本:John the Ripper 1.6和L0phtCrack 2.5。并分別進行了口令Crack 的實驗,因為實驗方案基本相同,所以僅做John the Ripper 口令Crack 實驗的分析。

  首先,使用Turbo Linux 4.2 建立了三個用戶組,每組4個用戶帳號,總共12個帳號;分別是:A5,A6,A7,A8;B5,B6,B7,B8;C5,C6,C7,C8。其中,A代表該用戶的口令只包含字母,B代表該用戶的口令包含字母與數字,C代表該用戶的口令包含字母、數字及特殊字符。5-8代表該用戶的口令長度是5-8個字符。這些帳號的GID均被設為500。

  實驗用的計算機配置為:PentiumIII 500,128M內存,操作系統為Windows98第二版。先進行系統測試,運行"John -test",結果顯示如下:

Benchmarking: Standard DES [48/64 4K]... DONE
Many salts: 18581 c/s
Only one salt: 30792 c/s

Benchmarking: BSDI DES (x725) [48/64 4K]... DONE
Many salts: 1054 c/s
Only one salt: 971 c/s

Benchmarking: FreeBSD MD5 [32/32]... DONE
Raw: 732 c/s

Benchmarking: OpenBSD Blowfish (x32) [32/32]... DONE
Raw: 41.2 c/s

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short: 32540 c/s
Long: 92064 c/s

Benchmarking: NT LM DES [48/64 4K]... DONE
Raw: 230855 c/s

  可以看出,使用標準DES加密變換的速率為:18581 字符/秒(使用多個Salt時)與30792 字符/秒(使用單個Salt時),這是實驗運行時的加密變換速率。

John the Ripper 的使用方法為:
Usage: file://D/HACKER/CRACK/JOHN-16/RUN/john [OPTIONS] [PASSWORD-FILES]
它有多個使用選項,參見表1.4。
表1.4 John the Ripper使用選項含義
選項 意義
-rules
破解規則

-wordfile:FILE
字典文件

-incremental
增量方式

-restore[:FILE]
恢復已存儲的進度

-session:FILE
存儲當前進度

-show
顯示當前進度

-makechars:FILE
字符集

-users:[-]LOGIN|UID[,..]
指定想破解的用戶

-groups:[-]GID[,..]
指定想破解的用戶組



由于Turbo Linux使用了Shadow文件,得先進行Unshadow處理:
Unshadow passwd shadow >pass

得到Unshadow的口令文件pass,再輸入:
John -groups:500 -show pass

  開始Crack過程。進行10個小時后,得到如表5.5所示的結果。其中,單位精確到分,沒有Crack成功的標為"NO"。

表1.5 使用John the Ripper的Crack實驗結果

花費時間 花費時間 花費時間
A5 00:12 B5 02:16 C5 NO
A6 02:25 B6 NO C6 NO
A7 01:38 B7 05:21 C7 NO
A8 04:54 B8 NO C8 NO


  可以看出,A組的成功率為:100%,B組的成功率為:50%,C組的成功率為:0%。因此,隨著字符集的擴大,破解的難度明顯增大。所以,安全的口令必須包含特殊字符。

  還有一點值得注意,即在整體上口令越長,破譯所需的時間越多,但A7比A6的破譯時間短,這說明John the Ripper并不是先嘗試完n個字符的口令,再嘗試長為n+1的口令;而是運用了復雜的規則進行匹配。各個Crack程序的具體實現有差異,它們運用了不同的規則,使得它們破譯口令的所需時間不一樣。

網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 民县| 石棉县| 潼南县| 拜泉县| 天水市| 北海市| 萨嘎县| 台中市| 黑山县| 奉化市| 金寨县| 车致| 宽甸| 自贡市| 岳阳市| 那曲县| 修水县| 盐城市| 阿巴嘎旗| 大邑县| 延川县| 中方县| 井陉县| 南岸区| 昔阳县| 保康县| 昭觉县| 容城县| 台州市| 平远县| 犍为县| 贵港市| 永定县| 小金县| 景泰县| 罗山县| 茌平县| 定南县| 红河县| 黄石市| 黄大仙区|