Một hacker muốn thành công trong việc thâm nhập hệ thống họ cũng phải bỏ nhiều thời gian và công sức để thu thập càng nhiều các thông tin về mục tiêu mà họ muốn tấn công càng tốt.. Hệ th
Trang 1Một hacker muốn thành công trong việc thâm nhập hệ thống họ cũng phải bỏ nhiều thời gian và công sức để thu thập càng nhiều các thông tin về mục tiêu
mà họ muốn tấn công càng tốt Các hacker sẽ phải thu thập các thông tin như: các mô tả của tổ chức đó trên internet, hệ thống bảo vệ, truy cập từ xa,
hệ thống mạng trong, ngoài, footprinting… và với những thông tin họ có được, họ sẽ mô hình hoá về hệ thống họ muốn tấn công một cách cụ thể 1.1 Footprinting là gì???
Hệ thống hoá các thông tin mục tiêu của tổ chức mà kẻ tấn công có thể xâm nhập, sơ lược các đặc điểm bảo mật của hệ thống bằng cách sử dụng các công
cụ, các kỹ thuật… và đưa ra số lượng không cụ thể lắm về dung lượng đường truyền kết nối internet của mục tiêu, giảm đi đáng kể số lượng các domain mục tiêu, các mạng trong, các dải địa chỉ IP hoặc các hệ thống trực tiếp ra internet Tuy nhiên có rất nhiều kiểu thu thập thông tin mục tiêu footprinting nhưng họ thường chú ý đến các thông tin quan trọng như sau:
Công nghệ Xác định
Mạng Internet Domain
Các khối mạng
Địa chỉ IP đặc biệt của hệ thống kết nối ra internet
Các dịch vụ TCP, UDP chạy độc lập trên từng hệ thống
Cấu trúc hệ thống
Kỹ thuật truy cập, điều khiển và danh sách liên quan đến truy cập và điều
Trang 2khiển
Hệ thống phát hiện xâm nhập
Hệ thống liệt kê (người dùng và nhóm người dùng, hệ thống quan trọng, hệ dẫn đường, định tuyến và thông tin về SNMP)
Mạng LAN Giao thức mạng được sử dụng (IP, ĨP, DecNet…)
Tên miền của mạng LAN
Các khối mạng
Địa chỉ IP đặc biệt của hệ thống kết nối ra internet
Các dịch vụ TCP, UDP chạy độc lập trên từng hệ thống
Mạng ảo và các giao thức liên quan (Ipsecurity và PPP)
Mạng WAN Kết nối nguyên bản và điểm truy cập
1.2 Thu thập thông tin mục tiêu trên Internet
Có rất nhiều kỹ thuật khác nhau để thu thập thông tin mục tiêu trên
(internet&intranet), trong chương này chúng tôi chỉ tập trung vào thu thập thông tin mục tiêu qua kết nối interent Truy nhập từ xa sẽ được đề cập lại chi tiết trong chương 8
Trang 3Một điều rất khó khi cung cấp, hướng dẫn từng bước một về thu thập thông tin mục tiêu bởi vì nó là một bước mà có thể dẫn bạn đến vài ba hướng khác nhau Tuy nhiên, trong chương này chỉ mô tả các bước cơ bản giúp bạn có thể hoàn thành, phân tích thu thập thông tin mục tiêu Có rất nhiều các biện pháp
đã được ứng dụng và các biện pháp này đã được đề cập sớm hơn
Khởi điểm của việc thu thập thông tin mục tiêu là bạn xem tổ chức bạn muốn xâm nhập có trang web riêng không???, thông thường các trang web này cung cấp một số thông tin bổ ích cho chúng ta như họ có bao nhiêu trang web liên quan, các tên miền liên quan… Chúng ta có thể tham khảo được hệ thống tường lửa của họ trên máy chủ…
Các mục mà hacker quan tâm gồm có:
+ Vùng mục tiêu
+ kết hợp các thông tin mà chúng ta thu thập đựoc
+ Các thành viên liên quan của mục tiêu
+ điện thoại
+ địa chỉ liên lạc
+ địa chỉ email
+ chính sách bảo mật, kiểu bảo mật
+ các kết nối đến các Webserver khác có liên quan
Tiếp theo là việc tham khảo các mã nguồn của trang Web, rất nhiều thông tin không xuất hiện trên trang Web nhưng lại được cất dấu rất kỹ trong mã nguồn, cụ thể ở đấy là HTML, trong các thẻ của ngôn ngữ này Tất nhiên là việc xem mà nguồn offline sẽ nhanh hơn rất nhiều lần so với online do vậy chúng ta nên ánh xạ trang web đó và xem chúng offline
Sau khi nghiên cứu các mã nguồn của trang web chúng ta sẽ có được thông tin cần thiết đầu tiên của mục tiêu
Việc tiếp theo là chúng ta phải xem trang Web đó được lưu trữ ở máy chủ nào????,
Trên bao nhiêu máy chủ????
Trang 4Với bao nhiêu tên miền???
Công việc này hiện nay đã rất nhàn cho chúng ta bởi các máy tìm kiếm trên mạng như: altavista; google…
Công việc này đối với các mem thì là việc cực kỳ đơn giản nên chúng ta sẽ không đề cập sâu đến vấn đề này nữa
Bước 2: Liệt kê các mạng (Network Enumeration)
Bước này chúng ta phải tìm được máy lưu trữ tên miền của mục tiêu,
Có một số các trang cho bạn tham khảo:
Trang 5Domain Name: HVAONLINE.NET
Record expires on 16-Aug-2007
Record created on 30-Jun-2004
Database last updated on 12-Oct-2004 03:09:22 EDT
Domain servers in listed order:
NS7.WORLDNIC.COM 216.168.225.137
NS8.WORLDNIC.COM 216.168.225.138
REGISTRY WHOIS:
Whois Server Version 1.3
Domain names in the com and net domains can now be registered with many
different competing registrars Go to http://www.internic.net for detailed
information
Trang 6Domain Name: HVAONLINE.NET
Registrar: NETWORK SOLUTIONS, LLC
Whois Server: whois.networksolutions.com
Referral URL: http://www.networksolutions.com
Name Server: NS7.WORLDNIC.COM
Name Server: NS8.WORLDNIC.COM
Status: REGISTRAR-LOCK
Updated Date: 13-aug-2004
Creation Date: 16-aug-2003
Expiration Date: 16-aug-2007
>>> Last update of whois database: Mon, 11 Oct 2004 18:59:14 EDT
Address: 4676 Admiralty Way, Suite 330
City: Marina del Rey
Trang 7Domain Name: QUANNHALA.COM
Created on: 13-JUN-03
Expires on: 13-JUN-05
Last Updated on: 15-JUN-04
Administrative, Technical Contact:
Fraud Dept, Namesdirect support@namesdirect.com
Trang 8Namesdirect Fraud Dept
Whois Server Version 1.3
Domain names in the com and net domains can now be registered with many
different competing registrars Go to http://www.internic.net for detailed
information
Domain Name: QUANNHALA.COM
Registrar: DOTSTER, INC
Whois Server: whois.dotster.com
Referral URL: http://www.dotster.com
Name Server: NS1.PUREDNS.COM
Name Server: NS2.PUREDNS.COM
Status: ACTIVE
Updated Date: 15-jun-2004
Creation Date: 13-jun-2003
Expiration Date: 13-jun-2005
>>> Last update of whois database: Mon, 11 Oct 2004 18:59:14 EDT
Trang 9Chuyển tải các thông tin về hệ thống tên miền cho phép server phụ có thể cập nhật các thông tin về hệ cơ sở dữ liệu của miền từ server chính
Một số các server hệ thống tên miền cấu hình bảo mật không tốt nên đã
chuyển tải các thông tin về miền của mình cho bất cứ ai đó khi họ có yêu cầu Các thông tin này nhiều khi chứa đựng những thông tin rất nhậy cảm của tổ
Trang 10chức như các mạng nội bộ, địa chỉ các dải IP…
Hãy tham khảo một vài biện pháp mà chúng ta có thể xem chuyển tải các thông tin trên miền và các thông tin có thể thu lượm được Tuy nhiên hiện nay có rất nhiều các tiện ích có thể thực hiện được chức năng này
Đầu tiên chúng ta hãy thử với lệnh nslookup
Câu lệnh set type=any cho phép chúng ta xem có bao nhiêu bản ghi của DNS
có sẵn
Câu lệnh ls –d cho phép chúng ta liệt kê tất cả các bản ghi cho domain
Câu lệnh /tmp/zone_out cho phép chúng ta chuyển đổi các bản ghi của vùng
về máy tính của mình và sau đó chúng ta có thể xem xem có thông tin nào bổ ích không Tuy nhiên một số các thông tin mục tiêu không cho phép chúng ta chuyển vùng
Ví dụ dưới đây có tính minh hoạ
Trang 11[bash]$ more zone_out
- bản ghi có ký tự A cho chúng ta thấy địa chỉ IP của hệ thống
- Bản ghi có HINFO cho chúng ta xác định được nền tảng của hệ thống và của
Chúng ta có kết quả 388 bản ghi với từ “Solaris.”
[bash]$ grep -i test /tmp/zone_out |wc –l
96
Trang 12Chúng ta có kết quả 96 bản ghi với từ “test.”
Now that we have shown you the manual method, there are plenty of tools that speed
the process, including, host, Sam Spade, axfr, and dig
The host command comes with many flavors of UNIX Some simple ways of using
host are as follows:
host -l Acme.net
or
host -l -v -t any Acme.net
If you need just the IP addresses to feed into a shell script, you can just cut out the IP
addresses from the host command:
host -l acme.net |cut
-f 4 -d" " >> /tmp/ip_out
However, this is not recommended To run axfr, you would type the following: [bash]$ axfr Acme.net
axfr: Using default directory: /root/axfrdb
Found 2 name servers for domain 'Acme.net.':
Text deleted
Received XXX answers (XXX records)
To query the axfr database for the information you just obtained, you would type
the following:
[bash]$ axfrcat Acme.net
Xác định các bản ghi của Mail Exchange
[bash]$ host Acme.net
Acme.net has address 10.10.10.1
Acme.net mail is handled (pri=20) by smtp-forward.Acme.net
Acme.net mail is handled (pri=10) by gate.Acme.net
If host is used without any parameters on just a domain name, it will try to resolve A
Bước 4: thăm dò mạng
Chúng ta dung câu lệnh traceroute
Trang 13[bash]$ traceroute Acme.net
traceroute to Acme.net (10.10.10.1), 30 hops max, 40 byte packets
were blocked by the firewall
Now let’s send a probe with a fixed port of UDP 53, DNS queries:
Chúng ta có thể dùng các phần mềm như VisualRoute download
tại http://www.VisualRoute.com hoặc NeoTrace
tại http://www.NeoTrace.com
Trang 14Firewall protocol scanning sẽ được đề cập trong chương 11
SUMMARY
Như bạn đã biết kẻ xâm nhập có rất nhiều cách thức để thu thập các thông tin mục tiêu trên mạng Chúng tôi chỉ liệt kê ra đây một số cách thức thông dụng Hãy suy nghĩ cho kỹ trước khi hành động bởi vì hiện nay có rất nhiều các công
cụ trợ giúp cho bạn khi thu thập thông tin mục tiêu Có thể vào một ngày đẹp trời nào đó, bạn thu thập thông tin mục tiêu và nhận thấy rằng mục tiêu mà bạn định tấn công có khoảng từ vài chục đến vài trăm tên miền, lúc đó bạn sẽ làm gì????
Hoặc giả sử bạn sẽ là một quản trị mạng, bạn sẽ là thế nào để bảo vệ được mạng của bạn trước các nguy cơ từ internet Hãy nghiên cứu tài liệu Hacking Expose: network security secret&solutions 4th và tự rút ra kinh nghiệm cho mình
CHƯƠNG II Quét (SCANNING)
Giới thiệu về Scanning
Nếu như footprinting là xác định các thông tin mục tiêu thì Scanning là công
cụ dùng để quét và tìm kiếm các cổng Trong chương I chúng ta đã đề cập đến danh sách các mạng cùng với các dải địa chỉ IP qua Whois và vùng mục tiêu Các kỹ thuật đó đã cung cấp cho chúng ta những thông tin của vùng mục tiêu như địa chỉ IP, số điện thoại, DNS servers và mail servers Trong chương này chúng ta sẽ học cách xác định rằng hệ thống mục tiêu đang lắng nghe và tiếp vận với mạng internet bằng cách sử dụng các kỹ thuật như ping, post scans
và các công cụ khác
Một điều rất quan trọng phải ghi nhớ là địa chỉ IP mà chúng ta đã liệt kê chưa chắc nó đã là điạ chỉ trên mạng internet Chúng ta phải kiểm tra từng dải địa chỉ IP xem nó có còn tồn tại hay không??? Nếu có, bao nhiêu cổng đang
mở và lắng nghe ở cổng bao nhiêu???
Và bây giờ chúng ta hãy bắt đầu với SCANNING
Xác định xem hệ thống mục tiêu còn hoạt động hay không
Một trong những bước cơ bản là chúng ta phải sắp xếp các mạng và các khối mạng nhằm xác định xem từng khối mạng có còn hoạt động hay không bằng
Trang 15cách dùng câu lệnh ping sweep với các dải IP của từng mạng Lệnh ping được
sử dụng để gửi các gói ICMP (Giao thức tạo thông điệp điều khiển của
Internet)
Giao thức tạo thông điệp điều khiển của Internet
ICMP là một giao thức báo lỗi hoạt động hợp nhất với IP Nếu có lỗi trong mạng, chẳng hạn như thiếu một trong các đường dẫn, IP gửi một thông điệp lỗi ICMP bên trong IP datagram Vì vậy ICMP yêu cầu IP như một cơ cấu vận chuyển Các router sẽ gửi các thông điệp ICMP đáp ứng cho các datagram không thể phân phối được Router đặt thông điệp vào trong IP datagram và gửi nó ngược trở lại nơi xuất phát của datagram mà nó đã không thể phân phối được.
Lệnh ping sử dụng ICMP như một sự thăm dò để tìm ra trạm có thể đến được Ping sẽ gói thông điệp ICMP echo request (yêu cầu nhắc lại) vào trong
datagram và gửi nó đến đích đã chọn Người dùng chọn đích đến bằng cách chỉ ra điạ chỉ IP hoặc tên của đích đến trong dòng lệnh với dạng như sau: Ping 100.50.25.1
Khi đích nhận được thông điệp echo request, nó sẽ đáp ứng bằng cách gửi một thông điệp ICMP đáp lại echo Nếu không có sự đáp lại trong một khoảng thời gian, ping sẽ gửi tiếp echo request nhiều lần Nếu sau một khoảng thời gian không có lời đáp lại, ping sẽ hiển thị thông điệp cho biết đích không thể đạt đến được Một ứng dụng khác dùng ICMP là traceroute, dùng để cung cấp một danh sách tất cả các router dọc theo đường dẫn đến một đích xác định naò đó
cho hệ thống mục tiêu và thu nhận những thông tin ICMP phản hồi từ mục tiêu cho phép chúng ta biết được rằng mục tiêu có còn tồn tại trên mạng hay không Với các mạng vừa và nhỏ thì lệnh ping có thể chấp nhận dùng để xác định mục tiêu, nhưng với các mạng lớn thì nó lại có ít tác dụng hoặc không hiệu quả Quét mạng ở lớp A với lệnh ping có thể mất đến cả tiếng đồng hồ Tuy nhiên chúng ta cũng còn rất nhiều các công cụ khác để xác định xem mục tiêu của chúng ta còn tồn tại hay không Dưới đây là một vài ví dụ:
Để thực hiện lệnh ping sweep, chúng ta có vô số các công cụ sẵn có trên hệ thống chạy UNIX hoặc Windows NT
Trang 16so với lệnh ping Lệnh fping có 2 cách sử dụng: cách thứ nhất là cung cấp các dải IP đầu vào và cách thứ hai là theo file Đọc theo file thì dễ hơn, thông thường thì phải tạo ra các dòng địa chỉ IP theo từng dòng
Tham số –a của lệnh fping chỉ thể hiện rằng hệ thống vẫn còn tồn tại Chúng
ta có thể kết hợp với tham số -d để giải quyết với hostname nếu chúng ta chọn Thông thường chúng ta sử dụng tham số -a với shell scrípt và tham số -d khi chúng ta quan tâm đến hệ thống mục tiêu mà có host name duy nhất
Có tuỳ chọn khác là tham số -f., đọc từ file
Kiểu fping –h dùng để liệt kê tất cả các tuỳ chọn
Một công cụ khác được sử dụng trong suốt cuồn sách này là công cụ
nmap http://www.insecure.org/nmap )
[stunami] nmap –sp 192.168.1.0/24
Starting nmap V 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Host (192.168.1.0) seems to be a subnet broadcast
Trang 17address (returned 3 extra pings)
Host (192.168.1.1) appears to be up
Host (192.168.1.10) appears to be up
Host (192.168.1.11) appears to be up
Host (192.168.1.15) appears to be up
Host (192.168.1.20), appears to be up
Host (192.168.1.50) appears to be up
Host (192.168.1.101) appears to be up
Host (192.168.1.102) appears to be up
Host (192.168.1.255) seem tobe a subnet broadcast address (returned 3 extra pings)
Nmap run complete – 256 address (10 host up) scanned in 21 seconds
Có thể bạn sẽ tự hỏi nếu như ICMP bị chặn lại bởi mục tiêu của bạn, vâng đây chính là câu hỏi thường gặp Đó là vấn đề thường xảy ra khi mà gói tin ICMP
bị chặn lại bởi router phía ngaòi hoặc bị tường lưả
Khi mà ICMP bị chặn lại, chúng ta có thêm một số các công cụ hoặc kỹ thuật khác dùng để xác định xem hệ thống có còn hoạt động hay không
Khi ICMP bị chặn lại, công cụ hữu hiệu đó là port scanning (Công cụ này sẽ được đề cập chi tiết ở cuối chương này)
Khi quét cổng, chúng ta thường hay quét các cổng thường dùng của các địa chỉ IP, chúng ta có thể xác định được host nào đang tồn tại, đang mở cổng số bao nhiêu, cồng nào đang lắng nghe Kỹ thuật này cần nhiều thời gian và cũng không phải là công cụ cuối cùng
Một công cụ sử dụng cho kỹ thuật quét cổng là nmap, như chúng ta đã được giới thiệu nmap cho phép chúng ta xem được các thông tin ICMP Có một thuận lợi hơn với chúng ta là công cụ quét TCP ping scan với port 80
Hãy tham khảo ví dụ sau:
Trang 18[tsunami] nmap -sP -PT80 192.168.1.0/24
TCP probe port is 80
Starting nmap V 2.53
Host (192.168.1.0) appears to be up
Host (192.168.1.1) appears to be up
Host shadow (192.168.1.10) appears to be up
-Host (192."16S-:-1.11) appears to be up :
Host (192.168.1.15) appears to be up
Host (192.168.1.20) appears to be up
Host (192.168.1.50) appears to be up
Host (192.168.1.101) appears to be ,up
Host (192.168.1.102) appears to be up
Host (192.168.1.255) appears to be up
Nmap run completed (10 hosts up) scanned in 5 seconds
Như bạn đã thấy, phương pháp này khá hiệu quả khi xác định hệ thống có còn tồn tại hay không khi mà bị chặn ICMP Điều đó chứng tỏ rằng sử dụng
phương pháp này có thể có hiệu quả với các cổng khác như SMTP (25), POP (110), AUTH (113), IMAP (143)
Công cụ hping (http:/ /www.hping.org/)
[jack]# hping2 192.168.0.2 -8 -p 80 -f
HPING 192.168.0.2 (ethO 192.168.0.2): 8 set, 40 data pytes
60 pytes from 192.168.0.2: flags=8A seq=O ttl=64 id=418 win=5840 time=3.2
Trang 19-192.168.0.2 hping statistic -
3 packets tramitted, 3 packets received, 0% packet loss
Công cụ tiếp theo là icmpenum, from Simple
Nomad http://www.nmrc.org/files/sunix/icmpenum-l.l.l.tgz )
This utility is a handy ICMP enumeration tool that will allow you to quickly identify systems that are alive by sending thetra ditional ICMP ECHO packets,
as well as ICMP TIME STAMP REQUEST and ICMP INFO
requests Thus, if ingress ICMP ECHO packets are dropped by a border router
Trong ví dụ này, chúng tôi liệt kê lớp mạng C với dải IP 192.168.1.0 bằng cách
sử dụng một gói ICMP Tuy nhiên sức mạnh thực của icmpenum là để xác định
hệ thống sử dụng các gói spoofef để tránh bị phát hiện Kỹ thuật này là có khả năng bởi vì icmpenum cung cấp các gói spoofed với tuỳ chọn -s và lắng nghe thông tin phản hồi một cách thụ động với sự chuyển đổi sang -p
Tóm tắt: bước này cho phép chúng ta xác định được chính xác hệ thống nào đang tồn tại bằng ICMP hoặc bằng cách quét cổng có lựa chọn Ngoài các 255 địa chỉ lớp C chúng ta có thể xác định được một vài host đang tồn tại và nó chính là mục tiêu để chúng ta truy vấn sau này
Xác định dịch vụ nào đang chạy hoặc lắng nghe
Như vậy là chúng ta đã xác định được hệ thống đang tồn tại bằng cách sử
Trang 20dụng ICMP và TCP ping sweep và cũng đã thu thập được các thông tin ICMP Bây giờ chúng ta sẵn sàng cho việc quét các cổng của từng hệ thống
Quét cổng là qua trình thực hiện kết nối tới cổng TCP và UDP của hệ thống mục tiêu nhằm xác định dịch vụ nào của hệ thống mục tiêu đang ở trạng thái chạy hoặc lắng nghe Việc xác định các cổng đang ở trạng thái lắng nghe nhằm mục đích phân tích và xác định các ứng dụng đang chạy của hệ thống
và kiểu của hệ thống Các cổng dịch vụ đang trong trạng thái lắng nghe có thể cho phép một user không hợp pháp nào đó truy nhập vào hệ thống khi mà hệ thống đó chưa được cấu hình tốt hoặc sử dụng phiên bản phần mềm có độ bảo mật kém Trong phần này, chúng ta sẽ tập trung vào một vài công cụ và
kỹ thuật quét cổng thông dụng, qua đó chúng ta sẽ có một vài thông tin tốt về
hệ thống Mỗi kỹ thuật quét cổng có các đặc điểm khác nhau nhưng mục tiêu chính của nó là nhằm xác định xem hệ thống mục tiêu có tồn tại không??? Các cổng dịch vù nào đang trong trạng thái mở, cổng dịch vụ nào đang trong trạng thái lắng nghe và cuối cùng là có khả năng cho chúng ta thâm nhập vào mục tiêu hay không????
- Xác định các dịch vụ TCP và UDP đang chạy của hệ thống
- Xác định kiểu hệ điều hành của hệ thống mục tiêu
- Xác định các ứng dụng đặc biệt hoặc phiên bản của ứng dụng đó
Những kiểu quét Scan Types:
Trước khi chúng ta dử dụng các công cụ quét cổng, chúng ta cần phải xác định được những cổng và các kỹ thuật quét hiện có Một trong những người
có ứng dụng tiên phong để quét các cổng đó là Fyodor Anh ta đã tích hợp được rất nhiều các kỹ thuật quét cổng trong chương trình của anh ấy kỹ thuật này được gọi là nmap
(phần này tôi post toàn bộ nguyên văn tiếng anh)
TCP connect scan This type of scan connects to the target port and completes
a full three-way handshake (SYN, SYNj ACK, and ACK) It is easily detected by the target system
.TCP SYN scan This technique is called half-open scanning because a full TCP connection is not made Instead, a SYN packet is sent to the target port If a SYN/ ACK is received from the target port, we can deduce that it is in the
Trang 21LISTENING state If an RST/ACK is received, it usually indicates that the port
is not listening An RST/ACK will be sent by the system performing the port scan so that a full connection is never established This technique has the advantage of being stealthier than a full TCP connect, and it may not be logged by the target system
TCP FIN scan This technique sends a FIN packet to the target port Based on RFC 793 http://www.ietf.org/rfc/rfcO793.txt), the target system should send back an RST for all closed ports This technique usually only works on UNIX- based TCP lIP stacks
TCP Xmas Tree scan This technique sends a FIN, URG, and PUSH packet to the target port Based on RFC 793, the target system should send back an RST for all closed ports
TCP Null scan This technique turns off all flags Based on RFC 793, the target system should send back an RST for all closed ports
TCP ACK scan This technique is used to map out firewall rulesets It can help determine if the firewall is a simple packet illter allowing only established connections (connections with the ACK bit set) or a stateful firewall
performing advance packet filtering
TCP Windows scan This technique may detect open as well as
illtered/nonfiltered ports on some systems (for example, AIX and FreeBSD) due to an anomaly in the way the TCP windows size is reported
TCP RPC scan This technique is specific to UNIX systems and is used to detect and identify Remote Procedure Call (RPC) ports and their associated program and version number
TCP's three-way handshake
1) SYN sent from client
2) SYN/ ACK sent from server
3) ACK sent from client
Trang 22UDP scan This technique sends a UDP packet to the target port If the target rport responds with an "ICMP port unreachable" message, the port is closed Conversely, if we don't receive an "ICMP port unreachable" message, we can deduce the port is open Since UDP is known as a connectionless protocol, the accuracy of this technique is highly dependent on many factors related to the utilization of network and system resources In addition, UDP scanning is a very slow process if you are trying to scan a device that employs heavy packet filtering If you plan on doing UDP scans over the Internet, be prepared for unreliable results
Certain IP implementations have the unfortunate distinction of sending back reset ackets for all ports scanned, whether or not they are listening Thus, your results ry when performing these scans; however, SYN and connect ( ) scans should work all hosts
Xác định các dịch vụ TCp và Udp đang chạy
Một công cụ quét tốt là công cụ mà có thể phân tích, tổng hợp các thông tin mục tiêu Hiện nay có rất nhiều các công cụ quét cho hệ thống chạy UNIX và WINDOWS NT, trong phần này chúng ta chỉ giới hạn ở một vài công cụ
thường hay sử dụng
Strobe
Strobe là một công cụ quét cổng TCP được viết bởi Julian
Assange ftp://freeBSD.org/pub/FreeBSD/ports/distfiles/strobe-1.06.tgz) nó
là một công cụ quét rất nhanh và đáng tin cậy Một trong những đặc tính của
nó chính là key tối ưu hoá những tài nguyên hệ thống và mạng nguồn nhằm mục đích quét hệ thống mục tiêu một cách hiệu quả
Strobe output lists each listening TCP port:
Trang 23192.168.1.10 ftp 21/tcp F11e Transfer [Control] [96,JBP]
192.168.1.10 exec 512/tcp remote process execution;
192.168.1.10 login 513/tcp remote login a la telnet;
192.168.1.10 cmd 514/tcp shell like exec, but automatic
192.168.1.10 ssh 22/tcp Secure Shell
192.168.1.10 telnet 23/tcp Telnet [112,JBP]
192.168.1.10 smtp 25/tcp Simple Mail Transfer [102,JBP]
192.168.1.10 nfs 2049/tcp networked file system
udp_scan
Since strobe only covers TCP scanning, we can use udp_scan, originally from SATAN (Security Administrator Tool for Analyzing Networks), written by Dan Farmer and Wietse Venema in 1995 While SATAN is a bit dated, its tools still work quite well In addition, newer versions of SATAN, now called SAINT, have been released by http://wwdsilx.wwdsi.com Many other utilities perform UDP scans; however, we have found that udp_scan is one of the most reliable UDP scanners available We should point out that although udp_scan is
reliable, it does have a nasty side effect of triggering a SATAN scan message from major IDS products Thus, it is not one of the more stealthy tools you could employ Typically, we will look for all well-known ports below 1024 and specific high-risk ports above 1024
Trang 24Another excellent utility is netcat or nc, written by Hobbit
(hobbit@avian.org) This utility can perform so many tasks that everyone in the industry calls it the Swiss army knife of security While we will discuss many of its advanced features throughout the book, nc will provide basic TCP and UDP port scanning capabilities The -v and -vv options provide verbose and very verbose output, respectively The -z option provides zero mode I/O and is used for port scanning, and the -w2 option provides a timeout value for each connection By default, nc will use TCP ports Therefore, we must specify the -u option for UDP scanning (as in the second example shown next)
Trang 25Network Mapper (nmap)
Chúng ta hãy quay lại và thảo luận về công cụ quét cơ bản đó là nmap Công
cụ này, như đã đề cập ở phía trên, được viết bởi Fyodor (http:/
/www.insecure.org/nmap) Nmap cung cấp các công cụ quét TCP và UDP Chúng ta hãy thăm dò một số đặc tính hữu ích của nó
[tsunami] # rmlaP -h
nmap V 2.53 Usage: nmap [Scan Type(s)] [Options]
Some Common Scan Types ('*' options require root privileges)
-sT TCP connect() port scan (default)
* -sS TCP SYN stealth port scan (best all-around TCP scan)
* -sU UDP port scan
-sP ping scan (Find any reachable machines)
* -sF,-sX,-sN Stealth FIN, xmas, or Null scan (experts only)
-sR/-I RPC/Identd scan (use with other scan types)
Some Common Options (none are required, most can be combined) :
* -0 Use TCP/IP fingerprinting to guess remote operating system
-p ports to scan Example range: '1-1024,1080,6666,31337'
-F only scans ports listed' in nmap-services
-v Verbose Its use is recommended Use twice for greater effect
-PO Don't ping hosts (needed to scan www.microsoft.com and others)
* -Ddecoy_host1,decoy2[, ] Hide scan using many decoys
-T Gen~ral timing policy
: -n/-R Never do DNS resolution/Always resolve [defaul: sometimes resolve] -oN/ -oM Output normal/machine parsable scan logs to
-iL Get targets from file; Use '-' for stdin
* -S /-e Specify source address or network interface
interactive Go into interactive mode (then press h for help)
Trang 26[tsunami] IDap -sS 192.168.1.1
Starting nmap V 2.53 by fyodor@insecure.org
Interesting ports on (192.168.1.11):
(The 1504 ports scanned but not shown below are in state: closed)
Port State Protocol Service
http://www.ietf.org/rfc/ rfc1519.txt), một thuận tiện cho phép chúng ta liệt
kê dải IP từ 192.168.1.1-192.168.1.254 Nó cũng cho phép chúng ta sử dụng dấu tuỳ chọn –o để tách các file, Tuỳ chọn –oN cho phép ghi lại các kết quả dưới khuôn dạng đọc được
[tsunami]# nmap -sF" 192.168.1.0/24 -oN outfile
Nếu bạn muốn ghi lại kết quả của bạn dưới dạng bảng hồ sơ và phân tích các kết quả về sau thì sử dụng cú pháp –oM Khi mà chúng ta nhận được quá nhiều các thông tin từ quá trình quét này thì chúng ta ghi lại các kết quả đó theo từng file từng khuôn dạng, trường hợp này cũng cho phép bạn kết hợp
cả cú pháp lệnh –oN và –oM trên cả hai khuôn dạng
Hãy suy nghĩ rằng sau khi thu thập thông tin mục thiêu của tổ chức nào đó,
Trang 27chúng ta phát hiện ra rằng họ đã sử dụng một bộ lọc gói tin đơn giống như là một thiết bị firewall của họ Trong trường hợp này chúng ta có thể sử dụng tuỳ chọn –f của nmap để bẻ gãy gói tin Đặc biệt hơn, tuỳ chọn này có thể chia gói tiêu đề TCP ra nhiều gói khác nhau, nó chắc chắn là tạo nên các khó khăn khi chúng ta thâm nhập và điều khiển các thiết bị hoặc hệ thống IDS phát hiện ra quá trình quét Phần lớn các trường hợp các thiết bị lọc gói tin hiện đại và các ứng dụng cơ bản của tường lửa sẽ xếp hàng tất cả các phân mảnh
IP trước khi ước lượng chúng Có khả năng là các thiết bị điều khiển cũ hoặc cần được nâng cấp sẽ không phân mảnh gói tin trước khi chuyển chúng qua Dựa vào độ phức tạp của mạng mục tiêu và host, quét càng lâu thì càng dễ bị phát hiện Nmap cung cấp thêm bẫy có khả năng thiết kế để áp đảo site mục tiêu với các thông tin không cần thiết bằng cách sử dụng tuỳ chọn –D Giả thuyết cơ bản là phía sau tuỳ chọn này có một bẫy quét scan khi mà chương trình quét chính đang thực hiện.Kết quả này có được chính là do sự giả mạo (spoofing) địa chỉ nguồn của server xác thực và sự hoà trộn giữa quá trình quét không có thật với quá trình quét cổng có thật Hệ thống mục tiêu sau đó
sẽ có phản hồi với địa chỉ giả mạo cũng như vậy với cổgn thực tế bạn quét Tuy nhiên, site mục tiêu sẽ chịu một gánh nặng khi mà phải cố gắng theo dõi mọi thứ từ quét đến xác định rằng cái nào là xác định, cái nào là không có thật Một đièu quan trọng cần phải nhớ đó là địa chỉ bẫy cần luôn phải tồn tại, hoặc nếu không thì việc scan của bạn có thể làm lụt các gói SYN tho hệ thống mục tiêu và dẫn đến tình trạng từ chối dịch vụ.( denial of service