Hacker Professional Ebook part 27 pps

6 357 1
Hacker Professional Ebook part 27 pps

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

Thông tin tài liệu

TTL - Time to Live. TTL là một trường 8 bit trong IP header(bạn hãy xem lại cấu trúc của IP header!). TTL là thời gian gói dữ liệu tồn tại trên mạng trước khi nó bị bỏ qua. Người gởi dữ liệu đi sẽ xác định một giá trị TTL trước, thường là từ 32 -> 64. Giá trị này sẽ được giảm đi một khi một khi được chuyển qua một bộ định tuyến trên mạng. Khi giá trị này bằng 0, datagram này sẽ bị bỏ qua và giao thức ICMP sẽ báo lỗi về cho người gởi. Điều này sẽ tránh cho datagram này đi vào một vòng lặp vô tận qua các bộ định tuyến. Mỗi bộ định tuyến khi nhận được IP datagram sẽ giảm giá trị TTL của datagram này đi một. Hầu hết các bộ định tuyến đều không giữ lại datagram này trong thời gian quá 1 giây trước khi chuyển datagram này đi. Nên giá trị TTL có thể coi bằng hop(counter) = số bộ định tuyến mà datagram này vừa vượt qua. Khi bộ định tuyến nhận được một datagram có trường TTL bằng 0 hoặc 1, nó sẽ không chuyển datagram này đi tiếp. Thay vào đó, nó sẽ bỏ qua datagram này và gởi một ICMP message "Time Exceeded"(quá thời gian) trở lại cho người đã gởi datagram này! Vì ICMP message mà bộ định tuyến gởi trở lại cho người gởi có địa chỉ nguồn - source address là địa chỉ ip của bộ định tuyến này nên người gởi có thể biết được địa chỉ ip của router này! Cách làm việc của traceroute! Traceroute gởi một IP datagram có TTL=1 đến hệ thống đích. Router đầu tiên nhận được datagram này sẽ giảm giá trị TTL đi một -> TTL=0 và router này sẽ bỏ qua datagram này(không gởi nó đi tiếp!) và gởi một ICMP error message với địa chỉ ip nguồn là địa chỉ của nó đến máy bạn. Như vậy router có thể xác định địa chỉ ip của router thứ nhất! Sau đó, traceroute sẽ gởi một datagram mới đi với giá trị TTL=2(1+1=2) đến hệ thống đích. Router đầu tiên sẽ giảm giá trị của TTL đi một - > TTL=1(2-1=1) và chuyển datagram này sang router thứ 2. Router thứ 2 nhận được datagram có TTL=1 sẽ giảm TTL=0. Rounter 2 nhận thấy TTL=0 nên nó sẽ không chuyển datagram này đi tiếp. Router 2 sẽ gởi trở lại máy bạn một ICMP error message với địa chỉ ip nguồn là địa chỉ ip của nó(router 2). Như vậy trình traceroute trên máy bạn sẽ biết được router thứ 2 mà datagram đã đi qua. Traceroute sẽ tiếp tục gởi một datagram khác có TTL=3(2+1=3) đi và lặp lại quá trình trên cho đến khi datagram đến được hệ thống đích! Nếu bây giờ IP datagram đã đến được đích, TTL=1. Host đích sẽ bỏ qua datagram này và nó cũng sẽ không gởi "Time Exceeded" ICMP error message. Như vậy thì bạn sẽ không thể nào biết được là mình đã đến đích chưa?! Traceroute dùng một cơ chế khác như sau: Traceroute gởi UDP datagrams đến host đích trên các cổng UDP có số hiệu lớn(>30000). Sở dĩ nó chọn các cổng có giá trị lớn vì thường không có ứng dụng nào đang lắng nghe ở các cổng này. Khi host đích nhận được UDP datagram này, nó sẽ gởi trả lại một ICMP error message "Port Unreachable"(không đến được cổng) cho traceroute. Bây giờ thì traceroute có thể phân biệt được sự khác nhau giữa ICMP error message "Time Exceeded" với "Port Unreachable" để biết được đã đến được đích hay chưa?! Ghi chú: ICMP error message "Time Exceeded" có type=1 và code=0; ICMP eror message "Port Unreachable" có type=3 và code=3 Tổng kết: traceroute gởi UDP datagrams đến host đích với giá trị TTL=1 và được tăng sau mỗi lần để xác định các routers mà datagrams đã đi qua. Mỗi router sẽ gởi trở về một ICMP message "Time Exceeded". Riêng hệ thống đích sẽ gởi trở lại cho traceroute một ICMP message "Port Unreachable". Traceroute dựa vào sự khác biệt này để xác định xem đã đến được đích chưa?! Ví dụ cuối cùng! host2 # traceroute xyz.com traceroute to xyz.com (202.xx.12.34), 30 hops max, 40 byte packets 1 isp.net (202.xy.34.12) 20ms 10ms 10ms 2 xyz.com (202.xx.12.34) 130ms 130ms 130ms Dòng đầu tiên cho biết hostname và địa chỉ IP của hệ thống đích. Dòng này còn cho chúng ta biết thêm giá trị TTL<=30 và kích thước của datagram là 40 bytes(20-bytes IP Header + 8-bytes UDP Header + 12-bytes user data). Dòng thứ 2 cho biết router đầu tiên nhận được datagram là 202.xy.34.12, giá trị của TTL khi gởi đến router này là 1. Router này sẽ gởi trở lại cho chương trình traceroute một ICMP message error "Time Exceeded". Traceroute sẽ gởi tiếp một datagram đến hệ thống đích. Dòng thứ 3, xyz.com(202.xx.12.34) nhận được datagram có TTL=1(router thứ nhất đã giảm một trước đó - TTL=2-1=1). Tuy nhiên, xyz.com không phải là một router, nó sẽ gởi trở lại cho traceroute một ICMP error message "Port Unreachable". Khi nhận được ICMP message này, traceroute sẽ biết được đã đến được hệ thống đích xyz.com và kết thúc nhiệm vụ tại đây. Trong trường hợp router không trả lời sau 5 giây, traceroute sẽ in ra một dấu sao "*"(không biết) và tiếp tục gởi datagram khác đến host đích! HVAonline.net Kỹ thuật hack cơ bản - Điểm danh - Phần III - 17/2/2004 3h:39 ******Enumeration******* === Author: Fantomas311 === Giả sử việc thực hiện các bước I và II đề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 tức thời nào,hacker 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ỹ 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. Ở Part III này, tôi sẽ nêu chi tiết các phương pháp thông dụng nhất, và các công cụ cơ bản của kỹ thuật điểm danh - buớc thứ ba trong basic hacking Sự khác biệt chính giữa các kỹ thuật thu thập thông tin ở part I ( Foot Printing) và part II ( scanning) và kỹ thuật enumeration dưới đây nằm ở cấp xâm nhập của hacker . Đ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. Phần lớn thông tin thu thập được qua kỹ thuật điểm danh thoạt nhìn có vẻ như vô hại.Tuy nhiên, những thông tin rò rĩ từ lỗ thủng theo sau nó có thể gây tai hại. Nói chung, sau khi điểm danh một tên người dùng hoặc một phần dùng chung hợp lệ, vấn đề còn lại là thời gian trước khi hacker đoán được mật hiệu tương ứng hoặc tìm ra các điểm yếu kết hợp với các giao thức chia sẽ tài nguyên. 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 ++ 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ừ part I và part II . 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 *******Windows NT******** Tại sao lại là WinNT ?? Đối với kỹ thuật điểm danh thì WinNT có thể xem là một người bạn thân thiết ! Còn tại sao thì hạ hồi phân giải nhá ! +++ Điểm danh khu ủy ( domain ) của winNT bằng netview : Windows là hệ điều hành được thiết kế tạo thuận lợi cho tính 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 phơi bày 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 ping trong các phần trước để tìm hiểu các tên domain từ các máy riêng lẻ chỉ việc dùng địa chỉ IP thay cho server name . Sau đây là thí dụ : Trước hết là điểm dang các domain trên mạng : C:\> netview /domain Liệt kê các máy tính trong 1 domain cụ thể : C:\> netview /domain:têndomain +++Điểm danh các hệ điều khiển domain NT : Để đào sâu hơn một chút vào cấu trúc mạng NT , ta cần dùng một công cụ từ NT Resource Kit ( NTRK - lưu ý : từ này dùng khá nhiều trong bài viết này !) , cũng được xem là Windows NT Hacking Kit bởi bản chất dao hai lưỡi của nhiều trình tiện ích điều hành mạnh mà nó cung cấp ! Trước tiên, xin giới thiệu sơ lược về cái gọi là NTRK này : - NTRK là một bộ tài liệu bổ trợ cho WinNT có kèm CD chứa các trình tiện ích để quản lý mạng.NTRK chứa một tập hợp các trình tiện ích mạnh, đa dạng từ ngôn ngữ Perl phổ dụng đến các cổng của nhiều trình tiện ích Unix , đến các công cụ điều hành từ xa không có trong các phiên bản lẻ của WinNT.Nó là một bộ đồ nghề không thề thiếu cho các điều hành viên mạng NT và cũng là công cụ hữu ích cho các hacker muốn khai thác winNT. Cũng có lẽ vì đó mà giá bán lẻ của NTRK vào khoảng 200 USD. Hì, nhưng không sao, vẫn còn một giải pháp free cho bạn tại ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/ Trở lại vấn đề điểm danh các hệ điều khiển domain NT: để thực hiện công việc này, ta dùng công cụ có tên là nltest trong NTRK để định danh các PDC (Primary Domain Controllers ) và BDC ( Backup Domain Controllers ) Câu lệnh : C:\> nltest /delist:[domain name] Thậm chí, để tiến xa hơn, ta cần dùng Holy Grail của tính năng điểm danh NT, tuyến nối rỗng , hoặc nặc danh ( sẽ giới thiệu sau đây ). Sau khi xác lập một phiên làm việc rỗng cho một trong các máy trên khu ủy điểm danh, ta có thể dùng cú pháp nltest /server:[server name] và /trusted_domain để tìm hiểu thêm các domain NT có liên quan đến domain đầu tiên ! ** Phương pháp NT toàn cục ** Hầu hết các kỹ thuật thu thập thông tin mà tôi mô tả trong phần này đều vận dụng một thiếu sót về bảo mật của winNT là cho phép các người dùng nặc danh( anonymous user ) kết nồi và điểm danh một số tài nguyên nhất định mà không cần sự "cho phép" . Chỗ yếu này được biết đến với cái tên "Red Button"( hiii, chắc là nút login hay submit quá ), tuyến nối phiên làm việc rỗng hay đăng nhập nặc danh và nó vẫn là chỗ đứng có tiềm năng tàn phá nhất trên mạng mà hacker tìm kiếm. Tôi nhớ có một bài viết lưu truyền khá rộng rãi trên mạng với tiêu đề rất "ghê" là " hướng dẫn deface một trang web" trong đó hướng dẫn cách dò tìm chỗ yếu anonymous user và khai thác nó ! Để thực hiện một tuyến nối phiên làm việc rỗng, ta dùng cú pháp: C:\> net use \\IP\IPC$ ''''''' /user:''''' Cú pháp trên nối "phần dùng chung" truyền thông tin xử lý ẩn (IPC$) tại địa chỉ IP mà ta cung cấp dưới dạng người dùng nặc danh là [user:''''] và một mật hiệu rỗng [''''''']. Nếu thành công, ta có thể có một lệnh mở để sử dụng những kỹ thuật khác nhau nhằm "thu gom" càng nhiều thông tin càng tốt : thông tin mạng , các phần dùng chung, các người dùng , các nhóm , các khóa Registry Phương pháp chống NT toàn cục sẽ được nêu trong "basic security" của fantomas311 - mời bạn đón xem *** Các phần dùng chung NetBIOS *** Sau khi thiết lập một phiên làm việc rỗng, ta cũng có thể dùng lại lệnh net view để điểm danh các phần dùng chung trên hệ thống từ xa. Ba công cụ điểm danh các phần dùng chung khác trong NTRK là rmtshare , srvcheck và srvinfo Một trong các công cụ thích hợp nhất để điểm danh các tệp dùng chung NT( và các nội dung khác là Dump ACL .Download free tại http://38.15.19.115 Dump ACL kiểm toán mọi thứ, từ giấy phép hệ tập tin đến các dịch vụ sẵn dùng trên các hệ thống từ xa. Thậm chí nó còn có thể lấy thông tin người dùng cơ bản qua một tuyến nối rỗng vô hại, và có thể chạy từ dòng lệnh, tạo thuận lợi cho việc lập ký mã và tự động hóa. Việc mở các tuyến nối rỗng và dùng các công cụ trên đây theo thủ công là một . chính giữa các kỹ thuật thu thập thông tin ở part I ( Foot Printing) và part II ( scanning) và kỹ thuật enumeration dưới đây nằm ở cấp xâm nhập của hacker . Điểm danh liên quan đến các tuyến. 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ừ part I và part II . 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. 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 tức thời nào ,hacker 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

Ngày đăng: 04/07/2014, 11:20

Từ khóa liên quan

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

Tài liệu liên quan