Tạo danh sách mật khẩu phức tạp với John the Ripper

yêu cầu mật khẩu phức tạp. Những điều tuyệt vời mà tạo động lực cho người dùng để viết mật khẩu của mình vào các ghi chú dán và đặt chúng dưới bàn phím, hoặc lưu trữ chúng trong các file văn bản trên máy tính để bàn của họ. 2 chữ hoa, chữ thường 2, 2 con số, 2 ký tự đặc biệt, và chiều dài tối thiểu là 10. Đây là một tiêu chuẩn phức tạp được sử dụng bởi nhiều tổ chức như các yêu cầu tối thiểu cho các mật khẩu người dùng. cách tốt nhất để crack các mật khẩu phức tạp là gì? Brute buộc sẽ là không khả thi cho một thời gian giới hạn, hầu hết các danh sách từ có đầy đủ các mẫu không đạt tiêu chuẩn, và không ai trong số các bộ lọc được xây dựng trong JTR và bộ quy tắc được thiết kế đặc biệt để tấn công mật khẩu phức tạp. Đó là các cuộc thảo luận rằng Mark Baggett của PaulDotCom và tôi đã có khi chúng tôi quyết định viết bộ lọc JTR riêng của chúng tôi để xây dựng danh sách từ cho việc bẻ khóa mật khẩu phức tạp. Đạo cụ để Korelogic cho đá của họ là "Crack Me If You Can" quy tắc thế hệ mật khẩu mà chúng tôi sử dụng như là cơ sở của chúng tôi. Dưới đây là cách nó đã đi.
Đầu tiên, Mark kéo một quy tắc ra của bộ quy tắc Korelogic và bắt đầu xây dựng lại nó để đáp ứng thông số kỹ thuật. Ông đã gửi cho tôi và tôi đã hoàn thành các nội. Dưới đây là bộ lọc kết quả. Chúng tôi đã thêm nó vào dưới cùng của file john.conf của chúng tôi.

[List.External:Filter_Complex]
void filter()
{
    int i, c ;
    int yesCAP;
    int yesLOW;
    int yesNUM;
    int yesSPECIAL;
    int yesMinLen;
    int yesMaxLen;
    int MinLen;
    int MaxLen;

    MinLen = 10;
    MaxLen = 30;

    i = 0;
    yesCAP = 0;
    yesLOW = 0;
    yesNUM = 0;
    yesSPECIAL = 0;
    yesMinLen = 0;
    yesMaxLen = 1;
    while (c = word[i++])
    {
    if (c >= 'A' && c <= 'Z') { yesCAP = yesCAP + 1; }
    else if (c >= 'a' && c <= 'z') { yesLOW = yesLOW + 1; }
    else if (c >= '0' && c <= '9') { yesNUM = yesNUM + 1; }
    else {yesSPECIAL = yesSPECIAL + 1;}
    }
    if (i > MinLen) {yesMinLen = 1;}
    if (i >= MaxLen) {yesMaxLen = 0;}
    if (yesCAP < 2 || yesLOW < 2 || yesNUM < 2 || yesSPECIAL < 2 || yesMinLen==0 || yesMaxLen==0) { word = 0; return;}
}

Như bạn có thể thấy, các mã được dễ dàng sửa đổi để phản ánh chỉ là về bất kỳ tiêu chuẩn phức tạp. Một khi chúng tôi đã thêm các bộ lọc để tập john.conf, chúng tôi phải chọn một danh sách có kích thước khá để chạy qua bộ lọc. Đánh dấu đề nghị danh sách rockyou.txt. Chúng tôi chạy nó thông qua các bộ lọc:

./john --wordlist=[path to word list] --stdout --external:[filter name] > [path to output list]

Điều này đã cho chúng tôi tất cả các mật khẩu trong danh sách đó đáp ứng các yêu cầu phức tạp được xác định trong bộ lọc. Danh sách này chứa 5,641 mật khẩu. Hmmmm ... Tôi tự hỏi có bao nhiêu người sử dụng đã sử dụng cùng một mật khẩu để đăng nhập vào tài khoản của công ty của họ? Danh sách này là không đủ toàn diện cho Mark và tôi, vì vậy chúng tôi sử dụng một bộ quy tắc tùy chỉnh được viết bởi Matt Weir để mở rộng danh sách của chúng tôi (các thiết lập quy tắc tùy chỉnh được dán nhãn 'modified_single' trong john.conf liên kết):

./john --wordlist=[path to NEWLY CREATED word list] --stdout --rules:modified_single --external:[filter name] > [path to output list]
Điều này đã cho chúng tôi một danh sách các mật khẩu 988.057. Tốt hơn nhiều. Thời gian để crack một số băm. Nhưng ... không quá nhanh. Thật không may, không phải của chúng tôi hiện đang có quyền pháp lý để pentest mạng quan thi hành một tiêu chuẩn phức tạp như thế này. Vì vậy, nếu có ai đọc sách này không có gì, hoặc có một bộ khá băm để chạy nó chống lại, tôi sẽ được quan tâm để nghe về hiệu quả của kỹ thuật này.

Tiếp theo, phát triển của bộ quy tắc tùy chỉnh của chúng tôi mà thông minh sẽ đoán các mẫu vật của các mật khẩu phức tạp.

Giống như những gì bạn thấy? Tham gia với tôi cho đào tạo trực tiếp! Xem trang Đào tạo để biết thêm thông tin.

Source: http://www.lanmaster53.com/2011/02/creating-complex-password-lists-with-john-the-ripper/

Comments

Popular posts from this blog

Thiết lập card không dây trên Kali Linux

Monitor mode

Giới thiệu - Scapy