Bài giảng kiểm thử xâm nhập

146 151 0
Bài giảng kiểm thử xâm nhập

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG NGUYỄN NGỌC ĐIỆP IT BÀI GIẢNG PT KIỂM THỬ XÂM NHẬP HÀ NỘI, 2017 GIỚI THIỆU Ngày nay, hệ thống thông tin phức tạp với kiến trúc mạng nhiều lớp nhiều ứng dụng, dịch vụ môi trường máy chủ đa dạng phần tảng thiếu doanh nghiệp tổ chức đại Điều dẫn đến ngày có nhiều khó khăn việc bảo vệ liệu tài sản thông tin quan trọng Kèm theo đó, năm gần xuất nhiều nhóm tội phạm Internet tổ chức với công quy mô lớn vào hệ thống doanh nghiệp, tổ chức Do vậy, phát công vấn đề quan tâm lớn cộng đồng Mặc dù có nhiều hình thức đảm bảo an tồn cho hệ thống thông tin phương pháp tin cậy để biết mức độ an toàn tự thực việc kiểm tra Các ca kiểm thử xâm nhập thực cách đắn có khả mơ hoạt động kẻ cơng, từ cho biết tình trạng an tồn hệ thống thơng tin tổ chức PT IT Bài giảng “Kiểm thử xâm nhập” biên soạn nhằm hỗ trợ cho sinh viên chuyên ngành An tồn thơng tin có kiến thức chuyên sâu kiểm thử xâm nhập Bên cạnh nội dung lý thuyết tập trung vào quy trình kiểm thử an tồn, giảng cịn đưa ví dụ cụ thể thực tế hướng dẫn thực hành, giúp sinh viên nắm công nghệ kỹ thuật liên quan Bài giảng cấu trúc với năm nội dung sau: Chương giới thiệu vấn đề kiểm thử xâm nhập, bước thực vai trò q trình việc đảm bảo an tồn cho hệ thống thơng tin Đồng thời trình bày số công cụ cần thiết cho việc thực ca kiểm thử xâm nhập Chương trình bày số dạng kiểm thử xâm nhập quan trọng bao gồm kiểm thử công vào yếu tố người, xâm nhập vật lý, công từ bên số dạng kiểm thử công mạng Mỗi dạng kiểm thử xâm nhập chương mô tả chi tiết, từ cách thức thực chung tới kỹ thuật cụ thể cách phòng chống dạng Chương trình bày vấn đề liên quan đến cách khai thác lỗ hổng sử dụng shellcode, bao gồm vấn đề lỗi tràn đệm, kiến thức sở tiến trình, hợp ngữ, sơ đồ nhớ, ghi, kỹ thuật khai thác lỗ hổng tràn đệm Mỗi kỹ thuật khai thác có ví dụ đơn giản minh họa kèm theo Trong chương trình bày loại shellcode cách thức tạo loại shellcode để sinh viên tìm hiểu thử nghiệm ii Chương trình bày kỹ thuật phân tích mã nguồn, gồm phân tích thủ cơng phân tích tự động, phương pháp phân tích mã nhị phân mã thơng dịch chương trình dịch Một vấn đề quan trọng khác việc phân tích lỗ hổng trình bày kỹ thuật fuzzing Chương trình bày vấn đề lỗ hổng phía máy khách phương pháp khai thác tìm lỗ hổng ngăn ngừa khai thác lỗ hổng PT IT Cuối cùng, chương trình bày quy tắc để khai thác hệ thống xâm nhập bước thực việc khai thác, bao gồm thu thập phân tích liệu, trì truy nhập, xâm nhập sâu vào hạ tầng thông tin cách khôi phục lại trạng thái ban đầu máy tính xâm nhập Các bước xâm nhập minh họa ví dụ sử dụng cơng cụ Armitage iii MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ vii CHƯƠNG GIỚI THIỆU 1.1 GIỚI THIỆU VỀ KIỂM THỬ XÂM NHẬP 1.2 VAI TRÒ CỦA KIỂM THỬ XÂM NHẬP 1.3 VẤN ĐỀ ĐẠO ĐỨC TRONG KIỂM THỬ XÂM NHẬP 1.3.1 Quy trình kiểm thử xâm nhập 1.3.2 Những bước tin tặc tiến hành: 1.4 CÁC BƯỚC THỰC HIỆN KIỂM THỬ XÂM NHẬP 1.4.1 Lập kế hoạch 1.4.2 Một số phương pháp tiêu chuẩn kiểm thử xâm nhập 10 1.4.3 Thực thi kiểm thử 11 1.5 IT 1.4.4 Chia sẻ thông tin lập báo cáo 12 GIỚI THIỆU MỘT SỐ CÔNG CỤ HỖ TRỢ 13 1.5.1 Kali Linux 13 PT 1.5.2 Metasploit 16 CHƯƠNG MỘT SỐ DẠNG KIỂM THỬ XÂM NHẬP .18 2.1 TẤN CÔNG VÀO YẾU TỐ CON NGƯỜI TRONG KIỂM THỬ XÂM NHẬP 18 2.1.1 Cách thực 18 2.1.2 Một số kỹ thuật phổ biến 21 2.1.3 Cách phòng chống 24 2.2 XÂM NHẬP VẬT LÝ 24 2.2.1 Giới thiệu kiểm thử xâm nhập vật lý 24 2.2.2 Một số cách xâm nhập vật lý phổ biến 25 2.2.3 Cách phòng chống xâm nhập vật lý 30 2.3 TẤN CÔNG TỪ BÊN TRONG 31 2.3.1 Giới thiệu kiểm thử công từ bên 31 2.3.2 Thực công từ bên 32 2.3.3 Cách phịng chống cơng từ bên 37 2.4 XÂM NHẬP MẠNG 38 2.4.1 Các kỹ thuật xâm nhập mạng 38 2.4.2 Cách phòng chống xâm nhập mạng 42 iv CHƯƠNG KHAI THÁC LỖ HỔNG SỬ DỤNG SHELLCODE 44 3.1 KHAI THÁC LỖ HỔNG TRÀN BỘ ĐỆM 44 3.1.1 Giới thiệu lỗi tràn đệm 44 3.1.2 Khai thác lỗi tràn đệm 53 3.1.3 Các phương thức bảo vệ nhớ 58 3.2 GIỚI THIỆU VỀ SHELLCODE VÀ ỨNG DỤNG TRONG KHAI THÁC LỖ HỔNG 60 3.2.1 NOP Sled 61 3.2.2 Shellcode 61 3.2.3 Các địa trả lặp lại 62 3.2.4 Khai thác lỗi tràn ngăn xếp từ dòng lệnh 63 3.2.5 Khai thác lỗi tràn ngăn xếp với mã khai thác chung 64 3.3 CÁC LOẠI SHELLCODE 67 3.3.1 Shellcode không gian người dùng 67 3.3.2 Shellcode không gian nhân 68 TẠO SHELLCODE 70 IT 3.4 3.4.1 Tạo shellcode đơn giản 70 3.4.2 Tạo shellcode kết nối với cổng 78 PT 3.4.3 Tạo shellcode kết nối ngược 80 3.4.4 Mã hóa shellcode 81 3.4.5 Tạo shellcode tự động 82 CHƯƠNG PHÂN TÍCH LỖ HỔNG 86 4.1 PHÂN TÍCH MÃ NGUỒN 86 4.1.1 Phân tích thủ cơng 86 4.1.2 Phân tích tự động 92 4.2 PHÂN TÍCH MÃ CHƯƠNG TRÌNH ĐÃ DỊCH 92 4.2.1 Phân tích mã thơng dịch 93 4.2.2 Phân tích mã biên dịch 94 4.3 KỸ THUẬT FUZZING 95 4.3.1 Fuzzing biết giao thức 97 4.3.2 Fuzzing chưa biết rõ giao thức 99 4.4 LỖ HỔNG PHÍA MÁY KHÁCH 100 4.4.1 Ảnh hưởng lỗ hổng phía máy khách 100 4.4.2 Cách tìm lỗ hổng phía máy khách 102 4.4.3 Cách phòng ngừa 106 4.5 PHƯƠNG PHÁP KHAI THÁC KHI TÌM RA LỖ HỔNG 107 v 4.5.1 Xem xét khả khai thác 107 4.5.2 Tạo payload để khai thác 111 4.6 CÁC PHƯƠNG PHÁP PHÒNG NGỪA KHAI THÁC LỖ HỔNG 113 4.6.1 Một số phương pháp phòng ngừa phổ biến 114 4.6.2 Tạo vá 116 CHƯƠNG KHAI THÁC HỆ THỐNG ĐÃ XÂM NHẬP 122 5.1 CÁC QUY TẮC THỰC HIỆN 122 5.2 THU THẬP VÀ PHÂN TÍCH DỮ LIỆU 123 5.3 DUY TRÌ TRUY NHẬP 129 5.4 XÂM NHẬP SÂU VÀO HẠ TẦNG THÔNG TIN 132 5.5 KHÔI PHỤC LẠI TRẠNG THÁI BAN ĐẦU CỦA CÁC MÁY TÍNH 135 PT IT TÀI LIỆU THAM KHẢO 137 vi DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt Tiếng Anh Tiếng Việt API Application programming interface Giao diện lập trình ứng dụng ASLR Address space layout randomization Ngẫu nhiên hóa sơ đồ khơng gian địa AV Antivirus Chống vi-rút CEO Chief executive officer Giám đốc điều hành CFO Chief Finance Officer Giám đốc tài CIO Chief Information Officer Giám đốc công nghệ thông tin Công nghệ thông tin CNTT Domain Controller Bộ điều khiển miền DLL Dynamic link library Thư viện liên kết động DNS Domain Name System Hệ thống tên miền ELF Executable and Linkable Format Định dạng thực thi liên kết FTP File Transfer Protocol Giao thức truyền tệp Graphics processing unit Bộ xử lý đồ họa HĐH PT GPU IT DC Hệ điều hành Hypertext Transfer Protocol Giao thức truyền tải siêu văn IDS Intrusion detection system Hệ thống phát xâm nhập IP Internet Protocol Giao thức Internet IPS Intrusion Prevention Systems Hệ thống ngăn chặn xâm nhập ISSAF Information Systems Security Assessment Framework Khung đánh giá an tồn cho hệ thống thơng tin JVM Java Virtual Machine Máy ảo Java LAN Local Area Network Mạng máy tính cục MAC Media Access Control address Địa MAC MAN Metropolitan area network Mạng máy tính thị NAT Network address translation Biên dịch địa mạng NFC Near-Field Communications Công nghệ kết nối không dây tầm HTTP vii gần NO Operation Không hoạt động NSM Network SecurityMornitoring Giám sát an ninh mạng OS Operating System Hệ điều hành OSSTMM Open Source Security Testing Methodology Manual Chuẩn mở cung cấp phương pháp kiểm tra an ninh OWASP Open Web Application Security Project Dự án mở bảo mật ứng dụng web PDC Primary DC Bộ điều khiển miền PDF Portable Document Format Định dạng tài liệu di động PE Portable Executable file format Định dạng file thực thi RAM Random Access Memory Bộ nhớ truy nhập ngẫu nhiên RAT Remote Access Trojan Trojan truy nhập từ xa RDP Remote Desktop Protocol Giao thức truy nhập máy tính từ xa RFID Radio Frequency Identification Nhận dạng đối tượng sóng vơ tuyến ROP Return Oriented Programming Lập trình hướng trở lại Remote Procedure Calls Các lời gọi thủ tục từ xa Social Engineering Attack Tấn công vào yếu tố người Simple Network Management Protocol Giao thức quản lý mạng đơn giản Structured Query Language Ngôn ngữ truy vấn mang tính cấu trúc Secure Socket Shell Giao thức bảo mật mạng cho phép dịch vụ hoạt động an toàn đường truyền mạng SSL Secure Sockets Layer Bộ giao thức bảo mật cho phép truyền tin an tồn mạng máy tính TCP Transmission Control Protocol Giao thức điều khiển truyền UDP User Datagram Protocol Giao thức truyền gói tin URL Uniform Resource Locator Định vị tài nguyên thống SEA SNMP SQL SSH PT RPC IT NOP viii Visual Basic script Ngơn ngữ lập trình Visual Basic VoIP Voice over Internet Protocol Truyền giọng nói giao thức IP VPN Virtual Private Network Mạng riêng ảo WAN Wide area network Mạng diện rộng WAP Wireless Application Protocol Giao thức ứng dụng không dây WLAN Wireless local area network Mạng cục không dây XSS Cross Site Scripting Tấn công chèn script độc hại vào website PT IT VBS ix CHƯƠNG GIỚI THIỆU Chương trình bày vấn đề kiểm thử xâm nhập, bao gồm định nghĩa kiểm thử xâm nhập, vấn đề đạo đức, bước thực vai trị q trình việc đảm bảo an tồn cho hệ thống thơng tin Ngồi ra, cuối chương trình bày số cơng cụ cần thiết cho chuyên gia bảo mật thực ca kiểm thử 1.1 GIỚI THIỆU VỀ KIỂM THỬ XÂM NHẬP IT Kiểm thử xâm nhập (penetration testing hay pentest) trình xác định lỗ hổng bảo mật hệ thống cách đánh giá khả bị công hệ thống thông qua việc sử dụng kỹ thuật khai thác để xác định mối đe dọa thực tế nguy gây hại cho hệ thống Có thể hiểu cách đơn giản, việc đánh giá độ an tồn cách tự cơng vào hệ thống nhằm tìm vấn đề an ninh tiềm tàng dị tìm dấu vết hệ thống bị xâm nhập Mục đích việc kiểm thử để đảm bảo liệu quan trọng không bị truy nhập trái phép người dùng khơng có quyền PT Khi chuyên gia bảo mật thực ca kiểm thử xâm nhập, mục tiêu cuối họ thường đột nhập vào hệ thống “nhảy” từ hệ thống sang hệ thống khác, chiếm tên miền hệ thống Việc xảy họ có quyền root hệ thống Unix/Linux sở hữu tài khoản tài khoản quản trị miền (Domain Administrator) Đây quyền cho phép truy nhập kiểm soát tất tài nguyên mạng Kết ca kiểm thử xâm nhập cho người dùng/khách hàng kẻ cơng thực với tình trạng bảo mật mạng Chú ý rằng, kiểm thử xâm nhập đánh giá lỗ hổng hai việc khác Mục đích việc đánh giá lỗ hổng cung cấp danh sách tất lỗ hổng mạng hệ thống Cịn mục đích kiểm thử xâm nhập tổ chức thấy lỗ hổng sử dụng kẻ cơng để chống lại họ Qua đó, chuyên gia bảo mật cung cấp lời khuyên biện pháp đối phó cần thiết cần thực để giảm thiểu mối đe dọa lỗ hổng Trong giảng này, trước hết người đọc giới thiệu công cụ phương pháp để khai thác lỗ hổng phổ biến kỹ thuật xâm nhập tinh vi Sau vào phân tích mã nguồn chương trình để thấy cách kẻ công sử dụng kỹ thuật xác định lỗ hổng nào, xây dựng công cụ để khai thác lỗ hổng tìm Kiểm thử xâm nhập bao gồm số nội dung sau: - Đánh giá sở hạ tầng mạng: đánh giá cấu trúc mạng, biện pháp bảo mật thiết lập, việc tuân thủ tiêu chuẩn; đánh giá cấu hình, cấu trúc, quản trị, vá Khi thực ca kiểm thử mạng lớn, cần thêm “khóa vạn năng” vào hệ thống quan trọng Điều cho phép người kiểm thử bỏ qua hạn chế thay đổi thực q trình thử nghiệm Nó bắt chước hành động điển hình mà kẻ cơng thực Có nhiều loại “khóa vạn năng” khác nên xem xét Ví dụ cài root kit vào máy cần cài đặt tiến trình chờ cổng? Có nhiều mức độ “khóa vạn năng” khác tùy thuộc vào kích cỡ cấu hình, khả trì, làm cho việc thử nghiệm trở nên dễ dàng Hãy xác định cần thiết để đạt mục tiêu việc kiểm tra đảm bảo họ có tất quyền bảo vệ TRƯỚC KHI kiểm tra Thu thập lưu trữ liệu nhóm kiểm thử IT Dữ liệu thu thập từ tài sản khách hàng phải bảo quản cẩn thận Việc thiết lập quy tắc trước thử nghiệm liên quan đến việc quản lý mật khẩu, báo cáo, tham gia bên thứ ba (người kiểm thử sử dụng để phá mật băm (hash)?), thứ khác liên quan đến liệu khách hàng Cần có đồng thuận trước với khách hàng cách liệu chuyển, lưu trữ làm để khơng có câu hỏi nghi vấn sau thực Một mục ghi khác bao gồm cách người kiểm thử xử lý cố đưa thông tin kẻ cơng có mạng Nhóm ứng phó cố bảo mật bên thứ ba có phương pháp cụ thể để xử lý tình nhằm đảm bảo vụ việc xử lý cách PT Dữ liệu nhân viên thông tin cá nhân Cần tìm luật quy định sách thơng tin nhân viên liên quan đến công việc cụ thể Nếu thông tin chứa hệ thống không thuộc khách hàng, liệu họ có cho phép người kiểm thử xem hay khơng, hay chép lưu trữ liệu không? Một hợp đồng tốt cần phải kiểm tra kỹ lưỡng chuyên gia tư vấn pháp luật có nhiều kinh nghiệm với loại cơng việc 5.2 THU THẬP VÀ PHÂN TÍCH DỮ LIỆU Một hệ thống bị xâm nhập, người kiểm thử nên liệt kê đầy đủ thiết bị Bất kỳ manh mối thơng tin có giá trị cần đặt quản lý cách, nhanh chóng hiệu Trong giai đoạn cần tập trung vào việc thu thập thông tin liệt kê đầy đủ dịch vụ cài đặt, cấu hình mạng lịch sử truy nhập Việc xác định kiểu mạng môi trường mà hệ thống chạy mang lại số thơng tin như: mạng có phân đoạn khơng, có nhiều IP liên kết với thiết bị ảo hóa Khi xem xét hệ thống bị xâm nhập, để tăng hiệu cho ca kiểm thử, cần tạo danh sách lệnh thủ tục sử dụng Làm việc có kế hoạch giúp giai đoạn sau dễ dàng hơn, đặc biệt giai đoạn báo cáo Đồng thời, không bỏ lỡ điều quan trọng giai đoạn kiểm thử 123 Hầu hết mơi trường kiểm thử có nhiều hệ thống dựa Windows Điều quan trọng cần phải hiểu đâu tệp cài đặt quan trọng cách chúng thu thập xem xét giải hạn chế shell sử dụng Phần thảo luận phương pháp khác sử dụng để có nguồn liệu Tuy xem xét cho hệ điều hành kiện, xem xét kiến thức cần thiết cho người bắt đầu thơng qua ví dụ cụ thể Ví dụ sau mô tả cho Windows XP SP2 (với IP dải 192.168.50.0/24) sử dụng công cụ Armitage cài Kali Linux mạng Trong máy Windows, có nhiều tệp thư mục quan trọng Dưới liệt kê số quan trọng nhất: Đường dẫn %WINDIR%\system32\CCM\logs\*.log AppEvent.Evt %WINDIR%\system32\config\AppEvent.Evt boot.ini %SYSTEMDRIVE%\boot.ini default.sav %WINDIR%\system32\config\default.sav hosts %WINDIR%\System32\drivers\etc\hosts index.dat Content.IE5\index.dat and other locations NetSetup.log %WINDIR%\debug\NetSetup.log ntuser.dat %USERPROFILE%\ntuser.dat pagefile.sys %SYSTEMDRIVE%\pagefile.sys PT SAM IT *.log %WINDIR%\repair\sam SecEvent.Evt %WINDIR%\system32\config\SecEvent.Evt security.sav %WINDIR%\system32\config\security.sav software.sav %WINDIR%\system32\config\software.sav system %WINDIR%\repair\system system.sav %WINDIR%\system32\config\system.sav win.ini %WINDIR%\win.ini Chạy lệnh cửa sổ dòng lệnh để cập nhật Metasploit: # Msfupdate Sau chạy Armitage: # Armitage Khi cửa sổ Connect xuất nhấp chuột vào nút Connect, chọn Metasploit RPC chọn Yes Armitage cho phép sử dụng số phương pháp thu thập liệu Dưới ví dụ sử dụng Nmap để quét mạng thử nghiệm Trong menu Armitage, chọn Hosts | Nmap Scan | Quick Scan (OS detect) (xem hình 5.1) 124 Nhập 192.168.75.0/24 để scan VLAN1 subnet Kết xuất với thơng báo hồn thành Find Attacks lựa chọn nên sử dụng để thử công Kết hình 5.2 PT IT Hình 5.1: Quét nhanh Armitage Hình 5.2: Kết sau quét 125 PT IT Việc khai thác sử dụng Armitage dễ dàng đơn giản, nên cẩn thận lựa chọn mục tiêu Sau đảm bảo mục tiêu liệt kê nằm phạm vi, chọn mục Tác vụ | Tìm kiếm cơng Khi q trình hoàn tất, xem xét máy Windows XP sử dụng lỗ hổng ms08_067 Thực nhấp chuột phải vào biểu tượng hệ thống Windows không gian làm việc chọn Attack | Smb | Ms08_067_netapi Hình 5.3: Chọn cơng smb Khi menu cấu hình xuất hiện, nhấp vào Launch để tiếp tục 126 Hình 5.4: Chọn Launch để tiếp tục công PT IT Nếu tất thứ hoạt động đúng, biểu tượng không gian làm việc thay đổi tương tự sau: Hình 5.5: Biểu tượng thể xâm nhập thành công Như vậy, hệ thống Windows bị xâm nhập tận dụng kết hợp Armitage Meterpreter để thực quy trình khai thác sau xâm nhập Bằng cách nhấn chuột phải vào hình ảnh máy bị xâm nhập, lựa chọn tùy chọn Ví dụ Duyệt tệp: 127 IT PT Hình 5.6: Xem danh sách tệp máy xâm nhập Hay hiển thị trình đơn Processes: Hình 5.7: Hiển thị danh sách tiến trình máy bị xâm nhập Với hệ điều hành nào, cần phải biết loại cơng cụ có sẵn hệ thống đích Đây vấn đề quan trọng để xác định loại hệ thống tương tác Việc xác định cách xem xét tiến trình chạy, phần mềm cài đặt, lịch sử người dùng nhiều thứ khác Ví dụ, tương tác với hệ thống bị xâm nhập cách: 128 Trong Armitage nhấp chuột phải vào hệ thống bị xâm nhập chọn Meterpreter | Interact | Meterpreter Shell Gõ sysinfo dấu nhắc Hình 5.8: Tương tác máy tính bị xâm nhập dựa vào Meterpreter Shell Ngồi tìm kiếm thêm thơng tin phần mềm cài đặt, file quan trọng cách đánh index lệnh command line dir find kết hợp: c:\> dir c:\ /s /b | find /i "important" Hoặc tìm kiếm thơng tin xuất từ registry reg export HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall 5.3 tmp.txt DUY TRÌ TRUY NHẬP PT IT Sau tiếp cận với hệ thống mục tiêu, lựa chọn sử dụng hệ thống bị công để làm bước đệm cho cơng khác, ví dụ cơng, qt khai thác hệ thống khác tiếp tục khai thác hệ thống chế độ ẩn danh Cả hai hành động gây nhiều thiệt hại Ví dụ thiết lập nghe trộm để chặn tất lưu lượng mạng gửi đến/đi, bao gồm FTP (giao thức truyền file) phiên telnet với hệ thống khác Nếu muốn không bị phát hiện, cần phải thực bước để đảm bảo bí mật Có nhiều cách khác nhau, thường thông qua việc cài đặt sở hạ tầng ẩn để tiếp tục truy nhập lại hệ thống mà khơng bị kiểm sốt Có thể dựa backdoor, Trojan, rootkit kênh bí mật khác Khi hạ tầng thiết lập, tiếp tục tìm kiếm liệu giá trị khác Công cụ đơn giản để thiết lập truy nhập vào hệ thống bị vi phạm backdoor trojan Trojan cung cấp truy nhập mức ứng dụng, cần cài đặt phần mã độc hệ thống mục tiêu Trong hệ thống Windows, phần lớn trojan tiến hành tự cài đặt chạy dạng dịch vụ hệ thống cục bộ, có quyền quản trị Hơn nữa, sử dụng trojan để tìm hay nghe trộm mật khẩu, thơng tin, thông tin nhạy cảm khác lưu trữ hệ thống Giống trojan truy nhập từ xa (RAT), backdoor cài đặt hệ thống mục tiêu có chức gửi hay nhận liệu, đựa cổng 53 (cho DNS) 80 hay 443 (cho HTTP HTTPS) để che giấu lưu lượng truy nhập Một cách khác sử dụng kênh bí mật hay đường hầm thơng tin bí mật để truyền liệu Các kênh VoIP, đường hầm DNS, ICMP hay HTTP, sử dụng làm đường dẫn cho việc khai thác liệu từ bên mạng Tất kênh bí mật truyền tải liệu mã hóa Mặc dù việc phát kênh bí mật khơng 129 phải khơng thể, địi hỏi nhiều thời gian cơng sức Khi sử dụng số cơng cụ phù hợp, tìm thấy số dấu hiệu dị thường lưu lượng truy nhập ngồi Ví dụ chữ ký mạng, phân tích liệu luồng liệu phân tích giao thức Các cơng cụ khơng hồn tồn hồn hảo cho mục đích bảo mật chúng hỗ trợ để có kết tốt Để phát đường hầm bí mật việc, chặn lại việc hồn tồn khác Có thể dễ dàng thực ngăn chặn ICMP ngoài, chặn yêu cầu DNS đến máy chủ bên hay sử dụng Web proxy để xử lý đường hầm HTTP, chậm gửi thư thoại trường hợp VoIP hay xử lý âm để lọc gói tin tin nhắn thoại (tương tự phần mềm chống thư rác) PT IT Ngồi ra, sử dụng rootkit với khả ẩn giấu khỏi hệ thống máy tính So với trojan loại phần mềm độc hại khác, rootkit tự che giấu tốt để vượt qua biện pháp bảo mật máy tính Thực tế rootkit tạo nhằm đáp ứng mục tiêu Rootkit thường tải với trợ giúp trojan cài hệ thống với mức truy nhập người dùng thông thường Sau đó, rootkit cố gắng đánh cắp mật thông tin đăng nhập tương tự khác để có quyền truy nhập cấp quản trị viên Quá trình gọi leo thang đặc quyền Khơng giống loại mã độc thông thường gây nhiều thiệt hại khoảng thời gian ngắn, rootkit có xu hướng lẩn trốn hệ thống mục tiêu, từ từ làm suy yếu Prima facie nhấn mạnh vào từ 'bí mật' Ví dụ, keylogger rootkit thiết kế để ghi lại từ mà nạn nhân khơng biết Nó có nhiều thời gian để đánh cắp thơng tin nhạy cảm thực tế phần mềm độc hại khơng bị phát hiện, dẫn đến làm tăng khả bị đánh cắp nhận dạng Nếu chia hệ thống máy tính thành ba lớp bản, thường gồm phần cứng, phần nhân, hệ điều hành Về chất, nhân cốt lõi hệ điều hành Thường rootkit mức người dùng sử dụng tiến trình với độ ưu tiên thấp để phá hoại phần mềm bảo mật Rootkit cấp nhân nguy hiểm nhiều lý sau: - Chúng có khả ngụy trang diện thêm mã vào phần nhân hệ điều hành - Khởi chạy sớm so với hệ điều hành - Có thể phá vỡ mật mã tạo kênh bí mật để truy nhập không bị giới hạn vào hệ thống bị xâm nhập - Để loại bỏ rootkit root-level rootkit thường khó - Rootkit nằm nhớ nhân thường không để lại dấu vết đĩa cứng Ngồi ra, chúng sửa đổi tập tin, phần đĩa, chí thay đổi nhân để chống lại việc khởi động lại 130 Rootkit cài đặt mức nhân có đủ quyền quản trị viên với đầy đủ khả truy nhập vào hệ thống, mức hệ điều hành Các biện pháp bảo mật cổ điển phần mềm chống vi-rút thường khơng thể đối phó với nguy mà rootkit đưa tới Để thay thế, chọn chương trình xây dựng nhằm mục đích loại bỏ rootkit Malwarebytes Antirootkit, GMER, Sophos Anti-Rootkit, TDSSKiller, v.v Tuy nhiên, biện pháp khơng hiệu quả, khơng có đảm bảo chương trình gỡ bỏ tốt rootkit Bên cạnh phần mềm chống rootkit, người ta làm hồn tồn máy tính Đó là, lưu tập tin quan trọng cài đặt lại hệ điều hành hồn tồn Thơng thường, hành động loại bỏ rootkit bảo đảm 100% loại rootkit cấp độ BIOS, tồn tự cài đặt lại Tất nhiên, dù có tỏ vơ hình ln có dấu hiệu, mặt lý thuyết mục đích rootkit trì truy nhập cho người từ bên PT IT Một hoạt động pha trì truy nhập truyền tải liệu trái phép từ hệ thống máy tính máy chủ tới hệ thống thiết bị bên Nó thực tay (tương tự lệnh 'copy-paste') tự động lây lan qua phần mềm độc hại mạng Báo cáo năm 2015 McAfee 60% trường hợp sử dụng kênh trực tiếp, phần lại 40% liên quan đến phương tiện vật lý, chẳng hạn tải liệu vào ổ USB đánh cắp máy tính xách tay Một phần đáng kể số 40% liên quan đến điện thoại di động, có lẽ chấp nhận rộng rãi sách cho phép mang thiết bị cá nhân nhiều công ty Các thông tin cá nhân, thông tin nhận dạng thông tin sức khoẻ cá nhân mục tiêu hàng đầu, theo sau tài sản trí tuệ liệu tài Khi liệu truyền tải trực tiếp, thông thường qua loại giao thức web khác nhau, giao thức đường hầm, email truyền tệp Trong giao thức truyền tệp (FTP) coi giao thức mạng tiêu chuẩn có mục đích chuyển tệp, sử dụng để tạo thuận lợi cho chiến dịch đánh cắp liệu Các giao thức kỹ thuật khác áp dụng, chẳng hạn gói tin điều khiển định tuyến, shell bảo mật, peer-to-peer, nhắn tin tức thời, Windows Management Instrumentation, ẩn liệu video hình ảnh, VoIP Webcam, mi-crơ thiết bị ngoại vi tương tự sử dụng để giám sát hoạt động mục tiêu Hoặc sử dụng truyền tệp HTTP mạng ẩn danh Tor để che dấu vị trí lưu lượng truy nhập Đơi trước diễn trình truyền liệu lấy cắp, người ta cần xử lý liệu để chuyển dễ dàng bên Các hoạt động điển hình liên quan đến việc nén, mã hóa tạo mật bảo vệ Sau đó, liệu xử lý tải lên máy chủ bên ngồi Các kênh truyền liệu phổ biến thường dùng để gửi 131 liệu cách ẩn dấu khỏi hệ thống mục tiêu lẫn vào với hoạt động truyền liệu thông thường mạng Phần mềm độc hại FrameworkPOS ví dụ cách khai thác truyền liệu đánh cắp, thơng qua kỹ thuật trích xuất nhớ để khai thác thơng tin thẻ tín dụng lưu trữ tiến trình chạy hệ thống đầu cuối Khi tìm liệu có liên quan, phần mềm thực tạo đường hầm DNS để kết nối với máy chủ điều khiển để thu thập liệu Hơn nữa, FrameworkPOS thực mã hóa XOR cho thơng tin thẻ tín dụng, tên máy chủ địa IP, thêm gói mã hố vào u cầu HTTP Thủ thuật làm tê liệt việc kiểm tra tường lửa proxy giống liệu thơng thường Theo Splunk Enterprise Security, số dấu hiệu đáng ý q trình đánh cắp liệu giúp ích cho việc điều tra, bao gồm: Hoạt động cổng trái phép - Hoạt động email với khối lượng lớn đến miền công ty - Máy chủ gửi email nhiều - Truy vấn DNS nhiều - Tải liệu lên trang web công ty IT - 5.4 PT Do đó, người kiểm thử q trình thực trì truy nhập cần ý đảm bảo khơng lộ rõ dấu hiệu để tránh việc bị phát sớm XÂM NHẬP SÂU VÀO HẠ TẦNG THÔNG TIN Trước xâm nhập sâu vào hạ tầng thông tin, cần tìm kiếm thơng tin mạng kết nối đến máy tính Cũng Linux, điều quan trọng phải thu thập thông tin mạng sớm tốt Meterpreter cho phép sử dụng lệnh ipconfig để tìm hiểu mạng Thực lệnh thấy: Hệ thống đặc biệt có hai card mạng riêng biệt khả hệ thống sử dụng để khám phá mạng 192.168.50.0/24 tương đối cao Tiếp tục theo dõi bảng định tuyến thơng tin mạng khác Hình 5.9: Theo dõi bảng định tuyến 132 IT Thực lệnh netstat để xác định xem có kết nối mạng đáng quan tâm đến từ máy hay không Những mối liên kết dẫn tới mục tiêu Hình 5.10: Xem kết nối mạng tới máy nạn nhân PT Hãy nhìn vào kết nối host 192.168.50.103 cổng 80 Có vẻ có máy chủ web chạy máy Ngồi ra, dường có thiết bị đáng quan tâm mạng 192.168.50.0/24 so với mạng 192.168.75.0/24 Sau có thơng tin, việc cơng máy tính khác dễ dàng nhờ Armitage với kiểu cơng pivot Khi biết có mạng khác có sẵn từ máy Windows bị xâm nhập, vấn đề quét mạng khởi động công từ hệ thống hay khơng Có số phương pháp thủ cơng để thực việc này, đơn giản kích chuột phải vào biểu tượng đồ họa máy tính mục tiêu Armitage chọn Meterpreter | Pivoting | Setup Hình 5.11: Tấn cơng pivot 133 Chọn 192.168.50.0 nhấp vào Add Pivot Hình 5.12: Cấu hình công pivot Thao tác thêm thông tin định tuyến thích hợp phép thực quét cơng thơng qua máy tính nạn nhân Có thể thử sau: Chọn máy Windows bị xâm nhập Tại điều hướng chọn Hosts | MSF Scans Nhập 192.168.50.0/24 tiếp tục Xem lại phát chọn Find Attacks từ phần lựa chọn menu công hàng đầu PT 5.13 IT Sau đó, nhìn thấy vài thơng tin tương tự ảnh chụp hình hình vẽ Hình 5.13: Kết sau công pivot 134 Nhấp chuột phải vào máy tính tìm thấy chọn quét để lấy thêm thông tin hệ thống Các đường màu xanh cung cấp hướng dẫn hệ thống mà điểm Pivot qua Điều đặc biệt hữu ích đối phó với mạng lưới phức tạp 5.5 KHƠI PHỤC LẠI TRẠNG THÁI BAN ĐẦU CỦA CÁC MÁY TÍNH IT Khi khai thác mạng nhỏ, dễ có đánh giá thấp thời gian nỗ lực để khôi phục lại máy tính xâm nhập Thực tế, nhiệm vụ quan trọng việc tránh phát thiết lập lại mạng ban đầu sau thử nghiệm hoàn tất Thêm nữa, việc bỏ qua máy chủ bị xâm nhập nguy hiểm người khác lợi dụng để khai thác Ví dụ quên sử dụng tài khoản trò chơi cho đăng nhập SSH với quyền root đặt mật yếu Hoặc tệ vơ tình gửi báo cáo sai cho khách hàng cho thơng tin bí mật Khi làm việc với vài máy tính, dễ dàng quay lại khơi phục dọn dẹp lại máy tính Nhưng có 1000 máy với 40 mạng khác lại vấn đề lớn Do vậy, cần ghi chép tỉ mỉ lưu giữ hồ sơ xác khơng làm kiểm tra mà cịn điều thực tồn sau thử nghiệm Sử dụng danh sách kiểm tra PT Cần có danh sách kiểm tra cho tất hành động phải hoàn tác Ví dụ thêm tập tin tạm thời vào thư mục cho phép ghi để thử nghiệm blind SQL injection Nếu khơng thể xóa tệp, thơng báo quản trị viên nhắc họ xóa tệp Bởi cơng việc chun gia kiểm thử xâm nhập để giúp xác minh tính an tồn mơi trường, khơng phải để làm cho dễ bị tổn thương Khi cần dọn dẹp Không sớm để bắt đầu q trình dọn dẹp khơi phục hệ thống Điều không giúp người kiểm thử không bị phát hiện, mà cịn đảm bảo có cách tiếp cận có hệ thống sử dụng suốt q trình kiểm tra thâm nhập Do đó, q trình thực kiểm thử, nên làm dần bước thực dọn dẹp khơi phục Như vậy, việc dọn dẹp dễ dàng Các tệp log cục Điều quan trọng hiểu rõ nơi tệp log lưu trữ, nội dung chúng cách chúng theo dõi quản trị viên Hãy dành thời gian để tìm hiểu tệp log khác cho hệ điều hành sử dụng rộng rãi phân phối Linux phổ biến máy chủ Windows Để tránh bị phát hiện, việc xóa ghi cách đơn giản không hỗ trợ đạt kết mong muốn Thay vào đó, sử dụng kỹ thuật cho phép người kiểm thử chỉnh sửa phần tệp log leo thang đặc quyền sang tài khoản không giám sát Một số nhiệm vụ cần để tìm hiểu mạng nội khơng u 135 cầu quyền quản trị Do đó, tốt sử dụng tài khoản người dùng thường cho hoạt động thường hành động quản trị viên bị theo dõi PT IT Ngoài ra, quản trị viên xem lại log khơng tìm kiếm lưu lượng truy nhập chuẩn Họ tìm kiếm dấu vết bất thường Do để tránh bị phát lưu lượng truy nhập hành động bất thường, cần hợp với lưu lượng truy nhập người dùng trung bình 136 TÀI LIỆU THAM KHẢO [1] Lee Allen, 2012 Advanced Penetration Testing for Highly-Secured Environments: The Ultimate Security Guide Packt Publishing [2] Harper, Allen, et al., 2011 Gray Hat Hacking: The Ethical Hackers Handbook McGraw-Hill Osborne Media [3] Stuart McClure, Joel Scambray, George Kurtz, 2012 Hacking Exposed 7: Network Security Secrets and Solutions McGraw Hill [4] Sean-Philip Oriyano, Michael Gregg, 2010 Hacker Techniques, Tools, and Incident Handling Jones & Bartlett Learning [5] Nguyễn Thành Nam, 2009 Nghệ thuật tận dụng lỗi phần mềm Nhà xuất Khoa học & Kỹ Thuật PT IT [6] Gera Insecure Programming, http://community.corest.com/~gera/InsecureProgramming, Truy nhập tháng 11/2017 137 ... kiểm thử xâm nhập Chương trình bày số dạng kiểm thử xâm nhập quan trọng bao gồm kiểm thử công vào yếu tố người, xâm nhập vật lý, công từ bên số dạng kiểm thử công mạng Mỗi dạng kiểm thử xâm nhập. .. 1.1 GIỚI THIỆU VỀ KIỂM THỬ XÂM NHẬP 1.2 VAI TRÒ CỦA KIỂM THỬ XÂM NHẬP 1.3 VẤN ĐỀ ĐẠO ĐỨC TRONG KIỂM THỬ XÂM NHẬP 1.3.1 Quy trình kiểm thử xâm nhập 1.3.2 Những... DẠNG KIỂM THỬ XÂM NHẬP Chương trình bày số dạng kiểm thử xâm nhập quan trọng bao gồm kiểm thử công vào yếu tố người, xâm nhập vật lý, công từ bên số dạng công mạng Mỗi dạng kiểm thử xâm nhập

Ngày đăng: 19/03/2021, 16:47

Tài liệu cùng người dùng

Tài liệu liên quan