1. Trang chủ
  2. » Giáo án - Bài giảng

ky thuat hack

12 373 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 139,5 KB

Nội dung

KỸ THUẬT HACK CƠ BẢN - PHẦN I **** Foot Printing **** Thân chào tất cả các bạn , nhằm đáp ứng nhu cầu học hỏi trong hacking và security, fantomas311 đã biên soạn một bộ bài viết "Basic hacking" và các bài viết liên quan đến hacking hệ thống để giới thiệu đến các bạn . Xin khuyến cáo với những ai muốn học hack một cách fast food là các bạn không nên đọc bài viết này ! Vì tôi không post những bài dạy hack cho các bạn , mà tôi chỉ post bài theo phương châm "hack như thế nào" . Hãy đọc , suy nghĩ và làm bằng đôi tay và khối óc của mình !! Trước khi các hacker thực sự bắt tay vào việc, họ phải tiến hành 3 bước cơ bản là in dấu ấn (foot printing) , Quét (scanning) và điểm danh(enumeration). Bài viết này đề cập đến kỹ thuật in dấu ấn và những vấn đề liên quan. **In dấu ấn là gì ??** 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 một chuyên khu web muốn tấn công ( trong bài viết này tạm gọi là victim). Việc in dấu ấn có hệ thống một tổ chức sẽ cho phép hacker thấy rõ tình hình an ninh ( độ bảo mật) của tổ chức đó. **Tại sao cần in dấu ấn ??** Foot Printing giúp có thể định danh tất cả các mẩu tin và nắm những thông tin cơ bản (đôi khi khá quan trọng) về victim. ** Kỹ thuật in dấu ấn ** Có rất nhiều kỹ thuật in dấu ấn khác nhau, bài viết này sẽ mô tả các bước giúp bạn hoàn thành một đợt phân tích dấu ấn kỹ lưỡng. *Bước 1: định phạm vi hoạt động: Bước này nói cho đơn giản là bạn phải xác định rõ cái mà bạn muốn hack là gì ( một công ty , một server hay chỉ là một web cá nhân . ) - Đối với người mới bắt đầu, bạn nên đọc kỹ và ghi lại những thông tin mà trang web cung cấp cho bạn ( những thông tin về nó , như số ĐT , mail của webmaster , địa chỉ ). Có nhiều khi những thông tin này lại là "chiếc chìa khoá vàng" cho bạn :) Những mục đáng quan tâm bao gồm : + Các vị trí + Các công ty hoặc thực thể liên quan + Các kết nối hoặc tin tức có được + Các ngôn ngữ bảo mật nêu rõ các cơ chế bảo mật đã thiết đặt ( cấu hình fire wall chẳng hạn ) + Các số điện thoại , tên liên lạc và Email . Ngoài ra, bạn cũng có thể xem lại mã nguồn HTML để tìm những sơ hở trong lập trình , bên cạnh đó , những chú thích nằm trong các thẻ HTML như < ! và ~ cũng là một " tài nguyên" đáng khai thác !! ( thí dụ như :D ) Sau khi nghiên cứu trang web , bạn tìm thêm những thông tin cung cấp các manh mối bổ sung về tình trạng của tổ chức và tình hình an ninh của nó ( trên báo chí , các bản tin trên NET chẳng hạn) . Những động cơ tìm kiếm là chìa khoá cho bạn . Sau đây là một vài động cơ tìm kiếm : http://google.com :) http://sec.gov http://cyberarmy.com Http://deja.com http://networksolution.com http://dogpile.com http://astalavista.com http://ipswich.com http://arin.net/whois/ http://ferretsoft.com Okie, hãy tiến hành bước đấu tiên trong kỹ thuật Hack !! B) *Bước 2 : điểm danh mạng Trong bước này , việc đầu tiên là định danh các domain và mạng có liên quan đến victim . Muốn làm điều này , hãy truy xuất dữ liệu của network solution ( www.networksolution.com ) và American Registry for Internet Number ( www.arin.net ) Một số kiểu truy vấn : +Organizational : Tất cả các thông tin có liên quan đến một tổ chức cụ thể +Domain:---------------------------------- domain ------- +Network:-----------------------------------mạng hoặc IP +Point of contact:-------------------------1 cá nhân cụ thể ( admin ) *Bước 3 : Truy vấn DNS Sau khi định danh các domain của tổ chức đích (victim), bạn có thể bắt đầu truy vấn DNS . Nếu DNS được cấu hình bấp bênh, ta có thể moi được thông tin tiết lộ về tổ chức . Một trong những cách cấu hình sai nghiêm trọng nhất mà một điều hành viên có thể mắc phải là cho phép người dùng internet không tin cậy thực hiện chuyển giao miền DNS ( zone transfer). Sự cố này có thể cho thấy tên hệ chủ, các IP ẩn nói chung là các thông tin muốn che dấu ! Việc cung cấp địa chỉ IP bên trong cho 1 người dùng không tin cậy trên internet cũng giống như cung cấp bản đồ ngôi nhà mình cho kẻ trộm vậy !! Đến đây, có lẽ bạn có một câu hỏi " Zone transfer - how ??" . Xin thưa là đây là một vấn đề khác, có lẽ tôi sẽ đề cập trong một bài viết khác của mình để tránh loãng bài viết :). Kết thúc bước 3 tại đây ! *Bước 4: trinh sát mạng Sau khi đã có bản đồ trong tay, thì đây là giai đoạn "xâm nhập thực tế" để xác định lộ trình truy cập tiềm năng mạng ( tạm hiểu như là việc do thám để xác định các con đường trước khi tiến hành đánh cướp á mà ! ) Để thực hiện công việc này , xin giới hiệu các bạn chương trình trace route (ftp://ftp.ec.lbl/-traceroute.tar.z ) có trong hầu hết phiên bản của Unix & WinNT . Trong WinNT , nó có tên là tracert. Trace route là một công cụ chẩn đoán do Van Jacobson viết để cho phép xem tuyến đường mà một gói tin IP sẽ theo từ server này sang server khác Nếu bạn không rành các lệnh trong Unix , có thể dùng VIsual Route ( http://www.visualroute.com ) để thực hiện tiến trình trinh sát(tracerouting) này . Giao diện của visual route trông rất bắt mắt & dễ sử dụng. Nhưng không có tác dụng tốt với các mạng có quy mô lớn . Ngoài ra , bạn còn có thể thực hiện một kỹ thuật phức tạp hơn gọi là "tiến trình quét giao thức firewall" (sẽ đề cập ở Basic hacking II - Scanning của fantomas311 ) Vậy là công đoạn đầu tiên của việc hack vào một hệ thống đã xong . Bây giờ, sau khi đã thực hiện hoàn tất các bước trên, bạn ( tôi chỉ nói những người đã làm đúng các bước trên) có thể tự hỏi : "vậy có tác dụng gì ??" Làm gì tiếp theo??" "những thông tin thu được có tác dụng gì?" " Có nhất thiết phải thực hiện bước này không ?? " :) Nhiều câu hỏi quá ! Nhưng xin để các bạn tự trả lời vậy ! Tôi chỉ trả lời 1 câu thôi ! Bước tiếp theo của quá trình hack - theo lý thuyết - là Scanning . Quá trình Scanning sẽ được đề cập trong bài viết tiếp theo của fantomas311 : " Basic Hacking part II - Scanning" :) Hy vọng bài viết này làm bạn hài lòng Sơ Lược Trace Route Trong bài viết trên tôi đã đề cập đến traceroute. Vậy Traceroute là gì ?? Mời các bạn xem bài viết sau: Traceroute là gì? Traceroute là một chương trình cho phép bạn xác định được đường đi của các gói packets từ máy bạn đến hệ thống đích trên mạng Internet. Một ví dụ về Traceroute! Traceroute có thể làm được gì? Bạn hãy xem ví dụ sau sẽ rõ! C:\windows>tracert 203.94.12.54 Tracing route to 203.94.12.54 over a maximum of 30 hops 1 abc.netzero.com (232.61.41.251) 2 ms 1 ms 1 ms 2 xyz.Netzero.com (232.61.41.0) 5 ms 5 ms 5 ms 3 232.61.41.10 (232.61.41.251) 9 ms 11 ms 13 ms 4 we21.spectranet.com (196.01.83.12) 535 ms 549 ms 513 ms 5 isp.net.ny (196.23.0.0) 562 ms 596 ms 600 ms 6 196.23.0.25 (196.23.0.25) 1195 ms1204 ms 7 backbone.isp.ny (198.87.12.11) 1208 ms1216 ms1233 ms 8 asianet.com (202.12.32.10) 1210 ms1239 ms1211 ms 9 south.asinet.com (202.10.10.10) 1069 ms1087 ms1122 ms 10 backbone.vsnl.net.in (203.98.46.01) 1064 ms1109 ms1061 ms 11 newdelhi-01.backbone.vsnl.net.in (203.102.46.01) 1185 ms1146 ms1203 ms 12 newdelhi-00.backbone.vsnl.net.in (203.102.46.02) ms1159 ms1073 ms 13 mtnl.net.in (203.194.56.00) 1052 ms 642 ms 658 ms Tôi cần biết đường đi từ máy tôi đến một host trên mạng Internet có địa chỉ ip là 203.94.12.54. Tôi cần phải tracert đến nó! Như bạn thấy ở trên, các gói packets từ máy tôi muốn đến được 203.94.12.54 phải đi qua 13 hops(mắt xích) trên mạng. Đây là đưòng đi của các gói packets: Netzero(ISP đã gởi dữ liệu đi) -> Spectranet (một nhà công cấp mạng xương sống - Backbone Provider) -> New York ISP -> New York Backbone -> Asia -> South Asia -> India Backbone -> New Delhi Backbone -> một router khác trong New Delhi Backbone -> New Delhi ISP Như vậy, host có địa chỉ ip 203.94.12.54 nằm ở New Delhi, India, South Asia! Bạn cũng có thể telnet đến 203.94.12.54 trên cổng 13(datetime) để xác định giờ GMT qua đó bạn có thể biết được vị trí của host này(yêu cầu là host 203.94.12.54 phải chạy daemon datetime và được định cấu hình đúng về thời gian)! Traceroute hoạt động như thế nào? Trước hết, bạn cần biết về ICMP, TTL và cách làm việc của các routers(bộ định tuyến)! Những kiến thức cơ bản ICMP - Internet Control Message Protocol. ICMP được dùng để thông báo các lỗi xảy ra trong quá trình truyền đi của các gói dữ liệu trên mạng. ICMP thuộc tầng vận huyển - Transpoort Layer! Tầng ứng dụng HTTP FTP Telnet Finger SSH DNS POP3/IMAP SMTP Gopher BGP Time/NTP Whois TACACS+ SSL DNS SNMP RIP RADIUS Archie Traceroute tftp Ping Tầng vận chuyển TCP UDP ICMP OSPF Tầng Internet IP ARP Tầng vật lí Ethernet/802.3 Token Ring (802.5) SNAP/802.2 X.25 FDDI ISDN Frame Relay SMDS ATM Wireless (WAP, CDPD, 802.11) Fibre Channel DDS/DS0/T-carrier/E-carrier SONET/SDH DWDM PPP HDLC SLIP/CSLIP xDSL Cable Modem (DOCSIS) Tất cả các ICMP messages đều được chuyển đi cùng với các IP datagrams. Mỗi ICMP message được gói trong IP datagram sẽ có dạng như sau: +---------------------+-------------------------+ | IP Header(20 bytes) | ICMP message (32 bytes) | +---------------------+-------------------------+ Sau đây là cấu trúc của một IMCP message: (tham khảo RFC792 để biết thêm!) 0 7 8 15 16 31 +-----------------+-----------------+-----------------+ | Type (0 or 8) | Code (0) | 16-bit Checksum | +-----------------+-----------------+-----------------+ | Indentifier | sequence number | +-----------------+-----------------+-----------------+ | | | Optional Data (nội dung tùy thuộc vào Type và Code) | | | +-----------------------------------------------------+ trường type có 15 giá trị khác nhau, tùy thuộc vào từng loại ICMP error message cụ thể. Ví dụ type=3 để chỉ định cho thông báo lỗi "Không đến được đích" - "Destination unreachable" error message! trường code = sub-error dùng để xác định chính xác lỗi đã xảy ra. Ví dụ, type=3 và code=0 nghĩa là "Network Unreachable"(không đến được mạng); nếu type=3, code=1 nghĩa là "Host Unreachable"(không đến được host) . 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! Tác giả : Fantomas311 - Vietnam Security KỸ THUẬT HACK CƠ BẢN - PHẦN II ***** Scanning ***** === Author : Fantomas311 === Nếu Foot Printing là thu thập tất cả thông tin có liên quan đến tổ chức đích thì Scan là một bước xác định xem trong mớ bòng bong kia thì cái nào là "xài đượ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 Nếu kỹ thuật zone transfer cho ta 1 địa chỉ IP thì scan sẽ giúp ta xác định xem nó ở port nào và nó có phải là một IP thực hay không. Có một số server hiển thị cả các IP của mạng tư ( thí dụ như 10.10.10.0 ). Một địa chỉ IP như thế không thể định tuyến ( xem http://www.ietf.org/rfc/rfc1918.txt để biết thêm chi tiết) ++ Quét Ping mạng : Ngòai quét ping truyền thống bằng cách mở cửa sổ DOS và tyoe lệnh Ping như chúng ta đều biết, còn một số kiểu quét ping khác như : + Fping: dùng trong Unix ( http://ftp.tamu.edu/pub/Unix/src ) fping là một trình tiện ích gửi đi các yêu cầu mass ping theo kiểu song song vì thế fping quét được nhiều địa chỉ IP hơn so với ping + Nmap ( http://insecure.org/nmap ) : Có lẽ không cần nói nhiều về trình tiện ích này , có khá nhiều hướng dẫn đầy đủ cách sử dụng và chức năng của nmap trên mạng. Nmap cung cấp khả năng quét ping với tùy chọn –Sp + Pinger : dùng cho Windows, sản phẩm miễn phí của Rhino9 ( http://207.98.195.250/software/ ) là một trong các trình tiện ích nhanh nhất sẳn có + Ping Sweep : Sản phẩm của Solarwinds, chạy khá nhanh, nhưng công cụ này có thể làm bão hòa một mạng có tuyến nối kết chậm ( Cái này xài ở VN ko ổn nên ko giới thiệu chi tiết ) + WS Ping Proback ( http://www.ipswich.com ) và các công cụ netscan ( http://www.nwpsw.com ) đủ để quét một mạng nhỏ, tiện dụng và giao diện đơn giản , tuy nhien khá chậm so với pinger và ping sweep . Người mới bắt đầu nên sử dụng lọai này ! Về cơ bản thì ping là quá trình gửi và nhận các gói tin ICMP (Internet Control Messaging Protocol ) . Vậy nếu ICMP bị phong tỏa bởi quản trị mạng của chuyên khu đích thì sao ? Trường hợp điển hình là khi type lệnh ping một domain mà không nhận được hồi âm nào , lúc đó ICMP tại bộ định tuyến biên bị phong tỏa hoặc có một fire wall đã được thiết lập . Trong trường hợp này ta có hai lựa chọn : + Bỏ qua quét ping mà thực hiện quét cổng (port Scan) : Sẽ đề cập ở phần sau của bài viết này . + Thực hiện ping TCP: - Dùng Nmap với tùy chọn -PT . Tùy chọn này sẽ gửi các gói tin TCP SYN đến mạng đích và đợi đáp ứng, các hệ chủ "còn sống" sẽ đáp ứng bằng một gói tin TCP SYN/ACK. Phương pháp này khá hiệu quả để xác định xem hệ chủ có còn sống hay không cho dù chuyên khu đã phong tỏa ICMP .Bạn nên lặp lại kiểu quét này vài lần trên các cổng chung như SMTP (25) , POP (110) , IMAD ( 143 ) , hoặc các cổng có thể là duy nhất đối với các chuyên khu nhất định - HPing ( http://www.kyuzz.org/antirez/ ) là một trình tiện ích ping TCP khác có công năng bổ sung TCP qua mặt cả Nmap . Hping cho phép người dùng điều khiển các tùy chọn cụ thể về gói tin TCP có thể cho phép nó đi qua một số thiết bị kiểm sóat truy cập nhất định. Nhờ ấn định cổng đích với tùy chọn -P , bạn có thể phá vỡ vài thiết bị kiểm sóat truy cập tương tự như kỹ thuật trace route đã nêu ở Part I có thể dùng Hping để thực hiện các đợt quét ICMP và có thể phân mảnh [ fragment ] các gói tin có tiềm năng phớt lờ một số thiết bị kiểm soát truy cập .Hping sẽ được đề cập chi tiết hơn ở phần sau Tóm lại , 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 . Làm như vậy, ta đã giảm bớt đáng kể tiến trình ấn định đích, tiết kiệm thời gian trắc nghiệm và thu hẹp trọng tâm của các hoạt động . ++ Truy vấn ICMP : Bạn có thể thu thập tất cả các kiểu thông tin quý giá về một hệ thống bằng cách đơn giản gửi một gói tin ICMP cho nó , các công cụ có thể down load tại http://securityfocus.com ++ Quét cổng (port scan): đến lúc này , ta đã định danh các hệ thống còn sống bằng cách dùng các đợt quét ping ICMP hoặc TCP và đã thu thập được một ít thông tin ICMP . Giờ đây ta đã sẵn sàng tiến trình quét cổng từng hệ thống. 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 . Ta phải định danh các cổng đang lắng chờ nếu như muốn xác định kiểu hệ điều hành và các ứng dụng đang dùng. 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. Sau đây,ta coi như các hệ thống mà ta đã định danh ở bước trên là còn sống ( alive ) , 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ể ** Các kiểu quét: trước khi giới thiệu các công cụ quét cổng chủ yếu, ta phải xét qua các kỹ thuật quét cổng sẵn dùng: * Quét nối TCP : kiểu quét này nối với cổng đích và hòan thành một đợt bắt tay ba chiều đầy đủ ( SYN , SYN/ACK , ACK ) hệ đích có thể dễ dàng phát hiện nó . Tiến trình bắt tay ba chiều TCP gồm : = Gửi gói tin SYN đến hệ phục vụ = Nhận gói tin SYN/ACK từ hệ phục vụ = Gửi gói tin ACK đến hệ phục vụ * Quét TCP SYN : kỹ thuật này là việc thực hiện một tuyến nối TCP đầy đủ, nghĩa là : gửi gói tin SYN đến cổng đích , ta có thể suy ra nó nằm trong trạng thái listenning. Nếu nhận được một RST/ACK nó thường cho thấy cổng đang không lắng chờ: một RST/ACK sẽ được gửi bởi hệ thống thực hiện quét cổng để một tuyến nồi đầy đủ không bao giờ được thiết lập.Kỹ thuật này có ưu điểm là mang tính lén lút hơn một tuyến nối TCP đầy đủ * Quét TCP FIN : kỹ thuật này gửi một gói tin FIN cho cổng đích. Dựa trên RFC 793 ( http://www.ietf.org/rfc/rfc0793.txt ) hệ đích sẽ gửi trả một RTS cho tất cả các cổng đã đóng.Kỹ thuật này thường chỉ làm việc trên các ngăn xếp TCP/IP gốc Unix * Quét TCP Xmas Tree : Kỹ thuật này gửi một gói tin FIN , URG và PUSH cho cổng đích dựa trên RFC 793, hệ đích sẽ gửi trả một RST của tất cả các cổng đã đóng. * Quét TCP Null : giống TCP Xmas Tree * Quét UDP : Kỹ thuật này gửi một gói tin UDP cho cổng đích. Nếu cổng đích đáp ứng bằng một thông điệp "ICMP port unreachable ", cổng đã đóng. Ngược lại, nếu không nhận được thông điệp trên, ta có thể suy ra cổng mở ! Độ chính xác của kỹ thuật này tùy thuộc nhiều vào yếu tố có liên quan đến việc sử dụng các tài nguyên mạng và hệ thống. Khi thực hiện các đợt quét cổng UDP, có thể sẽ cho kết quả khác nhau . Một số thực thi IP sẽ gửi trả tất cả các RTS của tất cả các cổng đã quét dẫu chúng có đang lắng chờ hay không * Định danh các dịch vụ TCP và UDP đang chạy : trình tiện ích của một công cụ quét cổng tốt nhất là một thành phần quan trọng của tiến trình in dấu ấn. Tuy có nhiều bộ quét cổng sẵn dùng cho cả Unix và NT , nhưng tôi sẽ đề cập đến một số bộ quét cổng thông dụng và nhanh : - Strobe :strobe là một trong những bộ quét TCP nhanh và đáng tin cậy sẵn dùng , được viết bởi Julian Arrange ( ftp.win.or.jp/pup/network/misc/strobe-105.ta.gz ) Một số tính năng chính của Strobe bao gồm khả năng tối ưu hóa các tài nguyên mạng, hệ thống và quét hệ đích một cách có hiệu quả . Ngòai tính hiệu quả , phiên bản 1.04 của strobe về sau sẽ nắm giữ các banner kết hợp của từng cổng mà chúng nối với . Điều này có thể giúp định danh hệ điều hành lẫn dịch vụ đang chạy . Tính năng nắm giữ banner sẽ được nói nhiều hơn ở Part III.Tuy nhiên Strobe cũng có một số nhược điểm là không cung cấp khả năng quét UDP và hệ đích có thể dễ dàng phát hiện - Up_Scan : Nếu Strobe cung cấp khả năng quét TCP thì Up_Scan là một trong những bộ quét UDP tin cậy nhất ( http://wwdsilx.wwdsi.com ) Nhược điểm : dễ bị phát hiện - Netcat : trình tiện ích này có thể thực hiện rất nhiều công việc , cũng như nmap, nóp là công cụ không thể thiếu trong hacking cũng như security. Để quét TCP và UDP , ta sử dụng các tùy chọn -v và -vv , -z, -wz, -u - PortPro và PortScan: trong WinNT thì portPro và PortScan là hai trình tiện ích quét cổng nhanh nhất.PortPro cùa StOrM ( http://securityfocus.com )và portScan là sản phẩm của Rhad. PortScan cung cấp một miền các cổng để quét trong khi portpro đơn giản gia số các cổng của nó, nhưng cả hai đều không cung cấp các miền địa chỉ IP .Portpro là một trong những công cụ quét cổng nhanh nhất sẵn dùng , tuy nhiên càc tùy chọn của nó còn hạn chế ! - Ngòai ra, công cụ quét cổng mạnh nhất vẫn là nmap ( đã giới thiệu ở phần trước ) ** Các công cụ phát hiện tự động: + Cheops ( http://www.marko.net/cheops/ ) cung cấp khả năng quét ping, trace route , khả năng quét cổng và tính năng phát hiện hệ điều hành + Tkined là một phần của bộ Scotty có tại http://wwwhome.cs.wtwente.nl/~choenw/Scotty/ là một bộ sọan thào mạng được viết trong TCL tích hợp các công cụ quản lý mạng khác nhau ,cho phép bạn phát hiện các mạng IP Theo Vietnam Security KỸ THUẬT HACK CƠ BẢN - PHẦN III - ĐIỂM DANH ******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 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 phương pháp tuyệt vời cho các cuộc tấn công có định hướng, nhưng hầu hết các hacker thường sử dụng một bộ quét NetBIOS để nhanh chóng kiểm tra nguyên cả mạng để tìm các tệp dùng chung phơi bày. Một trong các công cụ phổ dụng đó là Legion ( có thể tìm thấy trên nhiều kho tàng trữ internet ). Legion có thể nghiền ngẫm qua một mạng IP Class C và tiết lộ tất cả các tệp dùng chung sẵn dùng trong giao diện đồ họa của nó. Phiên bản 2.1 có gộp một "công cụ cưỡng bức", công cụ này sẽ cố gắng nối kết với một tệp dùng chung nhất định thông qua một danh sách các mật hiệu do người dùng cung cấp. Cách bẻ khóa cưỡng bức đối với Win9x và WinNT sẽ được nêu cụ thể ở các phần sau Một bộ quét tệp dùng chung windows phổ dụng khác là NetBIOS Auditing Tool (NAT) có thể tìm thấy trên các kho tàng trữ internet ****Các kiểu điểm danh NT khác **** Ngoài ra còn có một số bộ điểm danh thông tin mạng NT khác như : epdump của Microsoft ( http://www.ntshop.net/- security/tools/def.htm ), getmac và netdom trong NTRK và netviewx ( http://www.ibt.ku.dk/jesper/NTtools/ ) epdump 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 hacker định hình một hệ thống có nhiều giao diện trên mạng . 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, bao gồm tư cách thành viên domain và các danh xưng của Backup Domain Controllers . netviewx thường được dùng để dò tìm NT Remote Access Services ( RAS ) đề thu được khái niệm về số lượng các hệ phục vụ quay số tồn tại trên mạng Cuối cùng, quả thật đáng trách nếu không đề cập đến SNMP ( Simple Network Management Protocol ) như một nguồn thông tin NT tuyệt vời.SNMP sẽ được đề cập chi tiết hơn trong phần tiếp theo: kỹ thuật điểm danh người dùng ( user ) trong WinNT +++ Điểm danh người dùng và nhóm ( user and group ) trong WinNT Trước khi đề cập đến điểm danh người dùng như thế nào , hãy nói đến công cụ cần dùng cho kỹ thuật này .Sau khi định danh một danh sách user , hacker có thể 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 phun ra các thông tin user [...]... cho bạn biết user nào là root trong hệ phục vụ đích Công cụ : finger , rusers , rwho ****** Basic hacking Part III tạm dừng ở đây, sau ba bước cơ bản, bạn đã có khá nhiều thông tin và công cụ, khai thác cụ thể sẽ hướng dẫn sau Hy vọng qua ba bài viết, fantomas311 đã đem lại cho bạn khái niệm cơ bản về hacking ! Chúc vui ! Mọi chi tiết về bài viết xin liên hệ fantomas311@yahoo.com * Theo Vietnam Security... thông qua SNMP là một điều dễ dàng khi dùng trình duyệt SNMP snmputil trong NTRK.Tuy nhiên, công cụ này lại cung cấp rất nhiều số liệu được coi là "lùng bùng, khó nhớ, khó hiểu".Do đó, để tránh rắc rối ( hacking có quá nhiều rắc rối phải giải quyết rồi !!!) bạn có thể sử dụng trình duyệt SNMP của solar wind tên là IP network browser tại http://solarwinds.net Trên đây là phần trình bày của fantomas311... ngay sau đây Trước khi đi tiếp, bạn nên nhớ rằng hầu hết các kỹ thuật mô tả trong part III này đều dùng các thông tin thu thập được từ các kỹ đợt quét cổng và kỹ thuật điểm danh OS đã nêu trong "basic hacking Part I và II" +++Điểm danh tệp dùng chung và tài nguyên mạng Unix Nguồn thông tin mạng Unix tốt nhất là những kỹ thuật TCP/IP đã mô tả trong Part II, nhưng một công cụ tuyệt vời hơn để đào sâu... showmount -e 192.168.202.34 export list for 192.168.202.34 /pub (everyone) /var (everyone) /usr (user) Khóa chuyển -e nêu danh sách xuất khẩu của hệ phục vụ NFS, đáng tiếc cho các nhà bảo mật ,và mừng cho hacker là lỗ rò rĩ thông tin này không thể nà bịt kín được , bởi đây là cách ứng xử ngầm định của NFS NFS không là phần mềm chia sẻ tập tin duy nhất mà bạn tìm thấy trên Unix , nhờ tính phổ dụng ngày càng...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ụ hacking đã 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ày cho ta nội dung bảng tên NetBIOS của hệ thống . "Basic hacking" và các bài viết liên quan đến hacking hệ thống để giới thiệu đến các bạn . Xin khuyến cáo với những ai muốn học hack một cách. KỸ THUẬT HACK CƠ BẢN - PHẦN I **** Foot Printing **** Thân chào tất cả các bạn , nhằm đáp ứng nhu cầu học hỏi trong hacking và security, fantomas311

Ngày đăng: 19/09/2013, 08:10

Xem thêm

TỪ KHÓA LIÊN QUAN

w