Tải bản đầy đủ (.pdf) (6 trang)

Hacker Professional Ebook part 27 pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (138.63 KB, 6 trang )

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

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

×