Báo cáo đồ án tốt nghiệp nghiên cứu các kỹ thuật tấn công, xây dựng chương trình trinh sát trên mạng

62 1,546 4
  • Loading ...
    Loading ...
    Loading ...

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 23/05/2014, 14:28

Lời nói đầu Ngày nay, tác chiến mạng (bao gồm tấn công và trinh sát mạng) không còn là một vấn đề quá mới mẻ hay xa lạ. Việc áp dụng công nghệ thông tin trong quản lý và điều hành đã có mặt trong mọi lĩnh vực ngay cả trong chiến tranh hiện đại cũng vậy. Chúng ta thử tưởng tượng xem, điều gì sẽ xảy ra một khi chúng ta xâm nhập được vào hệ thống chỉ huy thông tin, liên lạc của đối phương và lấy thông tin ở đó hay nguy hiểm hơn khi mà chúng ta chiếm quyền điều khiển để đưa ra thông tin sai lệch hoặc ra lệnh … ngưng chiến. Thực tế trong cuộc chiến tranh Vùng vịnh năm 1991, hệ thống thông tin và chỉ huy chiến trường của liên quân do Mỹ cầm đầu đã bị một nhóm người tấn công người Libăng xâm nhập thành công, họ đã điều chỉnh một số thông tin, thêm thông tin mình muốn vào và sự việc chỉ bị phát hiện sau 2 ngày khi mà nhóm người tấn công này đã rút lui an toàn. Hay mới đây trong cuộc chiến tranh xâm lược I-Rắc, hệ thống thông tin hậu cần của Mỹ đã bị một nhóm người tấn công người Phần Lan xâm nhập, nhưng lần này họ chỉ đưa ra lời cảnh báo mà không gây tác động gì. Trên lý thuyết thì các nước có nền công nghệ thông tin phát triển càng cao thì lỗ hổng an ninh mạng sẽ càng ít nhưng việc ảnh hưởng khi bị tác động sẽ càng lớn. Thực tế thì lại cho thấy điều đó là khác hoàn toàn. Ở các nước có nền công nghệ thông tin phát triển thì lỗ hổng an ninh mạng lại càng nhiều và lại là mục tiêu cho các người tấn công xâm nhập. Chính vì vậy việc nghiên cứu các kỹ thuật tấn công và trinh sát mạng trong thời đại tác chiến công nghệ cao như hiện nay là một yêu cầu cấp thiết, không những nhằm mục đích tấn công, phá hoại đối phương mà còn bảo vệ mình trước những sự tấn công của đối phương. Thấy được sự cấp thiết này nên qua quá trình thực tập và làm đồ án tốt nghiệp cuối khóa, tôi chọn cho mình đề tài : Nghiên cứu các kỹ thuật tấn công, xây dựng chương trình trinh sát trên mạng. 1 Nhiệm vụ đồ án: Nghiên cứu, nắm được các kỹ thuật tiêu biểu trong tấn công và trinh sát trên mạng, từ đó xây dựng chương trình tấn công hoặc trinh sát mạng. Nội dung đồ án gồm 3 chương: Chương 1: Lý thuyết chung Chương 2: Một số kỹ thuật tiêu biểu trong trinh sáttấn công trên mạng. Chương 3: Xây dựng chương trình trinh sáttấn công trên mạng. Tuy đã có sự nỗ lực nhưng đồ án không thể tránh được những sai sót, tôi rất mong nhận được sự đóng góp của các thầy giáo. Tôi xin cám ơn thầy giáo, PGS.TS đã giúp đỡ tôi trong suốt quá trình thực hiện đồ án. 2 Chương 1 : Lý thuyết chung 1.1 Thế nào là một địa chỉ IP IP là từ viết tắt của Internet Protocol, trên Internet thì địa chỉ IP của mỗi người là duy nhất và nó sẽ đại diện cho chính người đó, địa chỉ IP được sử dụng bởi các máy tính khác nhau để nhận biết các máy tính kết nối giữa chúng. Đây là lí do tại sao chúng ta bị cấm và là cách người ta tìm ra IP của chúng ta. Địa chỉ IP gồm 4 số giới hạn từ 0 - 255. Mỗi số được lưu bởi 1 byte, do đó IP có kích thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu điạ chỉ, ở lớp B có 65536 địa chỉ. Ví dụ: Ở lớp B với 132.25,chúng ta có tất cả các địa chỉ từ 132.25.0.0 đến 132.25.255.255. Phần lớn các địa chỉ ở lớp A là sở hữu của các công ty hay của tổ chức. Một ISP thường sở hữu một vài địa chỉ lớp B hoặc C. Ví dụ: Nếu địa chỉ IP của chúng ta là 132.25.23.24 thì chúng ta có thể xác định ISP của chúng ta là ai. 3 Địa chỉ IP có thể dễ dàng phát hiện ra, người ta có thể lấy được qua các cách sau : + Chúng ta lướt qua một trang web, IP của chúng ta bị ghi lại + Trên IRC, bất kì ai cũng có thể có IP của chúng ta + Trên ICQ, mọi người có thể biết IP của chúng ta, thậm chí chúng ta chọn ``do not show ip`` người ta vẫn lấy được nó. + Nếu chúng ta kết nối với một ai đó, người ta có thế gõ ``systat –n ``, và biết được ai đang kết nối đến. + Nếu ai đó gửi cho chúng ta một email với một đoạn mã java tóm IP, họ cũng có thể tóm được IP của chúng ta 1.2 Proxy Proxy cung cấp cho người sử dụng truy xuất internet với những host đơn. Những proxy server phục vụ những nghi thức đặt biệt hoặc một tập những nghi thức thực thi trên dual-homed host hoặc basion host. Những chương trình client của người sử dụng sẽ qua trung gian proxy server thay thế cho server thật sự mà người sử dụng cần giao tiếp. Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy server sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp đến những yêu cầu từ client đến server, cũng như đáp ứng những yêu cầu của server đến client. Vì vậy proxy server giống cầu nối trung gian giữa server và client . Proxy cho phép chúng ta truy xuất dịch vụ trên internet theo nghĩa trực tiếp. Với dual host homed cần phải login vào host trước khi sử dụng dịch vụ nào trên internet, điều này thường không tiện lợi và một số người trở nên thất vọng khi họ có cảm giác thông qua firewall, với proxy nó giải quyết được vấn đề này. Tất nhiên nó còn có những giao thức mới nhưng nói chung nó cũng khá tiện lợi cho người sử dụng. 4 Bởi vì proxy cho phép chúng ta truy xuất những dịch vụ trên internet từ hệ thống cá nhân của ta, nó không cho phép packet đi trực tiếp giữa hệ thống sử dụng và internet, đường đi là gián tiếp thông qua dual homed host hoặc thông qua sự kết hợp giữa bastion host và screening rounter. 1.3 Vitual port Vitual port (cổng ảo) là 1 số tự nhiên được gói ở trong TCP (Tranmission Control Protocol) và UDP (User Diagram Protocol) header. Như chúng ta đã biết, Windows có thể chạy nhiều chương trình 1 lúc, mỗi chương trình này có 1 cổng riêng dùng để truyền và nhận dữ liệu. Ví dụ 1 máy có địa chỉ IP là 127.0.0.1 chạy WebServer, FTP_Server, POP3 server, etc, những dịch vụ này đều đuọc chạy trên 1 IP address là 127.0.0.1, khi một gói tin được gửi đến làm thế nào máy tính của chúng ta phân biệt được gói tin này đi vào dịch vụ nào WebServer hay FTP server hay SM. TP? Chính vì thế Port xuất hiện. Mỗi dịch vụ có 1 số port mặc định, ví dụ FTP có port mặc định là 21, web service có port mặc định là 80, POP3 là 110, SMTP là 25, Người quản trị mạng có thể thay đổi số port mặc định này, nếu chúng ta không biết số port trên một máy chủ, chúng ta không thể kết nối vào dịch vụ đó được. Chắc chúng ta đã từng nghe nói đến PORT MAPPING nhưng có lẽ chưa biết nó là gì và chức năng thế nào. Port mapping thực ra đơn giản chỉ là quá trình chuyển đổi số port mặc định của một dịch vụ nào đó đến 1 số khác. Ví dụ Port mặc định của WebServer là 80, nhưng thỉnh thoảng chúng ta vẫn thấy http://www.xxx.com:8080, 8080 ở đây chính là số port của host xxx nhưng đã đuược người quản trị của host này ``map`` từ 80 thành 8080. 1.4 DNS DNS là viết tắt của Domain Name System. Một máy chủ chạy DNS chuyển hostname bằng cách chuyển các chữ cái thành các chữ số tương ứng và ngược lại. Ví dụ: 127.0.0.1 > localhost và localhost > 127.0.0.1 . 5 1.5 Ping và cách sử dụng Ping là 1 khái niệm rât đơn giản tuy nhiên rất hữu ích cho việc chẩn đoán mạng. Tiểu sử của từ ``ping`` như sau: Ping là tiếng động vang ra khi 1 tàu ngầm muốn biết có 1 vật thể khác ở gần mình hay không, nếu có 1 vật thể nào đó gần tàu ngầm tiếng sóng âm này sẽ va vào vật thể đó và tiếng vang lại sẽ là ``pong`` vậy thì tàu ngầm đó sẽ biết là có gì gần mình. Trên Internet, khái niệm Ping cũng rất giống với tiểu sử của nó như đã đề cập ở trên. Lệnh Ping gửi một gói ICMP (Internet Control Message Protocol) đến host, nếu host đó ``pong`` lại có nghĩa là host đó tồn tại (hoặc là có thể liên kết tới được). Ping cũng có thể giúp chúng ta biêt được luợng thời gian một gói tin (data packet) đi từ máy tính của mình đến 1 host nào đó. Sử dụng Ping chúng ta chỉ cần mở MS-DOS, và gõ lệnh ``ping địa_chỉ_IP``, mặc định sẽ ping 4 lần, nhưng chúng ta cũng có thể gõ ``ping địa_chỉ_IP -t``, cách này sẽ làm máy ping mãi. Để thay đổi kích thước ping ta có thể dung lệnh: ``ping -l (size) địa_chỉ_ip ``. Cái ping làm là gửi một gói tin đến một máy tính, sau đó xem xem mất bao lâu gói tin rồi xem xem sau bao lâu gói tin đó quay trở lại, cách này xác định được tốc độ của kết nối, và thời gian cần để một gói tin đi và quay trở lại và chia bốn (gọi là ``trip time``). Ping cũng có thể được dùng để làm chậm đi hoặc đổ vỡ hệ thống bằng lụt ping. Windows 98 treo sau một phút lụt ping (bộ đệm của kết nối bị tràn – có quá nhiều kết nối). Một cuộc tấn công “ping flood” sẽ chiếm rất nhiều băng thông của chúng ta, và chúng ta phải có băng thông lớn hơn đối phương (trừ khi đối phương là một máy chạy Windows 98 và chúng ta có một modem trung bình, bằng cách đó chúng ta sẽ hạ gục đối phương sau xấp xỉ một phút lụt ping). Lụt Ping không hiệu quả lắm đổi với những đối phương mạnh hơn một chút, trừ khi chúng ta có nhiều đường 6 và chúng ta kiểm soát một số lượng tương đối các máy chủ cùng ping mà tổng băng thông lơn hơn đối phương. Chú ý: option –t của DOS không gây ra lụt ping, nó chỉ ping mục tiêu một cách liên tục, với những khoảng ngắt quãng giữa hai lần ping liên tiếp. Trong tất cả các hệ Unix hoặc Linux, chúng ta có thể dùng ping -f để gây ra lụt thực sự. Thực tế là phải ping -f nếu chúng ta dùng một bản tương thích POSIX (POSIX - Portable Operating System Interface dựa trên uniX), nếu không nó sẽ không phải là một bản Unix/Linux thực sự, bởi vậy nếu chúng ta dùng một hệ điều hành mà nó tự cho nó là Unix hay Linux, nó sẽ có tham số -f. 1.6 Cookie Cookie là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa web site và trình duyệt của người dùng. Các cookie được lưu trữ dưới những file dữ liệu nhỏ dạng text (size dưới 4k). Chúng được các site tạo ra để lưu trữ/truy tìm/nhận biết các thông tin về người dùng đã ghé thăm site và những vùng mà họ đi qua trong site. Những thông tin này có thể bao gồm tên/định danh người dùng, mật khẩu, sở thích, thói quen Cookie được trình duyệt của người dùng chấp nhận lưu trên đĩa cứng của máy mình, ko phải trình duyệt nào cũng hỗ trợ cookie. Sau một lần truy cập vào site, những thông tin về người dùng được lưu trữ trong cookie. Ở những lần truy cập sau đến site đó, web site có thể dùng lại những thông tin trong cookie (như thông tin liên quan đến việc đăng nhập vào 1 forum ) mà người ko phải làm lại thao tác đăng nhập hay phải nhập lại các thông tin khác. Vấn đề đặt ra là có nhiều site quản lý việc dùng lại các thông tin lưu trong cookie ko chính xác, kiểm tra ko đầy đủ hoặc mã hoá các thông tin trong cookie còn sơ hở giúp cho việc khai thác để vượt qua cánh cửa đăng nhập, đoạt quyền điêu khiển site có thể thực hiện được. Cookies thường có các thành phần sau : 7 + Tên: do người lập trình web site chọn + Domain: là tên miền từ server mà cookie được tạo và gửi đi + Đường dẫn: thông tin về đường dẫn ở web site mà chúng ta đang xem + Ngày hết hạn: là thời điểm mà cookie hết hiệu lực . + Bảo mật: Nếu giá trị này đựơc thiết lập bên trong cookie, thông tin sẽ đựơc mã hoá trong quá trình truyền giữa server và trình duyệt. + Các giá trị khác: là những dữ liệu đặc trưng được web server lưu trữ để nhận dạng về sau các giá trị này ko chứa các khoảng trắng, dấu chấm, phẩy và bị giới hạn trong khoảng 4k. 1.7 Gói tin TCP/IP TCP/IP viết tắt cho Transmission Control Protocol and Internet Protocol, một Gói tin TCP/IP là một khối dữ liệu đã được nén, sau đó kèm thêm một header và gửi đến một máy tính khác. Đây là cách thức truyền tin của internet, bằng cách gửi các gói tin. Phần header trong một gói tin chứa địa chỉ IP của người gửi gói tin. Chúng ta có thể viết lại một gói tin và làm cho nó trong giống như đến từ một người khác Chúng ta có thể dùng cách này để tìm cách truy nhập vào rất nhiều hệ thống mà không bị bắt. 8 Chương 2 : Một số kỹ thuật tiêu biểu trong trinh sáttấn công trên mạng Trinh sáttấn công mạng là một nghệ thuật đòi hỏi sự phối hợp của các yếu tố như: Kỹ thuật, chiến thuật, thời cơ và nghệ thuật tạo thời cơ. Ngoại trừ yếu tố kỹ thuật có chất đặc thù, các yếu tố còn lại đều nằm trong nguyên tắc chung của nghệ thuật tác chiến trong mọi cuộc chiến tranh bất kể quy mô hay hình thức. Nhưng trong bài báo cáo này tôi chỉ tập trung vào yếu tố đặc thù của chiến tranh mạng – Yếu tố kỹ thuật – bằng cách phân tích một số kỹ thuật trinh sáttấn công tiêu biểu. Trong trinh sáttấn công mạng có rất nhiều kỹ thuật được sử dụng. Có thể liệt kê dưới đây một số kỹ thuật chính : Kỹ thuật trinh sát bao gồm : - Quét mạng - Điểm danh mạng - đường 9 - Nghe trộm - Lấy dấu tay giao thức - Lấy dấu tay dịch vụ và ứng dụng - In dấu chân - Sử dụng các phần mềm gián điệp kiểu Trojan - Sử dụng yếu tố con người (Social engineering) Kỹ thuật tấn công chính bao gồm : - phá mật khẩu - Tấn công tràn bộ đệm - Tấn công tiêm mã - Tiêm mã SQL - Tiêm mã khác - Tấn công giả mạo - Giả mạo địa chỉ - Giả mạo thư tín - Tấn công từ chối dịch vụ Ngoài ra còn có nhiều kỹ thuật hỗ trợ cho trinh sáttấn công như : - Kỹ thuật che dấu thông tin (steganography) - Kỹ thuật mã và giải mã Trong mỗi kỹ thuật tấn công chính có thể có nhiều kỹ thuật nhỏ. Ví dụ như tấn công từ chối dịch vụ có tấn công từ chối dịch vụ làm sai lệch tên miền, bằng làm ngập mạng, bằng cách làm cạn kiệt tài nguyên, bằng virus, bằng bom logic,… Hình thức tiến hành cũng rất đa dạng như tập trung, phân tán hay kêt hợp cả hai. Chính vì vậy không thể đề cập một cách đầy đủ tất cả các kỹ thuật này trong phạm vi một chương mục nhỏ. Trong phạm vi nghiên cứu của đồ án tôi chỉ đề cập chi tiết đến năm kỹ thuật trinh sáttấn công phổ biến nhất, đó là : In dấu ấn, Quét mạng,Điểm danh mạng, phá mật khẩu, Tiêm mã SQL, Tràn vùng đệm và từ chối dịch vụ. 10 [...]... truy vấn bộ ánh xạ điểm cuối RPC và nêu các dịch vụ kết gán với các địa chỉ IP và các số hiệu cổng Dùng phiên làm việc rỗng, get mac hiển thị các địa chỉ MAC và các thiết bị của các card giao tiếp mạng trên các máy từ xa Điều này cung cấp các thông tin hữu ích giúp chúng ta định hình một hệ thống có nhiều giao diện trên mạn Netdom còn hữu ích hơn điểm danh các thông tin chính về các domain NT trên tuyến,... điểm danh tấn công, nhưng kỹ thuật nào sẽ cho ra các kết quả tốt nhất? Điều đó còn tùy thuộc vào cách cấu hình hệ thống Ví dụ như Remote Procedure Call (RPC), Network Information System (NIS) và Network File System (NFS) của Sun Microsystem - Điểm danh tệp dùng chung và tài nguyên mạng Unix 33 Nguồn thông tin mạng Unix tốt nhất là những kỹ thuật TCP/IP đã mô tả trong kỹ thuật quét mạng ở trên, nhưng... đang chạy trên hệ thống đích nhằm thỏa hiệp hệ thống đó Các kỹ thuật và công cụ quét cổng đã được phát triển rất nhiều và có thể tìm thấy trên INTERNET Chúng ta sẽ chỉ tập trung vào những kỹ thuật nổi bật cùng với những công cụ tương ứng mang lại hiệu quả cao nhất về thông tin thu, các công cụ này đều là miễn phí và được phát triển bởi các dự án mã nguồn mở Các kỹ thuật quét : Nói đến kỹ thuật quét... thành các phạm trù sau : - Các tài nguyên mạngcác phần dùng chung - User và các group - Các ứng dụng và biểu ngữ (banner) Kỹ thuật điểm danh cũng cụ thể theo từng hệ điều hành của server và do đó nó cũng phụ thuộc vào các thông tin thu thập được từ hai phần trên Trong phần này, tôi sẽ lần lươt đề cập đến kỹ thuật điểm danh trong các hệ điều hành : WinNT , Novell và Unix 2.3.1 Windows NT Đối với kỹ thuật. .. dùng chung không được bảo vệ kỹ Enumeration (điểm danh) là một cách để trích các tài khoản hợp lệ hoặc các tài nguyên từ hệ thống Sự khác biệt chính giữa các kỹ thuật thu thập thông tin ở phần In dấu ấn (Foot Printing) và quét mạng ( scanning) với kỹ thuật điểm danh (enumeration) 27 dưới đây nằm ở cấp xâm nhập Điểm danh liên quan đến các tuyến nối tích cực với các hệ thống và các truy vấn có định hướng... nghĩa tấn công tiêm mã SQL Kỹ thuật tiêm mã SQL (SQL Injection) là một kỹ thuật cho phép người tấn công lợi dụng các lỗ hổng trong việc kiểm tra dữ liệu đầu vào trong các ứng dụng quản trị cơ sở dữ liệu để “tiêm” (inject) vào các câu lện SQL bất hợp pháp và thi hành chúng Khái niệm các câu lệnh SQL bất hợp pháp ở đây được hiểu là các câu lệnh không được người phát triển ứng dụng lường trước Kỹ thuật. .. sử dụng các công cụ đoán pass tự động (brute force) Cũng như trường hợp của các tệp dùng chung, các máy NT config sai dễ dàng đưa ra các thông tin về user Một lần nữa, ta sẽ dùng tuyến nối rỗng để cung cấp khả năng truy cập ban đầu để chạy các công cụ tấn công đã biết Cách đầu tiên và đơn giản nhất để định danh các user trên một hệ thống windows từ xa là dùng lệnh nbstat C:\> nbstat -A [IP] Kỹ thuật. .. năng duyệt các tài nguyên mạng, do đó tiến trình điểm danh các domain NT là cực kỳ đơn giản so với các hệ điều hành khác Trong hầu hết các trường hợp, chỉ cần dùng các công cụ cài sẵn trong OS (Operating System) Lệnh netview là một thí dụ điển hình Nó sẽ liệt kê các domain sẵn dùng trên mạng, rồi đưa ra thông tin của tất cả các máy tính trong một domain (ta cũng có thể dùng thông tin từ các đợt quét... cổng đóng thì hệ thống đích sẽ gửi trả lại RST Kỹ thuật này cũng chỉ cho kêt quả chính xác trên các hệ thống tựa UNIX * Quét TCP NULL : Kỹ thuật này gửi gói dữ liệu TCP với tất cả các cờ ở TCP header đều tắt Nếu gặp cổng đóng thì cũng sẽ nhận lại được RST và không gì cả cho cổng mở Kỹ thuật này cũng chỉ hiệu quả trên hệ thống tựa UNIX * Quét UDP : Kỹ thuật này gửi một gói tin UDP cho cổng đích Nếu... SQL chỉ là trường hợp riêng của kỹ thuật tiêm mã nói chung Tất cả các ứng dụng xây dựng mã lệnh thực thi của mình dựa trên các số liệu đầu vào đều có thể là nạn nhân của loại hình tấn công hết sức tinh vi này Hậu quả của nó rất tai hại vì nó cho phép những người tấn công có thể thực hiện các thao tác xem, xóa, hiệu chỉnh CSDL của ứng dụng Lỗi này thường xuyên xảy ra trên các ứng dụng Web có dữ liệu được . : Nghiên cứu các kỹ thuật tấn công, xây dựng chương trình trinh sát trên mạng. 1 Nhiệm vụ đồ án: Nghiên cứu, nắm được các kỹ thuật tiêu biểu trong tấn công và trinh sát trên mạng, từ đó xây dựng. dựng chương trình tấn công hoặc trinh sát mạng. Nội dung đồ án gồm 3 chương: Chương 1: Lý thuyết chung Chương 2: Một số kỹ thuật tiêu biểu trong trinh sát và tấn công trên mạng. Chương 3: Xây dựng. dùng cách này để tìm cách truy nhập vào rất nhiều hệ thống mà không bị bắt. 8 Chương 2 : Một số kỹ thuật tiêu biểu trong trinh sát và tấn công trên mạng Trinh sát và tấn công mạng là một nghệ thuật
- Xem thêm -

Xem thêm: Báo cáo đồ án tốt nghiệp nghiên cứu các kỹ thuật tấn công, xây dựng chương trình trinh sát trên mạng, Báo cáo đồ án tốt nghiệp nghiên cứu các kỹ thuật tấn công, xây dựng chương trình trinh sát trên mạng, Báo cáo đồ án tốt nghiệp nghiên cứu các kỹ thuật tấn công, xây dựng chương trình trinh sát trên mạng