Đây là chương trình hack đầu tiên của mình, mục tiêu nó nhắm đến là các diễn đàn sử dụng phần mềm invision power board, phiên bản 2.3.x, chưa được vá. Chức năng chính của nó là lấy mật khẩu đã được mã hóa của các thành viên trong diễn đàn, thử phá nó bằng cách liệt kê tất cả các trường hợp có thể của mật khẩu.
Lỗi của IP board: phần mềm này áp dụng chính sách an ninh nhiều lớp để bảo vệ diễn đàn trước các kí tự đặc biệt sẽ đem vào trong câu truy vấn trong máy chủ sql. Tuy nhiên do quá cẩn thận mà lại phản tác dụng, vì vậy tạo điều kiện cho kẻ xấu có thể lấy được dữ liệu thông qua lỗi SQL injection.
Danh sách một số trang bị lỗi trên tại thời điểm viết bài:
http://www.mirmasters.com/ib/index.php
http://forums.parachat.com/index.php
http://www.milankakabaros.com/index.php
http://gamemusichall.net/forum/index.php
http://www.diendandulich.net/dulich/diendan/index.php
Nếu muốn tìm thêm có thể dùng từ khóa sau trong google:powered by (IP board 2.3.~|invision)
Trước tiên bạn hãy tải công cụ về tại đây(không có virus đâu): http://www.mediafire.com/?hdy2lnw3gyl
Đánh giá: nhìn chung chương trình sẻ khả thi với các mật khẩu có độ dài nhỏ hơn hoặc bằng 6 kí tự, nếu quá ngưỡng này thì phải tuy thuộc vào sự may mắn và kiên nhẫn của các bạn, như mình thì đã phá được mật khẩu của một thành viên trong diễn đàn vnnonline.org vì tay này đặt mật khẩu toàn là số.
chạy nó từ giao diện dòng lệnh của windows xp, bạn sẽ thấy như hình dưới
tìm trong google các diễn đàn sử dụng ip board phiên bản 2.3.x, copy đường dẫn của chúng, dán vào trong cửa sổ dòng lệnh bằng việc bấm chuột phải chọn paste
nếu trang web bạn đánh vào hợp lệ (đầy đủ cả http:// ở đầu và bao gồm cả tên file index.php) và trang web đó có lỗi, bạn sẽ nhận được thông báo sau
Bạn sẽ có 4 lựa chọn tất cả
1. Cướp mật khẩu mã hóa và "muối".
2. Dò mật khẩu dựa trên thông tin đã cướp được (thông qua chuỗi mã hóa và "muối").
3. Lấy id của người sử dụng (dùng để chạy ở 1)
4. Lấy phiên làm việc của người sử dụng
5. Lấy bản ghi nhớ của người sử dụng
Các mục 2,3,4,5 mình sẽ đề cập sau
Sau khi chọn mục 1, bạn được yêu cầu nhập id của người sử dụng, nếu muốn cướp mật khẩu mã hóa của người quản trị diễn đàn thì hãy chọn id là 1, hoặc 2,3 (nếu diễn đàn có nhiều người quản trị)
Sau đó bạn được yêu cầu nhập tiền tố của bảng trong cơ sở dữ liệu, nhấn enter để bỏ qua
Chương trình sẽ dò chuỗi mã hóa của mật khẩu và muối, nếu quá trình dò thành công, bạn sẽ được như hình
Đây là giai đoạn quan trọng, thuật toán md5 dùng để mã hóa thông tin hiện nay chưa có cách phá, vì vậy để tìm được mật khẩu, cần phải liệt kê toàn bộ các khả năng có thể cho một mật khẩu rồi so sánh các kết quả sau khi đã được mã hóa với chuỗi mã hóa vừa tìm được.Nếu thành công thì đó sẽ là mật khẩu ta cần tìm.Vấn đề là mật khẩu của đối tượng sẽ gồm bao nhiêu kí tự gồm chữ hay số hoặc là cả 2, hoặc thậm chí là gồm cả các kí tự đặc biệt"!;@;#;$;%;..".Để cho đơn giản chương trinh chỉ tìm các mật khẩu gồm chữ và số hoặc là cả 2
Các tham số:
-v [x]: tìm kiếm mật khẩu có độ dài tối đa là x với x là số
-f [x]:tìm kiếm mật khẩu có độ dài cố định là x
-a: Mật khẩu chỉ bao gồm chữ cái
-d:Mật khẩu chỉ bao gồm chữ số
-w:Mật khẩu bao gồm cả chữ và số
-e [charlist]: Loại bỏ các kí tự có trong charlist
Ví dụ khi mình gõ -v 4 -a -e acdg thì chương trinh sẽ tim các mật khẩu có độ dài tối đa là 4 kí tự,mật khẩu chỉ bao gồm chữ cái,và loại bỏ các kí tự a,c,d,g. Còn nếu mình gõ -f 5 -w -e jklmn thì chương trinh sẽ tim các mật khẩu có độ dài cố định là 5 kí tự, bao gồm cả chữ và số, loại bỏ các kí tự j,k,l,m,n trong danh sách liệt kê các mật khẩu.
Đây là ảnh chụp khi mình dò tìm mật khẩu với độ dài 4 kí tự
Thông thường với các mật khẩu có độ dài nhỏ 4 hoặc 5, chương trình có thể tìm ra mật khẩu trong thời gian rất nhanh, nhưng nếu mật khẩu tăng độ dài lên một kí tự, thời gian máy tính liệt kê tất cả các khả năng có thể sẽ rất lâu, nếu coi máy tính xử lý được 10000 kết quả mỗi giây thì với mật khẩu có độ dài là 8 kí tự, tức là sẽ có 26^8 khả năng (kiến thức toán rời rạc), thì sẽ phải mất 26^8 : 10000 : 86400 = 241 ngày liệt kê của máy tính. Đây là theo tính toán lý thuyết, còn thực tế còn phục thuộc vào thuật toán, tốc độ bộ vi xử lý.... Tuy nhiên với mật khẩu có 4 kí tự, chỉ mất có hơn 45s (với máy mình thì mất hơn gần 3 phút để liệt kê tất cả).
Nói chung là không khả thi, tuy nhiên các bạn có thể giảm thiểu thời gian bằng cách đoán biết mật khẩu của đối tượng chỉ chứa những kí tự nào, chẳng hạn với người việt chúng ta thì mật khẩu có chữ w, z, j sẽ ít được dùng, do đó có thể loại bỏ ra khỏi chương trình tìm kiếm.
Tuy vậy ta vẫn có các lựa chọn khác
Các lựa chọn khác:
2. Phá mật khẩu dựa trên thông tin mã hóa tìm được.
Nếu đã tìm được mật khẩu mã hóa ở 1, thì hãy lưu cả đoạn mã hóa đó vào một file nào đó, sau đó nếu tìm kiếm có thất bại thì cũng không phải chạy lại 1 mà chạy luôn 2 để thử lại
3. Tìm id
Cái này để dùng cho 1, bạn nhập tên người sử dụng vào, nhập id lớn nhất có thể có dành cho người này, chương trình sẽ tìm ra id chính xác
4. Lấy phiên làm việc của người sử dụng
Nếu có phiên làm việc của người sử dụng, bạn có thể vào được trong diễn đàn với tên của người sử dụng đó mà không cần mật khẩu, tuy nhiên điều này chỉ thực hiện được nếu quản trị diễn đàn đó tắt chính sách bảo mật là kiểm tra địa chỉ IP
5. Lấy chuỗi ghi nhớ
Chuỗi ghi nhớ được tạo ra trong các diễn đàn nhằm mục đích tạo sự thuận tiện trong việc đăng nhập. Bạn đăng nhập một lần, lần sau bạn vào lại mà không phải đăng nhập
Nếu lấy được nó, bạn có thể vào được diễn đàn dưới cái tên của đối tượng
Tuy nhiên nó chỉ khả thi nếu diễn đàn tắt chế độ kiểm tra stronghold
Lỗi của IP board: phần mềm này áp dụng chính sách an ninh nhiều lớp để bảo vệ diễn đàn trước các kí tự đặc biệt sẽ đem vào trong câu truy vấn trong máy chủ sql. Tuy nhiên do quá cẩn thận mà lại phản tác dụng, vì vậy tạo điều kiện cho kẻ xấu có thể lấy được dữ liệu thông qua lỗi SQL injection.
Danh sách một số trang bị lỗi trên tại thời điểm viết bài:
http://www.mirmasters.com/ib/index.php
http://forums.parachat.com/index.php
http://www.milankakabaros.com/index.php
http://gamemusichall.net/forum/index.php
http://www.diendandulich.net/dulich/diendan/index.php
Nếu muốn tìm thêm có thể dùng từ khóa sau trong google:powered by (IP board 2.3.~|invision)
Trước tiên bạn hãy tải công cụ về tại đây(không có virus đâu): http://www.mediafire.com/?hdy2lnw3gyl
Đánh giá: nhìn chung chương trình sẻ khả thi với các mật khẩu có độ dài nhỏ hơn hoặc bằng 6 kí tự, nếu quá ngưỡng này thì phải tuy thuộc vào sự may mắn và kiên nhẫn của các bạn, như mình thì đã phá được mật khẩu của một thành viên trong diễn đàn vnnonline.org vì tay này đặt mật khẩu toàn là số.
chạy nó từ giao diện dòng lệnh của windows xp, bạn sẽ thấy như hình dưới
tìm trong google các diễn đàn sử dụng ip board phiên bản 2.3.x, copy đường dẫn của chúng, dán vào trong cửa sổ dòng lệnh bằng việc bấm chuột phải chọn paste
nếu trang web bạn đánh vào hợp lệ (đầy đủ cả http:// ở đầu và bao gồm cả tên file index.php) và trang web đó có lỗi, bạn sẽ nhận được thông báo sau
Bạn sẽ có 4 lựa chọn tất cả
1. Cướp mật khẩu mã hóa và "muối".
2. Dò mật khẩu dựa trên thông tin đã cướp được (thông qua chuỗi mã hóa và "muối").
3. Lấy id của người sử dụng (dùng để chạy ở 1)
4. Lấy phiên làm việc của người sử dụng
5. Lấy bản ghi nhớ của người sử dụng
Các mục 2,3,4,5 mình sẽ đề cập sau
Sau khi chọn mục 1, bạn được yêu cầu nhập id của người sử dụng, nếu muốn cướp mật khẩu mã hóa của người quản trị diễn đàn thì hãy chọn id là 1, hoặc 2,3 (nếu diễn đàn có nhiều người quản trị)
Sau đó bạn được yêu cầu nhập tiền tố của bảng trong cơ sở dữ liệu, nhấn enter để bỏ qua
Chương trình sẽ dò chuỗi mã hóa của mật khẩu và muối, nếu quá trình dò thành công, bạn sẽ được như hình
Đây là giai đoạn quan trọng, thuật toán md5 dùng để mã hóa thông tin hiện nay chưa có cách phá, vì vậy để tìm được mật khẩu, cần phải liệt kê toàn bộ các khả năng có thể cho một mật khẩu rồi so sánh các kết quả sau khi đã được mã hóa với chuỗi mã hóa vừa tìm được.Nếu thành công thì đó sẽ là mật khẩu ta cần tìm.Vấn đề là mật khẩu của đối tượng sẽ gồm bao nhiêu kí tự gồm chữ hay số hoặc là cả 2, hoặc thậm chí là gồm cả các kí tự đặc biệt"!;@;#;$;%;..".Để cho đơn giản chương trinh chỉ tìm các mật khẩu gồm chữ và số hoặc là cả 2
Các tham số:
-v [x]: tìm kiếm mật khẩu có độ dài tối đa là x với x là số
-f [x]:tìm kiếm mật khẩu có độ dài cố định là x
-a: Mật khẩu chỉ bao gồm chữ cái
-d:Mật khẩu chỉ bao gồm chữ số
-w:Mật khẩu bao gồm cả chữ và số
-e [charlist]: Loại bỏ các kí tự có trong charlist
Ví dụ khi mình gõ -v 4 -a -e acdg thì chương trinh sẽ tim các mật khẩu có độ dài tối đa là 4 kí tự,mật khẩu chỉ bao gồm chữ cái,và loại bỏ các kí tự a,c,d,g. Còn nếu mình gõ -f 5 -w -e jklmn thì chương trinh sẽ tim các mật khẩu có độ dài cố định là 5 kí tự, bao gồm cả chữ và số, loại bỏ các kí tự j,k,l,m,n trong danh sách liệt kê các mật khẩu.
Đây là ảnh chụp khi mình dò tìm mật khẩu với độ dài 4 kí tự
Thông thường với các mật khẩu có độ dài nhỏ 4 hoặc 5, chương trình có thể tìm ra mật khẩu trong thời gian rất nhanh, nhưng nếu mật khẩu tăng độ dài lên một kí tự, thời gian máy tính liệt kê tất cả các khả năng có thể sẽ rất lâu, nếu coi máy tính xử lý được 10000 kết quả mỗi giây thì với mật khẩu có độ dài là 8 kí tự, tức là sẽ có 26^8 khả năng (kiến thức toán rời rạc), thì sẽ phải mất 26^8 : 10000 : 86400 = 241 ngày liệt kê của máy tính. Đây là theo tính toán lý thuyết, còn thực tế còn phục thuộc vào thuật toán, tốc độ bộ vi xử lý.... Tuy nhiên với mật khẩu có 4 kí tự, chỉ mất có hơn 45s (với máy mình thì mất hơn gần 3 phút để liệt kê tất cả).
Nói chung là không khả thi, tuy nhiên các bạn có thể giảm thiểu thời gian bằng cách đoán biết mật khẩu của đối tượng chỉ chứa những kí tự nào, chẳng hạn với người việt chúng ta thì mật khẩu có chữ w, z, j sẽ ít được dùng, do đó có thể loại bỏ ra khỏi chương trình tìm kiếm.
Tuy vậy ta vẫn có các lựa chọn khác
Các lựa chọn khác:
2. Phá mật khẩu dựa trên thông tin mã hóa tìm được.
Nếu đã tìm được mật khẩu mã hóa ở 1, thì hãy lưu cả đoạn mã hóa đó vào một file nào đó, sau đó nếu tìm kiếm có thất bại thì cũng không phải chạy lại 1 mà chạy luôn 2 để thử lại
3. Tìm id
Cái này để dùng cho 1, bạn nhập tên người sử dụng vào, nhập id lớn nhất có thể có dành cho người này, chương trình sẽ tìm ra id chính xác
4. Lấy phiên làm việc của người sử dụng
Nếu có phiên làm việc của người sử dụng, bạn có thể vào được trong diễn đàn với tên của người sử dụng đó mà không cần mật khẩu, tuy nhiên điều này chỉ thực hiện được nếu quản trị diễn đàn đó tắt chính sách bảo mật là kiểm tra địa chỉ IP
5. Lấy chuỗi ghi nhớ
Chuỗi ghi nhớ được tạo ra trong các diễn đàn nhằm mục đích tạo sự thuận tiện trong việc đăng nhập. Bạn đăng nhập một lần, lần sau bạn vào lại mà không phải đăng nhập
Nếu lấy được nó, bạn có thể vào được diễn đàn dưới cái tên của đối tượng
Tuy nhiên nó chỉ khả thi nếu diễn đàn tắt chế độ kiểm tra stronghold