Mục tiêu

Mục tiêu của bài lab này là trích xuất cơ sở dữ liệu, crack thông tin đăng nhập, thao tác cơ sở dữ liệu và tạo tài khoản người dùng bằng kỹ thuật SQL Injection.

Kịch bản

Các chuyên gia và cố vấn kiểm tra xâm nhập sẽ giả lập một cuộc tấn công giống như cách một lập trình viên sẽ làm để giành quyền truy cập, nhận biết các phương pháp truy cập và cung cấp hướng dẫn thực hành về các chiến lược tốt nhất và phương pháp cụ thể của riêng bạn để bảo vệ cơ sở dữ liệu của mình trong trường hợp bị tấn công thực sự.

Một bài kiểm tra xâm nhập cơ sở dữ liệu sẽ cho thấy liệu cơ sở dữ liệu của bạn có được phác thảo, thiết kế và duy trì phù hợp với thực tiễn tốt nhất trong ngành hay không.

Cơ sở dữ liệu giữ các yếu tố quan trọng của doanh nghiệp. Ví dụ: hồ sơ khách hàng, thông tin nhân viên, bản thiết kế, thanh toán thẻ tín dụng, thông tin cung cấp và nhu cầu. Nếu thông tin này rơi vào tay kẻ xấu, doanh nghiệp có thể gặp phải vấn đề liên quan đến tiền bạc, ngoài việc gây tổn hại đến danh tiếng.

Bài tập 1: Kiểm tra Xâm nhập Cơ sở Dữ liệu MySQL

Kịch bản

Cơ sở dữ liệu MySQL là một trong những cơ sở dữ liệu được sử dụng rộng rãi với mã nguồn mở và có sẵn miễn phí. Với sự phân phối không bị hạn chế, cơ sở dữ liệu có sẵn với mã nguồn mở nên trở thành mục tiêu chính cho những kẻ tấn công. Cơ sở dữ liệu chứa nhiều bảng khác nhau, MySQL trở thành mục tiêu chính cho những kẻ tấn công để có được quyền truy cập vào thông tin nhạy cảm.

Là một người kiểm tra xâm nhập, bạn cần phải nhận thức được cơ sở dữ liệu MySQL và các truy vấn liên quan của nó. Trong bài lab này, bạn sẽ học cách:

  • Tìm thông tin liên quan đến phiên bản của MySQL
  • Thực hiện tấn công từ điển vào máy chủ cơ sở dữ liệu và truy cập nó

Thời lượng bài lab: 20 phút

  1. Nhấp vào “Parrot” và nhập “toor” trong trường Mật khẩu, rồi nhấn Enter.
  2. Trong bài lab này, chúng ta sẽ quét một tập hợp con các máy ảo, chọn một máy và thực hiện kiểm tra xâm nhập trên máy đó để giành quyền truy cập vào các tài nguyên. Để thực hiện quét mạng nhanh, chúng ta sẽ sử dụng Nmap. Trong bài lab này, chúng ta sẽ chọn một quét mạng nội bộ để kiểm tra xâm nhập. Ví dụ, lệnh sau: nmap -T4 172.19.19.0/29 được sử dụng trong bài lab này. Tất cả các máy nằm trong tập hợp con này sẽ được kiểm tra xâm nhập. Trong bài lab này, chúng ta sẽ chọn 172.19.19.17 Phòng Kinh doanh làm mục tiêu của mình.
  3. Bây giờ, chúng ta sẽ thực hiện quét sâu trên máy Phòng Kinh doanh. Nhập nmap -T4 -A 172.19.19.17 và nhấn Enter.
  4. Sau khi quét xong, bạn sẽ thấy cổng 3306 đang mở, cho biết rằng Dịch vụ MySQL đang chạy trên máy từ xa và phiên bản của MySQL được cài đặt là 5.1.61.
  5. Trong bài lab này, chúng ta sẽ thử thực hiện tấn công từ điển vào đăng nhập MySQL. Để thực hiện tấn công này, hãy nhập msfconsole và nhấn Enter để khởi chạy Metasploit Framework Console.
  6. Vì chúng ta đang thực hiện một cuộc tấn công từ điển vào đăng nhập, chúng ta sẽ sử dụng máy quét đăng nhập mysql. Nhập use auxiliary/scanner/mysql/login và nhấn Enter.
  7. Nhập show options và nhấn Enter để xem các tùy chọn cần được cấu hình trong module.
  8. Nhập các lệnh sau trong msfconsole:
    a. set hosts 172.19.19.17
    b. set pass_file /home/pentester/Wordlists/Passwords.txt
    172.20.20.11 là địa chỉ IP của máy từ xa, tức là Phòng Kinh doanh.
  9. Bây giờ, nhập run và nhấn Enter. Module phụ trợ bắt đầu cuộc tấn công từ điển vào máy chủ cơ sở dữ liệu như được hiển thị trong ảnh chụp màn hình bên dưới.
  10. Trong khi thử tên người dùng root với từng kết hợp mật khẩu, module phụ trợ dừng quét khi kết hợp root/qwerty, điều này có nghĩa là cuộc tấn công từ điển đã thành công.
  11. Bây giờ chúng ta đã crack được thông tin đăng nhập người dùng, chúng ta sẽ sử dụng module phụ trợ mysql_sql để trích xuất cơ sở dữ liệu. Nhập use auxiliary/admin/mysql/mysql_sql và nhấn Enter.
  12. Nhập các lệnh sau trong msfconsole:
    a. set host 172.19.19.17
    b. set username root
    c. set password qwerty
    d. set SQL “show databases;”
    set username root: Chúng ta đang đặt tên người dùng là root. set password qwerty: Chúng ta đang đặt mật khẩu là qwerty. set SQL “show databases;”: Chúng ta đang đặt module để thực hiện truy vấn “show databases;”.
  13. Nhập run và nhấn Enter. Module phụ trợ hiển thị tất cả các cơ sở dữ liệu được lưu trữ bên trong máy chủ MySQL DB như được hiển thị trong ảnh chụp màn hình bên dưới.
  14. Bằng cách này, bạn đã học cách thực hiện các truy vấn khác để xem thông tin theo lựa chọn của mình. Trong bài lab này, bạn đã học cách:
  • Tìm thông tin liên quan đến phiên bản của MySQL.
  • Thực hiện tấn công từ điển vào máy chủ cơ sở dữ liệu và truy cập nó.

Bài tập 2: Thực hiện Kiểm tra Xâm nhập Cơ sở Dữ liệu Tự động Sử dụng Havij

Kịch bản

Đánh giá Lỗ hổng Cơ sở Dữ liệu là một cách thiết yếu và chủ động để xử lý các vấn đề về Lỗ hổng Cơ sở Dữ liệu. Các biện pháp phòng ngừa cần thiết được thực hiện với tính hệ thống và chính xác, và cơ sở dữ liệu cụ thể mang lại kết quả tốt hơn và cải thiện khả năng đáp ứng đáng kể với các tiêu chuẩn và quy định.

Đánh giá Lỗ hổng Cơ sở Dữ liệu được sử dụng tốt nhất:

  • Là một phương pháp nhanh chóng và kinh tế để khảo sát các mối nguy hiểm liên quan đến cơ sở dữ liệu, đó là trong hoạt động nhưng chưa (hoặc gần đây) trải qua một chương trình bảo mật cơ sở dữ liệu mở rộng.
  • Là một khía cạnh quan trọng của chương trình quản trị cơ sở dữ liệu đang phát triển/mở rộng hơn, đặc biệt là trong việc đạt được sự chấp thuận liên tục với các tiêu chuẩn/quy định.
  • Để đánh giá cơ sở dữ liệu cơ bản (tức là cơ sở dữ liệu có cấu hình nguy hiểm vừa phải trong đó nguy hiểm không phải là mối quan tâm chính hoặc tầm trung).
  • Là một công cụ thu thập dữ liệu để kiểm tra xâm nhập sâu hơn hoặc khảo sát mã.

Thời lượng bài lab: 15 phút

  1. Nhấp vào Windows Server 2019 và nhấp vào Ctrl+Alt+Delete.
  2. Trong trường mật khẩu, nhấp vào Mật khẩu và nhấn Enter. Bạn có thể sử dụng tùy chọn Nhập Mật khẩu từ menu Lệnh để nhập mật khẩu.
  3. Trong bài lab này, chúng ta sẽ thực hiện SQL Injection trên máy chủ cơ sở dữ liệu nằm trong máy Database Server 172.19.19.21 bằng cách sử dụng một công cụ có tên là Havij. Vector tấn công trong bài lab này sẽ là EXCECENT Appendix J Database Penetration Testing Methodology/Havij and double-click Havij 1.12 Free.exe follow the wizard-driven installation steps to install Havij.
  4. Sau khi cài đặt hoàn tất, hãy chọn tùy chọn Khởi chạy Havij và nhấp vào nút Kết thúc. Havij sẽ tự động khởi chạy.
  5. Cửa sổ chính của Havij xuất hiện như được hiển thị trong ảnh chụp màn hình. Bây giờ, trong trường Mục tiêu, hãy nhập http://172.19.19.21/queenhotel/about.aspx?name=coffee và nhấp vào Phân tích. Để các cài đặt khác ở mặc định.
  6. Havij sẽ bắt đầu phân tích URL được cung cấp trong trường Mục tiêu như được hiển thị trong ảnh chụp màn hình.
  7. Nhấp vào tab Thông tin để xem môi trường của trang web mục tiêu được lưu trữ.
  8. Bây giờ, trong tab Thông tin, nhấp vào nút Get để lấy thông tin chi tiết đầy đủ của máy được lưu trữ. Thao tác này sẽ hiển thị tên máy chủ, cơ sở dữ liệu hiện tại được sử dụng và phiên bản cơ sở dữ liệu.
  9. Bây giờ nhấp vào tab Bảng để xem danh sách các bảng được kết nối với cơ sở dữ liệu. Nó sẽ liệt kê tất cả các bảng được kết nối.
  10. Bây giờ, hãy chọn bất kỳ cơ sở dữ liệu nào được liệt kê trong bảng điều khiển bên trái và nhấp vào nút Get Table để trích xuất thông tin. Trong bài lab này, chúng ta sẽ trích xuất cơ sở dữ liệu Real_Homedatabase.
  11. Havij sẽ trích xuất các Bảng từ cơ sở dữ liệu như được hiển thị trong ảnh chụp màn hình. Bây giờ, hãy chọn bảng để trích xuất các cột và nhấp vào Get Columns. Trong bài lab này, chúng ta sẽ chọn bảng Login để trích xuất các cột.
  12. Các cột được trích xuất từ cơ sở dữ liệu được hiển thị trong ảnh chụp màn hình. Bây giờ, chúng ta cần trích xuất thông tin đăng nhập của trang web. Vì vậy, hãy chọn hai cột password và login_username để trích xuất thông tin đăng nhập. Sau khi đã chọn hai tùy chọn này, hãy nhấp vào nút Get Data để trích xuất thông tin đăng nhập.
    Tên cột Mật khẩu và Tên người dùng có thể thay đổi tùy theo kết nối cơ sở dữ liệu của bạn.
  13. Havij đã trích xuất thông tin đăng nhập của cơ sở dữ liệu Real_Home như được hiển thị trong ảnh chụp màn hình.
  14. Để xác minh thông tin đăng nhập này, hãy khởi chạy trình duyệt web, nhập http://172.19.19.21/realhome trong thanh địa chỉ và nhấn Enter. Trang web Real_Home xuất hiện như được hiển thị trong ảnh chụp màn hình bên dưới.
    Trong bài lab này, chúng ta sẽ sử dụng trình duyệt Firefox để đăng nhập.
  15. Bây giờ, hãy sử dụng thông tin đăng nhập sau để đăng nhập vào trang web realhome:
    Tên người dùng: smith
    Mật khẩu: smith@123 và nhấp vào nút Đăng nhập.
  16. Bây giờ, bạn đã đăng nhập thành công bằng thông tin đăng nhập được trích xuất bằng cách sử dụng Havij. Bỏ qua cửa sổ bật lên ghi nhớ mật khẩu bằng cách nhấp vào Không lưu.
  17. Đóng tất cả các cửa sổ đã mở. Trong bài lab này, bạn đã học cách trích xuất Cơ sở dữ liệu, Bảng, Cột và Thông tin đăng nhập Người dùng bằng cách sử dụng Havij.

Bài tập 3: Tấn công SQL Injection trên Cơ sở Dữ liệu MS SQL

Kịch bản

Ngày nay, SQL Injection là một trong những cuộc tấn công phổ biến và nguy hiểm nhất mà trang web phải đối mặt. Bằng cách sử dụng kỹ thuật này, kẻ tấn công có thể thực hiện các truy vấn cơ sở dữ liệu để thu thập thông tin nhạy cảm, sửa đổi các mục nhập cơ sở dữ liệu hoặc thực hiện mã độc hại dẫn đến việc chiếm quyền điều khiển máy chủ cơ sở dữ liệu, tức là thông tin nhạy cảm nhất.

Là Chuyên gia Kiểm tra Xâm nhập và Quản trị viên Bảo mật, bạn cần kiểm tra các ứng dụng web chạy trên MS SQL Server về các lỗ hổng bảo mật.

Thời lượng bài lab: 20 phút

  1. Nhấp vào Windows Server 2019 và nhấp vào Ctrl+Alt+Delete.
  2. Trong trường mật khẩu, nhấp vào Mật khẩu và nhấn Enter. Bạn có thể sử dụng tùy chọn Nhập Mật khẩu từ menu Lệnh để nhập mật khẩu.
  3. Để khởi chạy trình duyệt Google Chrome, hãy nhấp đúp vào biểu tượng Google Chrome trên màn hình. Bạn cũng có thể nhấp vào biểu tượng Google Chrome trên thanh tác vụ hoặc khởi chạy nó từ ứng dụng trong menu Bắt đầu.
  4. Trong bài lab này, chúng ta sẽ thực hiện SQL Injection trên máy chủ cơ sở dữ liệu được cài đặt trong máy Windows Server 2012. Chúng ta sẽ khai thác lỗ hổng SQL Injection có trong máy chủ cơ sở dữ liệu để thao túng nội dung trong cơ sở dữ liệu.
  5. Cửa sổ chính của Google Chrome xuất hiện. Nhập http://www.goodshopping.com trong thanh địa chỉ và nhấn Enter.
  6. Trang chủ của GoodShopping xuất hiện, như được hiển thị trong ảnh chụp màn hình.
  7. Giả sử rằng bạn là người mới đến trang web này và chưa bao giờ đăng ký với trang web này trước đó. Bây giờ, hãy di chuyển con trỏ chuột của bạn lên nút Tài khoản của Tôi ở góc trên bên phải của trang web và nhấp vào nó. Trên trang Tài khoản của Tôi, hãy để trống trường Tên người dùng và Mật khẩu, sau đó nhấp vào nút Đăng nhập.
  8. Bạn đã đăng nhập thành công vào trang web mục tiêu bằng Tên người dùng giả như được hiển thị trong ảnh chụp màn hình.
  9. Thông tin đăng nhập của bạn không hợp lệ, nhưng bạn đã đăng nhập thành công. Bây giờ, bạn có thể duyệt tất cả các trang web dưới dạng người dùng đã đăng ký. Nhấp vào Đăng xuất để đăng xuất khỏi tài khoản.
  10. Nhấp vào tab Tài khoản của Tôi ở góc trên bên phải của trang web, nhập truy vấn blah’;insert into login values (‘sandra’,’sandra123′) — trong trường Tên người dùng. Để trống trường Mật khẩu. Nhấp vào nút Đăng nhập.
    Nếu không có thông báo lỗi nào được hiển thị trên trang web, có nghĩa là bạn đã thực hiện thành công truy vấn đăng nhập sql injection. Bằng cách sử dụng truy vấn này, một tài khoản người dùng được tạo trong cơ sở dữ liệu với thông tin đăng nhập sau:
    Tên người dùng: sandra
    Mật khẩu: sandra123
  11. Để xác minh xem thông tin đăng nhập Đăng nhập của bạn đã được tạo thành công hay chưa, hãy di chuyển con trỏ chuột lên nút Tài khoản của Tôi, xóa văn bản trong trường Tên người dùng, nhập sandra trong trường Tên người dùng và sandra123 trong trường Mật khẩu, sau đó nhấp vào Đăng nhập.
  12. Bạn đã đăng nhập thành công vào trang web mục tiêu như được hiển thị trong ảnh chụp màn hình.
  13. Nhấp vào Windows Server 2012 R2(ECSAV10) và nhấp vào Ctrl+Alt+Delete.
    Nhấn Ctrl + Alt + Delete để đăng nhập.
  14. Trong trường mật khẩu, nhấp vào Mật khẩu và nhấn Enter. Bạn có thể sử dụng tùy chọn Nhập Mật khẩu từ menu Lệnh để nhập mật khẩu.
  15. Nhấp vào Bắt đầu, nhập SQL Server Management Studio và chọn ứng dụng.
  16. Cửa sổ Microsoft SQL Server Management Studio xuất hiện cùng với hộp thoại Kết nối với Máy chủ. Trong trường Xác thực, hãy chọn tùy chọn Xác thực Windows từ danh sách thả xuống và nhấp vào Kết nối.
  17. Cửa sổ Microsoft SQL Server Management Studio xuất hiện, như được hiển thị trong ảnh chụp màn hình.
  18. Trong bảng điều khiển bên trái của cửa sổ, Mở rộng Cơ sở dữ liệu bằng cách nhấp vào nút +, Mở rộng goodshoppingdatabase bằng cách nhấp vào nút +, Mở rộng Bảng bằng cách nhấp vào nút +, Nhấp chuột phải vào dbo.Login và nhấp vào Chọn 1000 Hàng Đầu.
  19. Bạn có thể thấy rằng bạn đã tạo tên người dùng và mật khẩu trong cơ sở dữ liệu goodshopping trong bảng Kết quả như được hiển thị trong ảnh chụp màn hình.
  20. Bạn đã tạo thành công tên người dùng của riêng mình bằng cách sử dụng mã cụ thể. Thoát khỏi Microsoft SQL Server Management Studio. Nhấp vào Đăng xuất từ tài khoản Windows Server của bạn.
  21. Trong trang web GoodShopping, hãy di chuyển con trỏ chuột lên nút Tài khoản của Tôi, nhập blah’;create database Stevemartin — trong trường Tên người dùng. Để trống trường Mật khẩu. Nhấp vào Đăng nhập.
    Trong truy vấn trên, Stevemartin là tên của cơ sở dữ liệu mà chúng ta sẽ tạo.
  22. Nếu không có thông báo lỗi hoặc bất kỳ thông báo nào được hiển thị trên trang web, có nghĩa là trang web dễ bị tấn công SQL Injection và cơ sở dữ liệu có tên Stevemartin đã được tạo trong cơ sở dữ liệu của máy chủ. Bạn có thể thấy rằng không có thông báo lỗi nào được hiển thị trên trang web. Để xác nhận cơ sở dữ liệu đã được tạo, hãy chuyển sang máy Windows Server 2012 và xem cơ sở dữ liệu được tạo trong SQL Server Management Studio.
  23. Bây giờ, hãy nhấp vào máy Windows Server 2012(ECSAV10) và khởi chạy SQL Server Management Studio.
  24. Cửa sổ Microsoft SQL Server Management Studio xuất hiện cùng với hộp thoại Kết nối với Máy chủ. Trong trường Xác thực, hãy chọn tùy chọn Xác thực Windows từ danh sách thả xuống và nhấp vào Kết nối.
  25. Cửa sổ chính của SQL Server Management Studio xuất hiện, như được hiển thị trong ảnh chụp màn hình.
  26. Trong bảng điều khiển bên trái của cửa sổ, Mở rộng Cơ sở dữ liệu bằng cách nhấp vào nút +. Bạn có thể thấy cơ sở dữ liệu có tên Stevemartin, như được hiển thị trong ảnh chụp màn hình.
  27. Bạn đã tạo thành công Cơ sở dữ liệu của riêng mình bằng cách sử dụng mã cụ thể. Đóng SQL Server Management Studio và chuyển sang máy Windows Server 2019.
    Trong bài lab này, bạn đã học cách phân tích các kết quả liên quan đến bài lab. Hãy cho ý kiến của bạn về trạng thái bảo mật và mức độ phơi nhiễm của mục tiêu.

Bình luận về bài viết này

Thịnh hành