Kỹ thuật hack cơ bản - Điểm danh - Phần II - 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 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
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 từ xa, nêu tên hệ thống, domai mà nó đang ở trong đó , và những user đã đăng nhập .
Có vài công cụ NTRK khác có thể cung cấp thông tin về các user ( dù có tuyến nối rỗng hay không ) chẳng hạn như các trình tiện ích usrstat , showgrps, local, global nhưng công cụ thông dụng để lấy thông tin của user nhất vẫn là DumpACL. DumpACL có thể kéo một danh sách các người dùng, các nhóm, và các quyền user của hệ thống NT.
Ngoài ra, hai công cụ điểm danh NT khác cũng khá mạnh là user2sid và sid2user của Evgenii Rudnyi ( xem
http://www.chem.msu.sn:8080~rudnyi/NT/sid.txt ) muốn sử dụng tốt hai công cụ này cần phải có thời gian tìm hiểu. Tôi chỉ có thể nói là nó có thể làm việc ngay cả khi các quản trị mạng đã kích hoạt RestrictAnonymous , chỉ cần có thề truy cập port 139 !
****SNMP (Simple Network Management Protocol )****
Một hệ thống NT đang chạy các tác nhân NT SNMP có thể truy cập bằng các chuỗi cộng đồng ngầm định như "public".Việc điểm danh các user NT 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 về điểm danh WinNT , tiếp theo là điểm danh với Novell
********* NOVELL *********
Tuy nói WinNT là bạn của các "phiên làm việc rỗng" nhưng netware của Novell cũng gặp sự cố tương tự :
+++ Network Neighborhood
ùng Network Neighborhood để tìm hiểu về các hệ phục vụ và các "cây" sẵn dùng trên đường truyền .Bước này không đe dọa trực tiếp thông tin, nó chỉ như một bước khởi động đơn giản mà thôi, làm được gì thì hay cái nấy !!
+++ Các tuyến nối Novell Client32
Chương trình Netware Services của Novell chạy trong khay hệ thống và cho phép quản lý các tuyến nối Netware của bạn thông qua tùy chọn Netware Connections khả năng này có thể cực kỳ quý giá trong việc quản lý các gắn kết và các đợt đăng nhập .Tuy nhiên, quan trọng hơn là sau khi tạo một mối gắn kết (attachment ), bạn có thể truy lục cậy NDS chứa hệ phục vụ, số hiệu tuyến nối, và địa chỉ mạng hoàn chỉnh.Điều này có thể hữu ích cho việc nối với hệ phục vụ về sau và giành quyền ưu tiên cấp điều hành (admin)
+++On-site Admin : Xem các hệ phục vụ Novell
Nếu không có tiến trình thẩm định quyền theo một hệ phục vụ đơn lẻ, bạn có thể dùng sản phẩm On-site Admin của Novell (
ftp://ftp.cdrom.com ) để xem tình trạng của mọi hệ phục vụ trên đường truyền.Thay vì gửi các yêu cầu quảng bá riêng, On-Site Admin dường như hiển thị các hệ phục vụ được Network Neighborhood lập cache, gửi các đợt quảng bá định kỳ riêng về các hệ phục vụ Novell trên mạng
+++On-site Admin duyệt cây :
Ta có thể duyệt hầu hết các cây Novell bằng On-site Admin. Trong trường hợp này , Client32 thực tế gắn kết với hệ phục vụ đã lựa bên trong cây. Lý do đó là theo ngầm định, Netware 4.x cho phép mọi người duyệt cây.Bạn có thể giảm thiểu điều này bằng cách bổ sung tính năng lọc các quyền thừa kế vào gốc cây. Những thông tin thu được quan On-Site Admin có thể giúp ta chuyển sang cuộc đột nhập hệ thống chủ động. Điểm danh NT kết thúc ở đây !!!!
******* UNIX *******
Hầu hết các thực thể Unix hiện đại đều dựa trên các tính năng nối mạng TCP/IP chuẩn và do đó không dễ gì công khai thông tin thoải mái như NT thông qua các giao diện NetBIOS hoặc NetWare .Tất nhiên, điều đó không có nghĩa là Unix không bị các kỹ thuật điểm danh tấn công, nhưng kỹ thuật nào sẽ cho ra các kết quả tốt nhất ??? Điều đó còn tùy thuộc vào cách cấu hình hệ thống. Ví dụ như Remote Procedure Call (RPC) , Network Information System (NIS) và Network File System (NFS) của Sun Microsystem nhắm đến trong nhiều năm qua. Ta sẽ đề cập đến một số kỹ thuật cổ điển 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 chính là trình tiện ích Unix showmount rất hữu ích trong việc điểm danh các hệ tập tin xuất khẩu NFS trên một mạng. Ví dụ : giả sử một đợt quét trước đó cho biết cổng 2049 (NFS) đang lắng chờ trên một đích tiềm năng . Như vậy, ta có thể dùng showmount để xem một cách chính xác các thư mục đang được share ra sao :
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 tăng của bộ phần mềm sampa nguồn mở, cung cấp các dịch vụ tập tin và in trôi chảy cho các hệ khách SMB (Server Message Block )tạo thành nền móng của tính năng nối mạng windows .Samba có thể download tại
http://samba.org và được phân phối cùng với nhiều bộ Linux.Mặc dù tập tin cấu hình hệ phục vụ Samba (/etc/smb.conf) có một số tham số bảo mật dể hiểu, việc cấu hình sai vẫn có thể dẫn đến các tập tin dùng chung mạng không được bảo vệ.
Một nguồn tiềm năng khác về thông tin mạng của Unix là NIS.Sự cố chính với NIS là một khi biết được tên domain NIS của một hệ phục vụ, bạn có thể dùng một đợt truy vấn RPC đơn giản để thu thập bất kỳ bản ánh xạ NIS nào của nó. Các bản ánh xạ NIS là những phép ánh xạ phân phối thông tin quan trọng của từng hệ chủ domain chẳng hạn như nội dung tập tin passwd . Kiểu tấn công NIS truyền thống thường dùng các công cụ khách NIS để cố gắng đoán tên domain.
Ngoài ra, còn một số công cụ khai thác cũng khá hữu ích là psean và snmpwalk
+++Điểm danh người dùng và các nhóm Unix :Kỹ thuật này không thu được những thông tin thật quý giá, nó chỉ có thể cho bạn biết user nào là root trong hệ phục vụ đích. Công cụ : finger , rusers , rwho