tìm hiểu các kỹ thuật tấn công và xây dựng một chương trình quét cổng

34 734 0
tìm hiểu các kỹ thuật tấn công và xây dựng một chương trình quét cổng

Đ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

1 MỤC LỤC Trang LỜI NHẬN XÉT LỜI CẢM ƠN MỤC LỤC 1 MỞ DẦU 3 TÓM TẮT 4 Phần 1: CÁC KỸ THUẬT TẤN CÔNG 5 1. Mạng và các điểm yếu 5 2. Các bước chính thực hiện một cuộc tấn công 6 2.1. Thu thập thông tin đích 6 2.1.1. In dấu chân 7 2.1.2. Quét 7 2.1.3. Điểm danh 7 2.2. Truy cập lần đầu 8 2.3. Leo thang đặc quyền 8 2.4. Che đậy dấu vết 9 2.5. Đặt cửa sau 9 3. Một số kỹ thuật tấn công cơ bản 9 3.1. Kỹ thuật Sniffer 9 3.1.1. Passive attack 9 3.1.2. Active attack 10 3.2. Tấn công từ chối dịch vụ (Denial of Service attack – DoS) 11 3.2.1. E-mail bombing 11 3.2.2. Smurf 12 3.2.3. Brute-force 12 3.2.4. Ping of Death 12 3.2.5. Teardrop 12 2 3.2.6. SYN flood 13 4. Một số giải pháp 13 Phần 2: CHƯƠNG TRÌNH MINH HỌA 15 1. Cấu trúc mạng 15 1.1. IP 15 1.2. TCP 17 1.3. UDP 18 1.4. ICMP 19 2. Chương trình quét cổng 20 2.1. Tạo Socket 20 2.2. Phát hiện các cổng đang mở sử dụng giao thức TCP/IP 21 2.3. Phát hiện các cổng đang mở sử dụng giao thức TCP/IP bằng cách gửi gói tin SYN 21 2.4. Phát hiện các cổng đang mở sử dụng giao thức TCP/IP bằng cách gửi gói tin ACK 24 2.5. Phát hiện các cổng đang mở sử dụng giao thức TCP/IP bằng cách gửi gói tin FIN 26 2.6. Phát hiện các cổng đang mở sử dụng giao thức UDP/IP 28 2.7. Kiểm tra bằng gói tin ICMP 29 2.8. Kiểm tra Hệ điều hành đang được sử dụng 30 KẾT LUẬN 34 1. Những vấn đề đạt được 34 2. Hướng phát triển của đề tài 34 TÀI LIỆU THAM KHẢO 3 MỞ ĐẦU Ngày nay cùng với sự phát triển của kinh tế, mạng Internet ngày càng phát triển. Nó mở rộng phạm vi liên lạc của con người, các công ty tổ chức ở rất xa nhau vẫn có thể sử dụng Internet để giao dịch với nhau, thông qua Internet họ có thể quản lý khách hàng của mình. Tuy nhiên cùng với sự phát triển của nó, việc tấn công vào các tổ chức, lấy cắp dữ liệu trên Internet ngày càng phổ biến. Các cuộc tấn công này lợi dụng những điểm yếu trên mạng để nhằm thực hiện những mục đích của kẻ tấn công. Để thực hiện một cuộc tấn công, kẻ tấn công phải tìm hiểu những thông tin cụ thể về mạng của tổ chức đó. Tuy nhiên, việc tìm hiểu những thông tin đó cũng giúp ích cho những người quản trị mạng trong việc khắc phục những điểm yếu trên mạng của họ. Một chương trình quét cổng thường được sử dụng trong trường hợp này nhằm tìm ra những kẽ hở của mạng. Việc quét cổng sẽ tìm ra các cổng đang mở, hệ điều hành trên một hệ thống mạng cụ thể nếu như hệ thống đó không được bảo vệ cẩn thận. Trên cơ sở những giao thức mạng đã biết, trong Đề tài “Tìm hiểu các kỹ thuật tấn công và xây dựng một chương trình quét cổng” này, em có xây dựng một chương trình quét cổng nhằm củng cố những kiến thức mà mình đã tìm hiểu được. Tuy nhiên chương trình không tránh khỏi những hạn chế do kiến thức của bản thân. Em sẽ cố gắng khắc phục những hạn chế này trong thời gian tới. 4 TÓM TẮT Báo cáo gồm 2 phần: Phần thức nhất: Tìm hiểu các kỹ thuật tấn công 1. Mạng và các điểm yếu: Phần này giới thiệu chung về hiện trạng và các điểm yếu của mạng hiện nay. 2. Các bước chính thực hiện một cuộc tấn công: giới thiệu chung về các bước cơ bản của một cuộc tấn công trên mạng. 3. Một số kỹ thuật tấn công trên mạng: Đưa ra các kết quả tìm hiểu về các kỹ thuật tấn công như: E-mail bombing, IP spoofing, SYN flood,… 4. Một số giải pháp: Từ việc hiểu các kỹ thuật tấn công mà đưa ra một số biện pháp nhằm ngăn chặn và hạn chế các cuộc tấn công. Phần thứ hai: Xây dựng một chương trình quét cổng Những lý thuyết cơ bản về mạng: Cấu trúc gói tin IP, TCP, UDP, ICMP. Dựa trên những kiến thức đã tìm hiểu để xây dựng một chương trình nhằm góp phần tìm ra những lỗi bảo mật, góp phần quan trọng vào việc bảo vệ cũng như tấn công. Kết thúc báo cáo là phần kết luận, tóm lược những nội dung đã trình bày và đưa ra hướng nghiên cứu tiếp theo và danh mục các tài liệu tham khảo. 5 Phần 1: CÁC KỸ THUẬT TẤN CÔNG 1. Mạng và các điểm yếu Khi Internet ra đời thì nhu cầu trao đổi thông tin trở nên cần thiết. Mục tiêu của việc nối mạng là để cho mọi người dùng chung tài nguyên từ những vị trí địa lý khác nhau. Do đó, các tài nguyên rất dễ bị phân tán, dẫn đến việc chúng sẽ bị xâm phạm gây mất mát dữ liệu cũng như các thông tin có giá trị. Càng giao thiệp rộng càng dễ bị tấn công, đó là quy luật. Do đó, mỗi nguy cơ trên mạng là mối nguy hiểm tiềm tàng. Một lỗ hổng bảo mật nhỏ của các hệ thống nhưng nếu được lợi dụng với tần suất cao và kỹ thuật hack điêu luyện thì cũng sẽ trở thành tai họa. Trong khi đó Internet là một mô hình vô cùng rộng lớn. Theo thống kê của tổ chức bảo mật nổi tiếng CERT (Computer Emegency Response Team), các vụ tấn công ngày càng tăng, cụ thể : - Năm 1989 có 200 vụ tấn công và truy cập trái phép trên mạng Internet. - Năm 1991 có 400 vụ. - Năm 1993 có 1400 vụ. - Năm 1994 là 1300 vụ. - Những năm 200x có hàng chục ngàn vụ trên mỗi năm. Internet là nơi cực kỳ hỗn loạn, mọi thông tin truyền trên Internet đều có thể bị xâm hại và nghe lén được. Thậm chí là công khai. Vì vậy, để bảo vệ được, chúng ta phải hiểu rõ các điểm yếu của mạng để có thể tự bảo vệ. Sau đây là 14 chỗ yếu dễ bị xâm nhập: • Thiếu điều khiển truy cập bộ định tuyến và lập cấu hình sai ACL sẽ cho phép rò rỉ thông tin qua ICMP, IP, NetBIOS, dẫn đến truy cập bất hợp pháp các dịch vụ trên máy phục vụ DMZ. • Điểm truy cập từ xa không được theo dõi và bảo vệ sẽ là phương tiện truy cập dễ dàng nhất đối với mạng công ty. 6 • Rò rỉ thông tin có thể cung cấp thông tin phiên bản hệ điều hành và chương trình ứng dụng, người dùng, nhóm, DNS cho kẻ tấn công thông qua chuyển vùng và các dịch vụ đang chạy như SNMP, SMTP, telnet, … • Máy chủ chạy các dịch vụ không cần thiết (như FTP, DNS, SMTP) sẽ tạo ra lối vào. • Mật mã yếu, dễ đoán, dùng lại ở cấp trạm làm việc có thể dồn máy phục vụ vào chỗ thỏa hiệp. • Tài khoản người dùng hoặc tài khoản thử nghiệm có đặc quyền quá mức. • Máy phục vụ internet có cấu hình sai, đặc biệt là kịch bản CGI trên máy phục vụ web và FTP vô danh. • Bức tường lửa hoặc ACL bị lập cấu hình sai có thể cho phép truy cập trực tiếp hệ tống trong hoặc một khi đã thỏa hiệp xong máy phục vụ DMZ. • Phần mềm chưa được sửa chữa, lỗi thời, dễ bị tấn công, hoặc để ở cấu hình mặc định. • Quá nhiều điều khiển truy cập thư mục và tập tin. • Quá nhiều mối quan hệ ủy quyền như NT Domain Trusts, các tập tin .rhosts và hosts.equiv trong UNIX sẽ cho kẻ tấn công truy cập hệ thống bất hợp pháp. • Các dịch vụ không được chứng thực như X Windows. • Thiếu tính năng ghi nhật ký, theo dõi, và dò tại mạng và cấp độ máy chủ. • Thiếu chính sách bảo mật, thủ tục, và tiêu chuẩn tối thiểu. 2. Các bước chính thực hiện một cuộc tấn công. Có nhiều cách để thực hiện một cuộc tấn công và tùy thuộc vào từng mục đích cụ thể mà phương pháp tấn công có thể khác nhau. Nhưng điểm chung giống nhau là nó đều được thực hiện qua 5 bước sau: 2.1. Thu thập thông tin đích Để tiến hành một cuộc tấn công thì người tấn công phải nghiên cứu rất nhiều về hệ thống trước khi tìm cách truy cập đặc quyền hệ thống đó. Việc thu thập thông tin đích bao gồm các bước là in dấu chân, quét và điểm danh. 7 2.1.1 In dấu chân In dấu ấn là việc dùng các công cụ và kỹ thuật để lấy thông tin cơ bản đầu tiên về một tổ chức hoặc trang web muốn tấn công. Việc in dấu ấn có hệ thống một tổ chức sẽ cho phép thấy rõ tình hình an ninh (độ bảo mật) của tổ chức đó. In dấu có thể giúp định danh tất cả các mẩu tin và nắm những thông tin cơ bản. Có rất nhiều kỹ thuật in dấu ấn khác nhau nhưng chủ yếu nhằm vào khám phá thông tin liên quan đến những công nghệ: Internet, intranet, truy cập từ xa, extranet. 2.1.2 Quét Nếu in dấu chân là thu thập tất cả thông tin có liên quan đến tổ chức đích thì quét là một bước xác định xem trong đó thì cái nào là dùng được bằng các đợt quét ping, quét cổng và các công cụ phát hiện tự động. Bước này cho phép xác định một cách chính xác các hệ thống còn sống hay không thông qua ICMP hoặc thông qua cổng quét chọn lọc. • Truy vấn ICMP: Có thể thu thập tất cả các kiểu thông tin về một hệ thống bằng cách đơn giản gửi một gói tin ICMP cho nó. • Quét cổng (port scan): Quét cổng là tiến trình nối với các cổng TCP và UDP trên hệ đích để xác định các dịch vụ đang chạy hoặc đang ở trạng thái LISTENNING. Các dịch vụ hoạt động đang lắng chờ (listenning) có thể cho phép một người dùng trái phép giành được quyền truy cập các hệ thống bị cấu hình sai. Mục tiêu của việc quét cổng là: Định danh các dịch vụ TCP và UDP đang chạy trên hệ đích, định danh kiểu hệ điều hành của hệ đích, định danh các ứng dụng cụ thể hoặc các phiên bản của một dịch vụ cụ thể. 2.1.3 Điểm danh mạng Giả sử việc thực hiện in dấu chân và quét đều không thành công hoặc những thông tin thu được không thể đủ để phát động một cuộc tấn công, người tấn công sẽ chuyển sang phương pháp định danh các tài khoản người dùng hợp lệ hoặc các tài nguyên dùng chung không được bảo vệ kỹ. Đ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. 8 Những thông tin mà kỹ thuật điểm danh thu được có thể tạm thu gọn thành các phạm trù sau: Các tài nguyên mạng và các phần dùng chung, người dùng và nhóm, 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ừ phần in dấu chân và quét. 2.2. Truy cập lần đầu Sau khi có được những thông tin quan trọng ở bước trên, người tấn công bắt đầu tấn công vào hệ thống đích dựa trên những lỗ hổng mà họ đã tìm được. Để tấn công có hiệu quả thì người tấn công phải sử dụng những phương pháp tấn công phù hợp nhằm đạt được hiệu quả cao nhất và tránh bị phát hiện. 2.3. Leo thang đặc quyền Sự leo thang đặc quyền là một phương thức tấn công mà các User có quyền hạn thấp hơn sẽ tấn công vào một điểm dễ bị tổn thương nhất của hệ thống để trở thành một người quản trị hoặc có thể trở thành các User có quyền hạn cao hơn. Cách để leo thang đặc quyền là chiếm quyền thông qua crack password của người quản trị, tấn công tràn bộ đệm của máy đó và ăn cắp password. Chỉ cần phát hiện ra được một Password cho ứng dụng thì coi như việc tấn công leo thang đặc quyền đã thành công. Vì vậy khi sử dụng password nên chú ý một số điểm sau: • Thay đổi password thường xuyên để không bị mất password. • Các password cần được đặt gồm đủ các ký tự cả số, không nên đặt password có liên quan đến bản thân vì như vậy làm tăng nguy cơ password bị attacker đoán được. • Nên xoá các user không cần thiết sử dụng nếu như thật sự không cần nhằm giảm nguy cơ bị tấn công leo thang đặc quyền. • Không cho người lạ mặt tìm hiểu về hệ thống và có các tác động vật lý vào server. 9 • Thiết lập quyền không cho cài đặt các chương trình lạ đối với các user không tin cậy vào máy server. 2.4. Che đậy dấu vết Sau khi xâm nhập thành công, người tấn công thường phải xóa dấu vết mà những nhà quản trị mạng có thể dùng để tìm ra họ. Có nhiều công cụ và kỹ thuật xóa dấu vết tùy thuộc vào từng hệ điều hành khác nhau. 2.5. Đặt cửa sau Việc đặt cửa sau là quan trọng nếu như người tấn công vẫn còn muốn quay lại hệ thống đó. Việc đặt cửa sau cũng giống như việc tạo một tài khoản với user và password hợp lệ cho người tấn công. 3. Một số kỹ thuật tấn công cơ bản 3.1. Kỹ thuật sniffer Các hệ thống truyền thông tin qua mạng đôi khi không chắc chắn lắm và lợi dụng điều này, hacker có thể truy cập vào đường truyền dữ liệu để nghe trộm hoặc đọc trộm luồng dữ liệu truyền qua. Các chương trình nghe trộm còn được gọi là các sniffer. Các sniffer này có nhiệm vụ lắng nghe các cổng của một hệ thống mà hacker muốn nghe trộm. Nó sẽ thu thập dữ liệu trên các cổng này và chuyển về cho hacker. Có hai phương pháp mà các sniffer có thể thực hiện như sau: 3.1.1 Passive attack Một cuộc tấn công passive thực hiện việc nghe lén thông tin nhưng không làm ảnh hưởng tới tài nguyên của hệ thống. Ảnh hưởng chính của cách tấn công này là nó đe dọa tính bí mật của dữ liệu đang được truyền. Như trong hình 1.1, dữ liệu được truyền từ nguồn đến nơi nhận có thể bị theo dõi bởi người nghe lén ở giữa. Dữ liệu này có thể là những thông điệp e-mail hay username và password được truyền mà không mã hóa. 10 Trong cách tấn công này có hai phương pháp thường được sử dụng là: Tấn công nghe trộm (passive wiretapping attack) và tấn công phân tích gói tin (traffic analysis attacks). • Tấn công nghe trộm (passive wiretapping attack ) : Attacker có thể hiểu và lấy những thông tin mà dữ liệu đã mã hóa để truyền. Ví dụ như khi hai bên truyền thông với nhau mà không tiến hành mã hóa thì một cuộc tấn công nghe trộm có thể lấy được toàn bộ thông tin được mã hóa trong dữ liệu. • Tấn công phân tích (Traffic analysis attack): Kẻ tấn công không thể hiểu thông tin mà dữ liệu mã hóa để truyền. Thay vào đó, traffic analysis dựa vào đặc điểm của các gói tin để đưa suy ra thông tin mà nó thu được. Ví dụ, nếu hai công ty: Một công ty phát triển mạng và một công ty kém phát triển, họ trao đổi với nhau một số lượng thông điệp lớn thì người tấn công có thể suy ra rằng họ đang thảo luận về việc hợp nhất hai công ty đó. Thành công của một cuộc tấn công passive attack phụ thuộc vào đường truyền vật lý sử dụng và khả năng truy cập đường truyền của người tấn công. 3.1.2 Active attack Một cuộc tấn công active nhằm thay đổi tài nguyên hệ thống hay làm ảnh hưởng đến hoạt động của chúng. Nó đe dọa đến tính nguyên vẹn của dữ liệu đang được truyền. Trong trường hợp như Hình 1.2, dữ liệu được truyền từ nguồn đến nơi nhận không những chỉ bị theo dõi mà còn bị điều khiển bởi người nghe trộm ở giữa. Bằng cách này người tấn công có thể chỉnh sửa, thêm vào, xóa hay gửi lại bất kỳ dữ liệu nào. Hình 1.1: Dữ liệu bị nghe lén trên đường truyền [...]... v n t ư c Theo yêu c u t ra ban chương trình quét c ng” u: Tìm hi u các k thu t t n công và xây d ng m t n nay ã th c hi n ư c nh ng công vi c sau: • Tìm hi u các k thu t t n công: K thu t nghe lén Sniffer K thu t t n công t ch i d ch v : E-mail bombing, IP Spoofing, SYN flood,… • Xây d ng chương trình quét c ng: Xây d ng ư c chương trình quét c ng s d ng ngôn ng l p trình C#, nh m m c ích ki m tra... ang ch y trên ó Quét c ng b ng cách ki m tra các k t n i TCP Quét c ng b ng cách g i gói tin SYN Quét c ng b ng cách g i gói tin ACK Quét c ng b ng cách g i gói tin FIN Quét c ng b ng cách g i ki m tra các k t n i UDP Quét c ng b ng cách g i gói tin ICMP ki m tra máy ang ho t ng hay không Tuy v i s c g ng c a b n thân nhưng hi n t i v n còn m t s ph n chưa th c hi n ư c như: Chương trình chưa cho bi... là gì 2 Hư ng phát tri n c a tài ã tài t ư c ư c các yêu c u ra nhưng v n còn khiêm t n Trong th i gian t i, n u có i u ki n, em s c g ng phát tri n nh ng hư ng sau: • Tìm hi u thêm các k thu t t n công và ưa ra các ví d c th , t ó ưa ra các phương pháp b o v • Tìm hi u thêm các k thu t t n công Web và phương pháp b o m t Web • Xây d ng chương trình quét c ng v i nhi u tính năng hơn ... tu n t chính xác c a d n • Optional data 2 Chương trình quét c ng Chương trình quét c ng s d ng các k thu t khác nhau d a trên cơ s m ng ã có nh m m c ích thu th p thông tin v m t ích c th nào ó Nó có th khám phá chính xác nh ng i m y u t n t i bên trong ích ó M t chương trình quét c ng h u ích cho c vi c b o v và t n công Và ho t th c hi n thì ph i hi u rõ các ng truy n d li u trên m ng 2.1 T o Socket... nh ng k t n công g i hàng tri u, hàng 12 ngàn e-mail, nhưng a ch c a các e-mail này ch là m t hay m t vài a ch mà nh ng k t n công mu n làm l t • List linking: M i thông i p các thông i p ã chuy n n ư c thêm vào m t file plain text g m t t c n trong ngày hôm ó Khi ngày ó k t thúc, toàn b file ư c g i t i các thành viên khác B ng cách này, các thành viên khác s nh n ư c m t file ch a t t c các thông i... m 15 Ph n 2: CHƯƠNG TRÌNH MINH H A (Chương trình quét c ng - Port scanning) 1 C u trúc m ng Chúng ta bi t r ng các máy tính ch y trên m ng Internet giao ti p v i nhau thông qua hai giao th c TCP (Transmission Control Protocol) và UDP (User Datagram Protocol) Mô hình m ng Internet có th c mô t trong sơ sau: Hình 2.1: Mô hình m ng Internet (1) T ng ng d ng (Application): Là các chương trình ng d ng...11 Cách t n công này d dàng th c hi n các m c ích t n công khác nhau như là làm l t nơi nh n b ng t n công t ch i d ch v (DoS), làm gi m ch t lư ng d ch v , spoofing, session hijacking,… Hình 1.2: D li u b t n công trên ư ng truy n 3.2 T n công t ch i d ch v (Denial of Service attack – DoS): Ki u t n công này thông thư ng làm tê li t m t s d ch v Và ây là m t trong nh ng ki u t n công khó phòng... trong vi c tái ghép các phân m nh c a gói IP Khi d li u ư c truy n qua m ng, các gói IP thư ng ư c chia thành các m nh nh M i m nh trông gi ng như gói nguyên g c tr vi c nó ch a trư ng offset Chương trình Teardrop t o ra m t lo t các m nh IP v i trư ng offset ch ng chéo Khi các m nh này ư c tái ghép t i ích, m t s h th ng s b h ng, treo ho c kh i l i ng 13 3.2.6 SYN flood Các t n công SYN nh n chìm... Kích ho t các quy trình m t mã hóa trong b nh tuy n nh ng máy tính ã ư c xác nh n nhưng n m ngoài h th ng m ng có th liên l c m t cách an toàn v i các máy tính n m trong h th ng • T t nh ng d ch v không c n thi t trên máy ch • Qu n lý ch t ch các tài kho n ngư i dùng và các i m truy c p t xa • B t tính năng ghi nh t ký, theo dõi và dò t i m ng • Thư ng xuyên c p nh t nh ng phiên b n m i c a các ph n... true) && ((packet2[33] & 0x04) != 0)) { gui = true; } else gui = false; sk.Close(); return gui; } 2.5 Phát hi n các c ng ang m s d ng giao th c TCP/IP b ng cách g i gói tin FIN Vi c quét các c ng tìm ra c ng ang m như k thu t quét b ng gói tin SYN, ACK có th b h n ch Khi ó k thu t quét FIN tìm ra các c ng ang óng s r t có l i Hi n nhiên nh ng c ng không óng là nh ng c ng m K thu t này s g i m t gói tin . tài Tìm hiểu các kỹ thuật tấn công và xây dựng một chương trình quét cổng này, em có xây dựng một chương trình quét cổng nhằm củng cố những kiến thức mà mình đã tìm hiểu được. Tuy nhiên chương. flood,… 4. Một số giải pháp: Từ việc hiểu các kỹ thuật tấn công mà đưa ra một số biện pháp nhằm ngăn chặn và hạn chế các cuộc tấn công. Phần thứ hai: Xây dựng một chương trình quét cổng Những. công: giới thiệu chung về các bước cơ bản của một cuộc tấn công trên mạng. 3. Một số kỹ thuật tấn công trên mạng: Đưa ra các kết quả tìm hiểu về các kỹ thuật tấn công như: E-mail bombing,

Ngày đăng: 06/08/2014, 14:01

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan