1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kỹ thuật điều tra phân tích tấn công web

26 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Kỹ thuật điều tra phân tích tấn công web

Kỹ thuật điều tra phân tích cơng web Mục lục Giới thiệu ứng dụng web 1.1 Các kiến thức ứng dụng web a Khái niệm ứng dụng web b Cấu trúc ứng dụng web c Mô tả hoạt động ứng dụng web d Khái niệm Hacker e HTTP Request & HTTP Response f Phiên làm việc & Cookies 1.2 Một số kỹ thuật công web phổ biến a Tấn công thu thập thông tin b Tấn cơng dựa lỗi cấu hình c Tấn cơng q trình xác thực d Tấn công phiên làm việc e Tấn công lợi dụng thiếu sót việc kiểm tra liệu đầu vào hợp lệ Điều tra số & điều tra công web 2.1 Điều tra số a Khái niệm b Các giai đoạn c Phân loại điều tra số 2.2 Điều tra phân tích cơng Web 11 Kỹ thuật điều tra phân tích phía người dùng 12 3.1 Các khái niệm liên quan 12 a Người dùng 12 b Kỹ thuật điều tra phân tích phía người dùng 12 c Trình duyệt 12 3.2 Các công cụ hỗ trợ 15 Các kỹ thuật điều tra phân tích phía máy chủ 17 4.1 Phân tích luồng liệu 17 Web forensic Page a Khái niệm số công cụ 17 b Ứng dụng phân tích cơng ứng dụng web 18 4.2 Phân tích tập tin nhật ký 23 a Khái niệm liên quan 23 b Ứng dụng Regular expression phân tích tập tin nhật ký tự động 24 Web forensic Page Giới thiệu ứng dụng web 1.1 Các kiến thức ứng dụng web a Khái niệm ứng dụng web Ứng dụng web ứng dụng khách chủ sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác Trình khách dành cho người dùng thường trình duyệt web Internet Explorer, Firefox hay Google Chrome Người dùng gửi nhận thông tin từ trình chủ thơng qua việc tác dộng vào trang Web Các chương trình trang trao dổi mua bán, diễn đàn, giử nhận email Tốc độ phát triển kỹ thuật xây dựng ứng dụng Web phát triển nhanh Trước ứng dụng Web thường xây dựng CGI (Common Gateway Interface) chạy trình chủ Web kết nối vào sở liệu đơn giản máy chủ Ngày ứng dụng Web biết Java (các ngôn ngữ tương tự) chạy máy chủ phân tán, kết nối đến nhiều nguồn liệu khác b Cấu trúc ứng dụng web Một ứng dụng web thường có kiến trúc gồm: Hình 1: Cấu trúc ứng dụng Web Trong đó:      Trình khách (hay cịn gọi trình duyệt): IE, Firefox, Google Chrome Trình chủ: Apache, IIS, Cơ sở liệu: SQL server, MySQL, Tường lửa: Lớp rào chắn bên ngồi hệ thống mạng, vai trị kiểm sốt luồng thơng tin máy tính Proxy xác định yêu cầu từ trình khách định đáp ứng u cầu hay khơng, Proxy đóng vai trị cầu nối trung gian máy chủ máy khách Web forensic Page c Mô tả hoạt động ứng dụng web Đầu tiên trình duyệt gửi u cầu (request) đến trình chủ Web thơng qua phương thức GET, POST, giao thức HTTP Trình chủ lúc cho thực thi chương trình xây dựng từ nhiều ngơn ngữ Perl, C/C++, trình chủ yêu cầu diễn dịch thực thi trang ASP, PHP, JSP, theo yêu cầu trình khách Tùy theo tác vụ chương trình cài đặt mà xử lý, tính tốn, kết nối đến sở liệu, lưu thơng tin trình khách gửi đến từ trả cho trình khách luồn liệu có định dạng theo giao thức HTTP, gồm hai phần:   Header mô tả thông tin gói liệu thuộc tính, trạng thái trao đổi trình duyệt máy chủ Body phần nội dung liệu mà máy chủ gửi máy trạm, tập tin HTML, hình ảnh, đoạn phim hay văn d Khái niệm Hacker Hacker người am hiểu hệ điều hành, hệ quản trị sở liệu, ngơn ngữ lập trình Họ sử dụng kiến thức việc tìm tịi khai thác lỗ hổng hệ thống mạng Một số hacker dừng lại việc phát hện thơng báo lỗi tìm cho nhà bảo mật hay người phát triển chương trình, họ coi WhiteHat (Hacker mũ trắng) Một số hacker dựa vào lỗ hổng thực việc khai thác trái phép nhằm mục đích phá hoại hay mưu lợi riêng, người bị xem BlackHat (Hacker mũ đen) Hình 2: Phân loại Hacker e HTTP Request & HTTP Response HTTP header phần đầu thơng tin mà trình khách trình chủ gửi cho Những thơng tin trình khách gửi cho trình chủ gọi HTTP requests (u cầu) cịn trình chủ gửi cho trình khách HTTP responses (phản hồi) Thông thường HTTP header gồm nhiều dòng, dòng chứa tên tham số Web forensic Page giá trị.Một số tham số dùng Header yêu cầu Header trả lời, cịn số khác dùng riêng loại Hình 3: HTTP Request HTTP yêu cầu:    Dòng đầu HTTP Request dòng Request-Line bao gồm thông tin phương thức mà HTTP request sử dụng (POST, GET, HEAD, TRACE, ) URI địa định danh tài nguyên HTTP version phiên HTTP sử dụng Tiếp theo trường Header thông dụng o Accept: Loại nội dung nhận từ thơng điệp phản hồi Ví dụ: text/plain, text/html, o Accept-Encoding: Các kiểu nén chấp nhận ví dụ: gzip, xz, o User-Agent: Thơng tin trình duyệt người dùng o Connection: Tùy chọn cho kết nối Ví dụ: closed, keep-alive, update, o Cookie: Thông tin HTTP Cookie từ máy chủ Header HTTP request kết thúc dịng trống Web forensic Page Hình 4: HTTP phản hồi Cấu trúc HTTP phản hồi gần giống với HTTP yêu cầu, khác thay Request-Line HTTP phản hồi có Status-Line HTTP phản hồi:    Status-Line có ban phần sau: HTTP-version phiên HTTP cao mà máy chủ hỗ trợ, Status-Code: mã kết trả về, Reason-Phrase: mô tả Status-Code Tiếp theo tham số kèm dòng trống để báo hiệu kết thúc header Cuối phần thân HTTP response Để hiểu rõ HTTP Request HTTP Response, tham khảo đường dẫn đây:  https://tools.ietf.org/html/rfc2616 f Phiên làm việc & Cookies HTTP giao thức hướng đối tượng tổc quát phi trạng thái, nghĩa HTTP không lưu trữ trạng thái làm việc trình duyệt với trình chủ Sự thiếu sót gây khó khăn cho số ứng dụng web, trình chủ khơng biết trước trình duyệt có trạng thái Vì thế, để giải vấn đề này, ứng dụng Web đưa khái niệm phiên làm việc (Session) Còn SessionID chuỗi để chứng thực phiên làm việc Một số trình chủ cung cấp Session ID cho người dùng họ xem trang web trình chủ Để trì phiên làm việc, Session ID thường lưu vào:    Biến URL Biến ẩn Cookies Phiên làm việc tồn thời gian cho phép, thời gian cấu hình quy định trình chủ ứng dụng thực thi Web forensic Page Cookie phần liệu nhỏ, có cấu trúc chia sẻ trình chủ trình duyệt người dùng Các cookie lưu file liệu nhỏ dạng text, ứng dụng tạo để lưu trữ/ truy tìm/ nhận biết thông tin người dùng ghé thăm trang Web vùng mà họ truy cập qua trang web Những thơng tin bao gồm tên/ định danh người dùng, mật khẩu, sở thích, thói quen Ở lần truy cập sau đến trang web đó, ứng dụng sử dụng lại thơng tin lưu cookie Cookie phân làm hai loại secure/non-secure persisten/non-persistent, ta tổng hợp bốn kiểu cookie là:     Persistent & Secure Persistent & Non-Secure Non-Persistent Non-Secure Non-Persistent Secure Persistent cookies lưu dạng tập tin txt máy khách khoảng thời gian định Non-Persistent cookie lưu nhớ RAM máy khách bị hủy đống trang web hay nhận lệnh hủy từ trang web Secure cookies gửi thơng qua HTTPs, Non-Secure cookie gửi hai giao thức HTTPs hay HTTP Các thành phần cookie gồm:        Domain: Tên miền trang web tạo cookie Flag: Mang giá trị True/False - xác định máy khác với tên miền có truy xuất đến cookie hay không Path: Phạm vi địa truy xuất cookie Secure: Mang giá trị True/False, tương ứng với Secure cookie Non-Secure cookie Expiration: Thời gian hết hạn cookie Nếu giá trị khơng thiết lập trình duyệt hiểu non-persistent cookie lưu nhớ RAM xóa trình duyệt bị đóng Name: Tên biến Value: Giá trị biến Kích thước tối đa cookie 4kb Số cookie tối đa cho tên miền 20 cookie 1.2 Một số kỹ thuật công web phổ biến a Tấn công thu thập thông tin Những tập tin ứng dụng hệ thống chứa thông tin quan trọng mã nguồn trang web, tập tin chưa mật người dùng hệ thống mục tiêu hàng đầu cho hacker Một số phương pháp chính:    Tấn cơng qt cổng Tấn cơng dị qt thư mục Thu thập thông tin từ Internet Web forensic Page b Tấn cơng dựa lỗi cấu hình Các tập tin cấu hình, ứng dụng ln ln tồn lỗ hổng chưa khám phá lỗ hổng cũ, không cảnh giác người quản trị website nên tồn tại, nhờ vào đặc điểm này, Hacker dễ dàng tìm kiếm đoạn mã khai thác Internet tự phát triển mã khai thác để khai thác điểm yêu cấu hình Một số cơng điển hình là: Misconfiguration Attack 0-day Attack c Tấn công trình xác thực Do nhiều yếu tố nên trình xác thực trang web tồn lỗ hổng điểm yếu, nơi Hacker ln có nhiều phương pháp để tiến hành công nhằm chiếm Username/Password quản trị viên hay người dùng Một số phương pháp:    Tấn cơng dị qt mật Tấn công từ điển SQL injection d Tấn công phiên làm việc Đây kỹ thuật công cho phép Hacker mạo danh người dùng hợp lệ cách nghe trộm người dùng đăng nhập vào hệ thống, sau Hacker dùng lại Sesson ID người dùng hợp lệ để tiến hành xâm nhập chuộc lợi Hoặc cách giải mã Session ID người dùng hợp lệ để tiên đoán tạo session ID hợp lệ khác, Một số phương pháp:    Session Hijacking Brute Force Session ID Session Fixation Attack e Tấn cơng lợi dụng thiếu sót việc kiểm tra liệu đầu vào hợp lệ Hacker lợi dụng ô nhập liệu, tham số đầu vào để gửi đoạn ký tự kihiến cho hệ thống phải thực thi đoạn lệnh hay bị phá vỡ hoàn toàn Một số phương pháp:      Chèn mã lệnh thực thi trình duyệt - Cross-Site Scripting Tiêm mã truy vấn sở liệu - SQL Injection Thêm câu lệnh hệ thống - OS Command Injection Vượt đường dẫn - Path traversal Tràn đệm - Buffer Over Flow Web forensic Page Điều tra số & điều tra công web 2.1 Điều tra số a Khái niệm Theo wikipedia, điều tra số (Pháp y số) nhánh khoa học pháp y, bao gồm việc phục hồi điều tra tài liệu tìm thấy thiết bị kỹ thuật số, vấn đề liên quan trực tiếp tới Hacker Thuật ngữ điều tra số ban đầu sử dụng từ đồng nghĩa cho điều tra máy tính mở rộng để bao gồm điều tra tất thiết bị có khả lưu trữ liệu số Điều tra pháp y kỹ thuật số có nhiều ứng dụng Phổ biến hỗ trợ bác bỏ giả thuyết trước tịa án hình dân Các vụ án hình liên quan đến việc vi phạm luật định nghĩa luật pháp thi hành cảnh sát bị truy tố nhà nước, chẳng hạn giết người, trộm cắp hành chống lại người thi hành công vụ Các vụ kiện dân việc bảo vệ quyền tài sản cá nhân (thường liên quan đến tranh chấp gia đình) liên quan đến tranh chấp hợp đồng tập đoàn thương mại b Các giai đoạn Các giai đoạn điều tra số:    Thu thập thông tin từ trường Phân tích Báo cáo Việc thu thập thơng tin từ trường bước tiền đề quan trọng trình điều tra số, bao gồm phương pháp phổ biến "Memory dump", tạo media (sử dụng phương pháp chép, lưu trữ hàm băm), sử dụng thiết bị & phương pháp chặn ghi để bảo toàn liệu gốc, c Phân loại điều tra số Tùy thuộc vào loại thiết bị, phương tiện vật, điều tra pháp y kỹ thuật số phân thành nhiều loại khác Web forensic Page Hình 5: Phân loại điều tra số Computer forensic: Mục đích điều tra máy tính giải thích trạng tạo tác kỹ thuật số; chẳng hạn hệ thống máy tính, phương tiện lưu trữ tài liệu điện tử Điểm mấu chốt loại điều tra việc phân tích báo cáo loạt thông tin; từ nhật ký (chẳng hạn lịch sử internet) đến tệp thực ổ đĩa Ví dụ: Trong năm 2007 công tố viên sử dụng bảng tính phục hồi từ máy tính Joseph E Duncan, để cáo buộc y án tử hình Sát thủ giết Sharon Lopatka xác định vào năm 2006 sau tin nhắn email y nêu lên chi tiết hình ảnh tra hành hình gái Mobile forensic: Điều tra thiết bị di động nhánh phụ pháp y kỹ thuật số liên quan đến việc thu hồi chứng kỹ thuật số liệu từ thiết bị di động Các điều tra thường tập trung vào liệu đơn giản liệu gọi thơng tin liên lạc (SMS / Email) thay phục hồi sâu liệu xóa Thiết bị di động hữu ích cho việc cung cấp thơng tin vị trí; từ theo dõi vị trí / GPS sẵn có qua nhật ký trang web thiết bị di động, theo dõi thiết bị phạm vi chúng Network forensic: Điều tra mạng máy tính có liên quan đến việc theo dõi phân tích lưu lượng mạng máy tính, mạng cục WAN / internet, với mục đích thu thập thơng tin, thu thập chứng, phát xâm nhập Lưu lượng truy cập thường bị chặn cấp gói lưu trữ để phân tích sau lọc theo thời gian thực Database forensic: Điều tra sở liệu nhánh điều tra số liên quan đến nghiên cứu & phân tích sở liệu siêu liệu chúng Điều tra loại sử dụng nội dung sở liệu, tệp nhật ký liệu RAM để tạo dịng thời gian khơi phục thơng tin có liên quan Web forensic Page 10 Kỹ thuật điều tra phân tích phía người dùng 3.1 Các khái niệm liên quan a Người dùng Người dùng ứng dụng web khách hàng, người dùng mạng máy tính, quản trị viên kẻ cơng có nhu cầu kết nối tới trang web để thực hành động theo nhu cầu mong muốn thân Phân loại:   Người dùng thông thường Kẻ cơng b Kỹ thuật điều tra phân tích phía người dùng Như thấy trên, người dùng có hai loại, thế, kỹ thuật điều tra phân tích phía người dùng đời với mục tiêu:   Xác định xem người dùng có phải nạn nhân Xác định xem người dùng có phải kẻ cơng Vì lại vậy? Như biết có nhiều kiểu, phương pháp cơng phía client side ví dụ như: XSS, Phishing,… Nếu khơng có chứng số khơng tiếp cận thiết bị truy cập website người dùng, việc điều tra cơng khó khăn, vấn đề cần thiết với người dùng hợp lệ & nạn nhân công gián tiếp trực tiếp qua website Đối với kẻ cơng, để xác nhận người có phải kẻ cơng hay khơng, ngồi chứng cứ, chứng Server side, ta cần chứng hay chứng trực tiếp thiết bị truy cập website người dùng nhằm đưa định vững họ vi phạm phạm tội Các kỹ thuật chính:   Điều tra phân tích liệu Hệ điều hành (Vì thời lượng giới hạn báo cáo, nên Forensic OS không đề cập tới, người đọc tham khảo link sau để tìm hiểu thêm vấn đề này: https://www.google.com.vn/search?q=os+forensic&oq=os+forensic&aqs=chrome 69i57j0l5.385 5j0j7&sourceid=chrome&ie=UTF-8 ) Điều tra phân tích thơng tin Trình duyệt o Email o Các trang truy cập o Các thơng tin tìm kiếm mạng c Trình duyệt Khái niệm trình duyệt: Trình duyệt web công cụ để thực hoạt động khác Internet người dùng, người dùng sử dụng trình duyệt cho nhiều chức như: tìm kiếm thơng tin, truy cập vào tài khoản email, giao dịch thương mại điện tử, nhắn tin, Trình duyệt ghi lại nhiều liệu liên quan đến hoạt động Web forensic Page 12 người dùng, thông tin như: URLs truy cập người dùng, cookie, tệp nhớ cache, thời gian truy cập & thời gian sử dụng trình duyệt, Hình 7: Một số trình duyệt Web tiếng Việc kiểm tra chứng nói điểm chủ chốt trình "Browser forensic" Các trình duyệt lưu trữ tập tin quan trọng nhiều phần khác hệ điều hành, ngồi ta thấy, có nhiều trình duyệt khác nhau, đồng nghĩa với liệu địa điểm lưu trữ tập tin khác Dưới bảng tổng hợp ghi Cache, ghi Lịch sử, Cookie registry tập tin tải xuống trình duyệt tiếng, để dễ dàng trình truy vết điều tra Web forensic Page 13 Hình 8: Bảng tổng hợp ghi số trình duyệt tiếng Internet Explorer trình duyệt web mà người dùng máy tính thường hay sử dụng, hoạt động lưu cho người dùng riêng tương ứng với thư mục người dùng họ, liệu lưu Cookie, Cache, lịch sử lịch sử tải xuống (tham khảo thêm hình 8) Ngồi liệu lưu tập tin sở liệu index.dat hay container.dat liệu hai tập tin lưu dạng nhị phân Cũng lưu liệu tập tin sở liệu dạng nhị phân trình duyệt Safari, nhiên safari đặt tên tệp tin lưu trữ history.plist, lưu trữ thông tin địa URLs, ngày tháng truy cập, lượng truy cập website Firefox sử dụng định dạng liệu SQLite để lưu trữ thơng tin, chúng đặt tên places.sqlite Opera lưu trữ thông tin tệp tin dat khác như: cookies4.dat, download.dat, global_history.dat Google chrome cho phép lưu trữ liệu tệp tùy chọn, tùy thuộc vào lựa chọn người dùng Dưới bảng cung cấp địa chỉ, nơi dùng để xóa ghi loại trình duyệt Web forensic Page 14 Hình 9: Địa xóa ghi liệu trình duyệt 3.2 Các cơng cụ hỗ trợ Các chương trình phổ biến NetAnalysis, Browser history, FTK Encase phần mềm nguồn mở & miễn phí, hiệu q trình điều tra số trình duyệt Net Analysis: NetAnalysis cơng cụ cấp phép công ty Digital Detective phát triển để điều tra số trình duyệt web, hỗ trợ Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari Opera bowsers Nó cho phép kiểm tra lịch sử Internet, nhớ cache, cookie thành phần khác công cụ cho phép thu thập nhanh chứng theo hành vi người dùng Phần mềm có cơng cụ phân tích hiệu để giải mã hiểu liệu Đồng thời, có khả sử dụng truy vấn SQL để xác định chứng liên quan Ngồi sử dụng để phục hồi thành phần trình duyệt web xóa FTK: FTK cơng cụ phát triển để phân tích tồn hệ thống Nó cho phép phân tích liệu trình duyệt web với tính năng, đặc điểm Lịch sử trình duyệt web ảo hóa chi tiết Internet Explorer, Firefox, Chrome, Safari Opera trình duyệt hỗ trợ Ngồi ra, liệu trình duyệt web xóa phục hồi FTK Phần mềm có tính báo cáo kết phân tích Hình 10: Giao diện FTK Web forensic Page 15 Browser History Examiner: Browser Hisotry Examiner công cụ cấp phép phát triển Foxton Forensics Company, có chức trích xuất phân tích lịch sử web Nó hỗ trợ trình duyệt web Chrome, Firefox, Internet Explorer Edge Và phân tích nhiều loại liệu dạng tải xuống, liệu nhớ cache tệp URL truy cập Encase: Encase công cụ phân tích phát triển để kiểm tra tồn hệ thống Nó cho phép kiểm tra trình duyệt web, liệu với tính trình duyệt Với trợ giúp tập lệnh đơn giản, tất lịch sử trình duyệt, cookie tệp nhớ cache chép vào tệp cách sử dụng phần mềm bên thứ ba Nó cho phép phục hồi thành phần internet bị xóa Dữ liệu thu được phân tích cách lọc theo thông số từ thời gian Web forensic Page 16 Các kỹ thuật điều tra phân tích phía máy chủ Hiện nay, có nhiều thiết bị, cơng cụ hỗ trợ điều tra & phân tích cơng cách dễ dàng, ví dụ hệ thống: IDS/IPS, honey pot, honey net, Tuy nhiên viết đưa hai phương pháp hỗ trợ điều tra phân tích cơng web phía máy chủ, với trường hợp máy chủ Linux Apache & không hỗ trợ hệ thống phát xâm nhập hay phân tích liệu đại, chủ yếu dựa công cụ mã nguồn mở miễn phí Hai phương pháp chính:   Phân tích luồng liệu Phân tích tập tin nhật ký So sánh hai phương pháp: Phương pháp Điểm mạnh Điểm yếu Phân tích luồng liệu Có thể phân tích tất thơng Dữ liệu cần phải chặn bắt tin Dữ liệu cần lắp ráp, chống phân mảnh, chuẩn hóa (Các gói tin IP, IP fragments, ) Rất khỏ để chặn bắt giải mã liệu đường chuyền mã hóa (Encrypted traffic, High Traffic load, ) Phân tích tập tin nhật ký Dữ liệu có sẵn tập tin Các tập tin nhật ký thường chứa phần nhỏ tồn liệu (ví dụ: thiếu tham số gói POST HTTP) 4.1 Phân tích luồng liệu a Khái niệm số công cụ Luồng liệu: Luồng liệu (RFC3679) chuỗi gói tin gửi từ nguồn cụ thể tới đích nhiều đích, nguồn gán nhãn cho chuỗi gói tin luồng riêng Một số dấu hiệu cần ý:      Địa IP nguồn, đích Cổng Giao thức cờ hiệu Hướng luồng liệu Khối lượng liệu truyền Web forensic Page 17 Quan hệ địa IP:     One to many: Spam, Scan port dải mạng, Many to one: DDOS attack, máy chủ syslog, Many to many: Đồng liệu, phát tán virus, One to one: Tấn cơng có mục tiêu, truyền tin, Phân tích luồng liệu thực việc tra chuỗi gói tin có liên quan đến nhằm xác định hành vi nghi ngờ, trích xuất liệu hay phân tích giao thức luồng Một số công cụ tiếng sử dụng q trình phân tích luồng liệu:    Wireshark Tshark TCP dump b Ứng dụng phân tích cơng ứng dụng web Mơ hình thực hiện: Môi trường xây dựng VMware sử dụng chể độ card mạng NAT Dải địa tương ứng cho card mạng NAT là: 192.168.40.0/24 Máy mục tiêu Metasploitable với địa chỉ: 192.168.40.134, Metasploitable hệ điều hành miễn phí, mã nguồn mở, chứa lỗ hổng để thực mô công web cách hợp pháp Địa 192.168.40.131 cấp cho máy cơng Kali Q trình phân tích sử dụng công cụ Wireshark Luồng liệu phân tích luồng liệu HTTP từ địa 192.168.40.131 đến địa 192.168.40.134 Hình 11: Máy Metasploitable Web forensic Page 18 Hình 12: Máy Kali Sau sử dụng trình duyệt web từ máy cơng để truy cập vào địa ip mục tiêu, sử dụng wireshark thấy nhiều luồng liệu từ nguồn khác nhau, giao thức khác nhau, Thật may mắn Wireshark có chức lọc (filter) để giúp người dùng thỏa mãn nhu cầu, yêu cầu đặt báo cáo theo dõi luồng liệu từ máy kali tới máy mục tiêu, giao thức HTTP v1 Chúng ta sử dụng câu lệnh filter để thực yêu cầu wireshark: http && ip.src_host=="192.168.40.131" && ip.dst_host == "192.168.40.134" Hình 13: Các luồng chưa lọc Web forensic Page 19 Hình 14: Luồng nhận sau lọc RFC 2616 định nghĩa phương thức cho HTTP 1.1 Các phương thức là: GET, POST, HEAD, PUT, DELETE, TRACE, OPTIONS CONNECT Cần ý rằng, phương thức kể không giúp lập trình viên dễ dàng chỉnh sửa , thiết kế lên ứng dụng web mình, mà số kẻ cơng lợi dụng đặc điểm phương thức để tiến hành khai thác công Khi sử dụng OPTIONS, client hỏi server: “Hey Server, bạn hỗ trợ phương thức phương thức, kể cho nha!!!” Điều cung cấp thông tin cho Hacker để xác định phương thức khả dụng & phương pháp công sử dụng Phương thức TRACE cho phép client nhìn thấy yêu cầu thân yêu cầu nhận phản hồi từ phía server, lợi dụng điều Hacker công Cross-site Tracing (XST) https://www.owasp.org/index.php/Cross_Site_Tracing Phương thức PUT DELETE hai phương thức nguy hiểm chúng gây rủi ro bảo mật lớn cho ứng dụng PUT cho phép tải lên loại liệu độc hại lên máy chủ DELETE ngược lại, cho phép loại bỏ tài nguyên từ ứng dụng web, ví dụ xóa tập tin cấu hình (Web configuration file) Trong luồng nhận sau lọc, thấy OPTIONS method TRACE method yêu cầu từ phía máy Kali Hình 15: OPTIONS từ wireshark Web forensic Page 20 Hình 16: TRACE từ Wireshark Rất nhiều website sử dụng chức xác thực đăng nhập, chức mà Hacker thích để công khai thác chế đăng nhập Về mặt bản, kẻ công thử username password đăng nhập thành công chiếm thành công tài khoản Hầu hết công kiểu kết hợp hai dạng: công vét cạn công từ điển công cụ tự động & từ điển Trong trường hợp này, máy công Kali sử dụng Burpsuite số tham số để công mật sau:     Admin – password, Admin – a , Admin – #rỗng Admin – root Admin – admin Admin – qwerty Hình 17: Kali công mật Web forensic Page 21 Với wireshark, ta thấy gói tin POST chứa tham số cơng vét cạn từ Kali Hình 18: Kết cơng mật từ Wireshark Vì khẳng định cơng vét cạn từ cơng cụ tự động? Vì kết từ wireshark, thấy có gói tin POST chứa thông số username password khác yêu cầu đến trang login khoảng thời gian 0,5s Khi Hacker nhắm tới trang web, việc thu thập thông tin năm cấu trúc ứng dụng điều thiết yếu Tất nhiên, kẻ công không sử dụng kỹ thuật duyệt thủ công để thống kê nội dung, mà họ sử dụng kỹ thuật Spidering tự động để phục vụ thân Hình 19: Phát cơng Spider từ Wireshark Tương tự với cách phát công mật khẩu, ta thấy khoảng thời gian 1s, có nhiều GET request tới đường dẫn website Metasploitable 2, điều mà người thực thủ công làm được! Cross Site Scripting (XSS) hay biết tới tên “script injection” Cho phép kẻ công chèn đoạn javascript độc hại tới ứng dụng web nhằm cho trình duyệt chạy Có hai loại XSS là: stored reflected Để khám phá lỗi XSS, cách đơn giản nhất, Hacker nhập vào đầu vào đoạn mã sau alert(‘1’) vào trường ngẫu nhiên quan sát trình duyệt thực thi xuất popup thông báo “1”, nghĩa website bị lỗi XSS Web forensic Page 22 Hình 20: Phát cơng XSS từ wireshark Ta thấy thông qua GET request, payload alert(‘1’) url encode thành %3Cscript%3Ealert(%271%27)%3C%2Fscript%3E , dấu hiệu đển phân tích phát cơng XSS Ngồi ra, payload độc hại gửi qua POST request, tùy thuộc vào trang web Tương tự với XSS, ta phát trường hợp công injection tương tự như: SQL injection, path traversal, thơng qua wireshark 4.2 Phân tích tập tin nhật ký a Khái niệm liên quan Tệp nhật ký máy chủ web (web server log file) Các web server chuản Apache IIS tạo thông điệp ghi nhật ký theo chuẩn chung (CLF – common log format) Tệp nhật ký CLF chứa dịng thơng điệp cho gói HTTP request, cấu tạo sau: Host Ident Authuser Date Request Status Bytes Trong đó:         Host: Tên miền đầy đủ client IP Ident: Nếu thị IdentityCheck kích hoạt client chạy identd, thông tin nhận dạng client báo cáo Authuser: Nếu URL yêu cầu xác thực HTTP tên người dùng giá trị mã thông báo Date: Ngày yêu cầu Request: Dòng yêu cầu client, đặt dấu ngoặc kép (“”) Status: Mã trạng thái (gồm ba chữ số) Bytes: số bytes đối tượng trả cho client, ngoại trừ HTTP header Mỗi yêu cầu chứa các liệu bổ sung đường liên kết chuỗi ký tự người dùng Web forensic Page 23 Nếu mã thông báo khơng có giá trị, mã thơng báo biểu thị dấu gạch ngang (-) Ví dụ: 192.168.40.131 - - [08/May/2018:08:43:52 -0400] "GET /dvwa/login.php HTTP/1.1" 200 1289 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.8.0" Lợi ích lớn tập tin nhật ký tính sẵn có tương đối đơn giản phân tích nội dung chúng Máy chủ web Apache mặc định phải cho phép ghi nhật ký Các ứng dụng thường thực ghi nhật ký để đảm bảo truy xuất nguồn gốc hành động chúng Trong lưu lượng mạng đầy đủ cung cấp thông tin bổ sung, chi phí mua lại xử lý thường lớn lợi ích Việc thu thập lưu lượng mạng yêu cầu: suốt với gói tin thường phần cứng bổ sung Quan sát lưu lượng đạt với hubs, cổng SPAN, vòi thiết bị nội tuyến Mọi thiết bị phải mua, cài đặt hỗ trợ Một liệu thu thập phân tích Hiện tại, lưu lượng truy cập mạng thu thập có dạng với tệp nhật ký sẵn sàng để phân tích Cuối cùng, tệp nhật ký cung cấp khả dễ dàng dễ xử lý để theo dõi bảo mật b Ứng dụng Regular expression phân tích tập tin nhật ký tự động Các phương pháp phân tích tập tin nhật ký thủ công & phát công theo dấu hiệu phương pháp hiệu mặt kết quả, nhiên nhiều thời gian cơng sức để phân tích log file, log file thường chứa rất nhiều dịng nhật ký Vì Regular expression lựa chọn báo cáo Regular gì? Regex cho phép xử lý chuỗi ký tự linh hoạt, hiệu mạnh mẽ Regex cho phép bạn mô tả phân tích chuỗi ký tự với mẫu tương tự ngơn ngữ lập trình nho nhỏ Regex có nhiều dạng cơng cụ, sức mạnh thể tối đa phần ngơn ngữ lập trình Dưới đoạn code viết python, sử dụng Regular Expression việc phân tích tập tin nhật ký web phát công XSS import os, sys, re from collections import Counter from subprocess import call PATH = sys.argv[1] TYPE = sys.argv[2] if TYPE == 'access': log = 'access.log' elif TYPE == 'error': log = 'error.log' f = open(PATH+log, 'r') ipList = [] Web forensic Page 24 xss_match='(.+(POST\s+|GET\s+|HEAD\s+|PUT\s+|OPTION\s+).+?=.+?((S|s)(C|c)(R|r)(I|i)(P|p)(T|t)|(S| s)(E|e)(L|l)(F|f)|(A|a)(L|l)(E|e)(R|r)(T|t)).+?HTTP/[0-9]\.[0-9].+)' time_regex = re.compile("([0-9]{2}:[0-9]{2}:[0-9]{2}\s+)") date_regex = re.compile("((\d{2}|\d{4})/(\d{2}|\w{3})/(\d{2}|\d{4}))(?:\:|\s+)") ip_regex = "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" ip_regsearch = re.compile(ip_regex) xss_payload_regex=re.compile("((POST\s+|GET\s+|HEAD\s+|PUT\s+|OPTION\s+).+?=.+?((S|s)(C|c)( R|r)(I|i)(P|p)(T|t)|(S|s)(E|e)(L|l)(F|f)|(A|a)(L|l)(E|e)(R|r)(T|t)|(J|j)(A|a)(V|v)(A|a)(S|s)(C|c)(R|r)(I|i)(P|p)(T|t )\:|(X|x)(S|S)(S|s)).+?HTTP/[0-9]\.[0-9].+)") for line in f.read().split('\n'): if re.match(xss_match, line): dateData = date_regex.search(line) timeData = time_regex.search(line) ipData = ip_regsearch.search(line) if re.match(xss_match, line): payloadType = "XSS" payloadData = xss_payload_regex.search(line) print "["+payloadType+"] "+dateData.group(0)+" | "+timeData.group(0)+"|"+ ipData.group(0)+" | "+payloadData.group(0) Ứng dụng tool vừa viết với Access.log trích xuất từ Metasploitable phần ta có kết tương tự sử dụng wireshark để phát cơng XSS Hình 21: Access.log từ máy Metasploitable Web forensic Page 25 Hình 22: Kết sau ứng dụng Regex References: https://www.sans.org/reading-room/whitepapers/logging/detecting-attacks-web-applications-log-files2074 https://www.amazon.com/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470 https://docs.python.org/2/library/re.html About authors: I am ManhNho (AKA Manh Pham Tien), a very young researcher passionate in penetration testing, web security / exploit, cryptography & network security Web forensic Page 26

Ngày đăng: 01/02/2023, 17:33

w