CHƯƠNG III: TRIỂN KHAI THỰC NGHIỆM
3.2 Tiến hành thực nghiệm
3.2.3 Tiến hành tấn công, thu và phân tích log
Kịch bản 1 : Tấn công SQL injection trên Web Server DVWA Chọn Proxy -> Options -> Add thêm địa chỉ của máy attack cổng 8081
Hình 3.19 Mở cổng trong Burp Suite
Chọn No proxy để truy cập vào máy chủ Apache. Sau khi Submit SQL Injection cấu hình lại Proxy thành Manual proxy configuration -> nhấn OK
Hình 3.20 Lựa chọn options proxy
55
Ở mục User ID ta chọn giá trị bằng 2, khi thực hiện submit, màn hình trả về kết quả được truy xuất từ database với giá trị vừa nhập. Câu truy vấn sql:
SELECT first_name, last_name FROM users WHERE user_id = '2';
Hình 3.21 Vulnerability SQL injection Copy lại đoạn mã /dvwa/vulnerabilities/sqli/?id=3&Submit=Submit
Hình 3.22 Giao diện Burp Suite thu lại được
Lấy cookie: cookie="security=low; PHPSESSID=bul8jj4g182i1adq5rl43hukfp
56
SQLMAP là công cụ khai thác những lỗ hổng của cơ sở dữ liệu SQL. Nó được xem là công cụ khai thác SQL tốt nhất hiện nay.
Khởi động : Sqlmap [-u url mục tiêu] [tùy chọn]
Ta có câu lệnh khởi chạy sqlmap:
sqlmap -u 'http://192.168.1.139/dvwa/vulnerabilities/sqli/?id=2&Submit=Sub mit' --cookie="security=low; PHPSESSID=bul8jj4g182i1adq5rl43hukfp" –dbs
Hình 3.23 Khởi chạy sqlmap Trong đó:
dbs là option để liệt kê các cơ sở dữ liệu của website
sqlmap [-u url mục tiêu] [tùy chọn] danh sách đầy đủ các options
57
Chọn link dẫn cùng với địa chỉ ip và cookie để truy vấn dữ liệu:
sqlmap -u 'http://192.168.1.139/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit' - -cookie="security=low; PHPSESSID=bul8jj4g182i1adq5rl43hukfp" -D dvwa --
dump-all
Hình 3.24 Lựa chọn CSDL DVWA Option –D tên cơ sở dữ liệu , --dump cơ sở dữ liệu MySQL
SQLMap sẽ phát hiện và đưa ra thông tin về lỗ hổng về mục tiêu. Sau khi tấn công vào thì toàn bộ dữ liệu MySQL hiện ra bao gồm: username, password.
Hình 3.25 Dữ liệu thu được sau khi tấn công SQL Injection
58
Lựa chọn host KTMM chính là máy web server apache. Chọn câu lệnh index=”main” để lấy tất cả các log mà đã chuyển từ Splunk Forwarder sang.
Hình 3.26 Giao diện thiết lập tùy chọn thu log
Đây là nguồn mà đã Setting trong Splunk Forwarder chuyển sang Chọn C:\\xampp\apache\logs\access.log. Ghi lại log của apache và tỷ lệ phần trăm các log được lưu lại trong Splunk.
Hình 3.27 Source của Splunk Forwarder
59 Các log được ghi lại:
Hình 3.28 Các log được ghi lại
● Địa chỉ ip máy attack :192.168.1.135
● Ngày tháng 11/12/2021 giờ 11:50:43
● Loại tấn công là SQL Injection có id =2 và các câu lệnh truy vấn
● Sử dụng type sqlmap Thông tin Field:
Hình 3.29 Thông tin Field
60
Bao gồm submit sau khi nhập id; Byte là 53
Ip client 192.168.1.135 chính là máy attack
Trường id nhập vào là 2
Hình 3.30 thông tin Field
Uri_query câu lệnh truy vấn
Uri_path đường dẫn
Useragent là Sqlmap/1.5.8
Time 11:50 Bảng uri_query:
Hình 3.31 Bảng uri_query
61
Top 10 value uri_query câu lệnh truy vấn top 1 v = 5.1.1 count 95 và 2.414
Top 2 id = 2 tổng số 8 lần và 0.203%
Bảng uri_path:
Hình 3.32 Bảng uri_path
Đường dẫn /dvwa/vulnerabilities/sqli/ với count 3,800 và 82.771%
phpmyadmin count 28 0.61 % và dvwa login count 52 Bảng submit:
Hình 3.33 Bảng submit
Trường submit count 226 lần 5.9 %
Trường id = 2 count 4
62
Bảng date_wday: Đây là bảng thống kê theo ngày tấn công với Saturday là ngày nhiều nhất với giá trị đếm được là count bằng 4,267 và chiểm 92.922%
Hình 3.34 Bảng date_wday Bảng danh sách ip attack:
Hình 3.35 Bảng danh sách ip attack Splunk thống kê:
IP 192.168.1.135 giá trị count đếm được bàng 4,042 và chiếm 88.023 %
IP 127.0.0.1 với giá trị count đếm được bàng 479 và chiếm 10,431%
IP 192.168.1.1 là count bằng 71 và chiếm 1.546%
63
Kịch bản 2 : Tấn công Brute Force trên DVWA Tấn công
Đầu tiên, sử dụng công cụ Nmap để quét các cổng, thông tin hệ điều hành trên Server với cú pháp: nmap -O 192.168.1.5
Trong đó :
-O cho phép quét cả hệ điều hành
192.168.1.5 : địa chỉ cần quét.
Hình 3.36 Kết quả sau khi thực hiện scan
Các port 22, 80, 443, 9998 tương ứng với các dịch vụ SSH, HTTP, HTTPS đang ở trạng thái open (mở), port 8000 đang closed và hệ điều hành được cài đặt là Linux.
Khi đã biết dịch vụ SSH đang mở, sử dụng công cụ Medusa trên Kali Linux để thực hiện tấn công với câu lệnh :
medusa -h 192.168.1.5 -u root -P /root/password.txt -M ssh
Hình 3.37 Tấn công dò quét mật khẩu xác thực SSH
64 Trong đó :
-h 192.168.1.5 : địa chỉ đích
-u root : tên user cần lấy mật khẩu
-P /root/password.txt : file từ điển mật khẩu được lưu Kết quả thu được mật khẩu tài khoản root :
Phân tích log
Sử dụng câu lệnh search host=”Web server” source=/var/log/secure fail* ssh để lọc ra các hành vi đăng nhập thất bại vào dịch vụ SSH.
Trong đó:
host=”Web server” : Tên host được giám sát
source=/var/log/secure : Dữ liệu được lấy từ file log từ /var/log/secure của Server
fail* ssh : các từ khóa để tìm kiếm chính xác hơn: ssh: xác định các kết nối đến dịch vụ SSH; fail* xác định các kết nối thất bại, sử dụng ký tự * trong giá trị trường fail* để khớp với các định dạng khác nhau trong các kết nối như failed, failure, fail,…
Kết quả sau khi lọc:
Hình 3.38 Kết quả sau khi lọc
65
Sau khi lọc, ta có được các kết nối xác thực thất bại (authentication failure) đến dịch vụ SSH của Server, kèm theo đó là các trường thuộc tính khác như: rhost (địa chỉ IP của remote host ), tty, user,time,…
Hình 3.39 Các trường thuộc tính chi tiết trong một kết nối cụ thể
Tiếp tục lọc ra các địa chỉ IP có lượng xác thực thất bại liên tiếp đến dịch vụ SSH lớn bằng câu lệnh Search:
host="Web Server" source="/var/log/secure" fail* ssh | stats count by rhost | search count>50
Trong đó :
stats count by rhost : thực hiện đếm tổng các IP của Remote host
search count>50 : tìm kiếm các IP có tổng kết nối lớn hơn 50 Sau khi lọc phát hiện một địa chỉ IP thỏa mãn : 192.168.1.6
66
Thực hiện kiểm tra lại các kết nối đến từ IP này ta thấy các yêu cầu xác thực thất bại liên tiếp rất nhiều lần.
Hình 3.40 Kiểm các kết nối
Tìm kiếm các user đang bị dò quét mật khẩu bởi rhost: 192.168.1.6 với câu lệnh search:
host="Web Server" source="/var/log/secure" fail* ssh "rhost=192.168.1.6"|
stats count by user
Đếm các user trong các xác thực thất bại từ rhost=192.168.1.6. Kết quả tìm được user root :
Kết luận, host có địa chỉ IP là 192.168.1.6 đang thực hiện dò quét mật khẩu xác thực tài khoản root đến dịch vụ SSH của Server.
Ngăn chặn
Tại Server truy cập chỉnh sửa file sshd_config từ đường dẫn /etc/ssh . Thiết lập số lần nhập mật khẩu tối đa nếu vượt quá sẽ tự ngắt kết nối ,thay đổi với trường thuộc tính MaxAuthTries 3 số lần nhập sai mật khẩu tối đa 3 lần.