Theo một số liệu thống kê về vấn đề bảo mật thông tin thì mỗi năm có trên 15.000 hồ sơ của các bệnh viện bị tìm thấy trong thùng rác, 30.000 mật khẩu của các tàikhoản Internet bị công bố
Trang 1ĐẠI HỌC DUY TÂN KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN CHUYÊN NGHÀNH ĐẠI HỌC CHUYÊN NGÀNH :KỸ THUẬT MẠNG
NIÊN KHOÁ 2007-2011
TÊN ĐỀ TÀI:
CÁC VẤN ĐỀ BẢO MẬT WINDOW
SINH VIÊN THỰC HIỆN
Lê Quang Hiển
Lớp:K13TMT
MSSV:132114011
GIẢNG VIÊN HƯỚNG DẪN
Hồ Tiến Sung
Trang 2LỜI CAM ĐOAN
Xin cam đoan :
a Những nội dung trong báo cáo tốt nghiệp này là do em thực hiện dưới sự hướng dẫn trực tiếp của thầy Hồ Tiến Sung.
b Mọi tham khảo dùng trong báo cáo đồ án chuyên ngành đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố.
c Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo,hay gian trá, em xin chịu hoàn toàn trách nhiệm.
MỤC LỤC
Trang 3Windows là hệ điều hành phổ biến nhất trên thế giới, thị phần người sử dụng lớnnhất hiện nay, chính vì khả năng thân thiện dễ sử dụng của nó khiến người sửdụng chủ quan về vấn đề bảo mật an toàn thông tin, không hiểu rõ những nguy cơmắc phải Hệ điều hành window luôn tiềm ẩn, những điểm yếu, những lỗi bảomật, qua đó những hacker có thể lấy được những thông tin quan trọng Chúng tahãy xem hệ điều hành window có thể bị tấn công như thế nào và đưa ra giải phápphòng chống.
Mục tiêu :
Hiểu rõ được các hình thức tấn công vào hệ điều hành window
Biết được cách bảo vệ máy tính hệ điều hành window chúng ta thường hay sửdụng
Phạm vi nghiên cứu
Phạm vi nghiên cứu xoay quanh các điểm yếu về kiến trúc, điểm yếu về giao thức
và lỗ hổng các ứng dụng, dich vụ chạy trên hệ điều hành window mà các kẻ tấncông lợi dụng vào đó để lấy thông tin, tư liệu của chúng ta
Phương pháp nghiên cứu
Từ những tài liệu, mô tả các cách tấn công ,những điểm yếu hệ điều hành window,phân tích và đưa ra các cách phòng chống
Dùng vnware và một số tools để mô tả một số hình thức tấn công hệ điều hànhwindow
Nội dung nghiên cứu :
Nội dung nghiên cứu trong đồ án này gồm có 3 chương :
Trang 4- Chương I: Giới thiệu sơ qua về vấn đề bảo mật của hệ điều hành windowhiện nay và những kẻ tấn công nhìn nhận thế nào về hệ điều hành window.
- Chương II: Một số hình thức tác động, tấn công phổ biến xảy ra đối với hệđiều hành window
- Chương III: Thực hiện một số hình thức tấn công vào hệ điều hànhwindow
CHƯƠNG I: GIỚI THIỆU TỔNG QUAN VỀ BẢO MẬT THÔNG TIN
WINDOW
1.1/Bảo mật thông tin cơ bản
Trong một nền kinh tế toàn cầu hóa như hiện nay thì vấn đề an toàn thông tin đượcxem là sự sống còn đối với các doanh nghiệp Thế nhưng, rất nhiều doanh nghiệpvẫn chưa nhận thức được tầm quan trọng của vấn đề bảo mật thông tin và nhữngnguy cơ có thể xảy ra từ việc rò rỉ thông tin trong chính nội bộ của doanh nghiệpmình
Theo một số liệu thống kê về vấn đề bảo mật thông tin thì mỗi năm có trên 15.000
hồ sơ của các bệnh viện bị tìm thấy trong thùng rác, 30.000 mật khẩu của các tàikhoản Internet bị công bố trên mạng, 25 người từ phòng phát triển kinh doanh củacông ty này chuyển sang công ty đối thủ, các ngân hàng phải trả hàng triệu USD
do bị tấn công vào hệ thống giao dịch nghiệp vụ và 300.000 số tài khoản tín dụng
cá nhân bị trộm, một số bị công bố trên Web
Bảo mật thông tin phải được xem xét như là một trách nhiệm quản lý và kinhdoanh, không đơn giản chỉ là yếu tố kỹ thuật cần được giao cho các chuyên giacông nghệ hay bộ phận IT Để bảo đảm bảo mật kinh doanh, doanh nghiệp phải hiểu biết cả các vấn đề của nó và những giải pháp cho vấn đề
Chính vì thế, việc áp dụng các hệ thống quản lý bảo mật thông tin là việc làm rấtquan trọng của các doanh nghiệp trong thời kỳ nền kinh tế hội nhập toàn cầu hóanhư hiện nay Hệ thống quản lý bảo mật thông tin là một phần của hệ thống quản
lý toàn diện trong doanh nghiệp, chủ yếu là tiếp cận với rủi ro trong kinh doanh đểthiết lập, thực thi, vận hành, giám sát, xem xét, duy trì và cải thiện bảo mật thôngtin Hệ thống quản lý bảo mật thông tin bao gồm cơ cấu tổ chức, chính sách, cáchoạt động hoạch định, trách nhiệm, thực hành, quy trình, phương pháp và nguồntài nguyên Bảo mật thông tin không còn là “chuyện nhỏ” với các doanh nghiệp
Trang 5khi mà những mối đe dọa việc bảo mật ngày càng nhiều và phức tạp Theo tiêuchuẩn ISO/IEC CD 27005 thì có 4 nhóm gây hại đến việc bảo mật thông tin nhưcác dạng tổn hại vật lý, các sự cố tự nhiên, thất thoát những dịch vụ thiết yếu, ảnhhưởng do bức xạ Bên cạnh đó, chúng ta còn thấy hàng ngày những nhân tố có thể
đe dọa đến các đơn vị làm kinh doanh rất lớn như những nhân viên bất mãn, đốithủ cạnh tranh, nhà đầu tư hay tin tặc
Không chỉ có sự ngộ nhận “bảo mật thông tin là vấn đề cần quan tâm của quản lý
IT mà rất nhiều doanh nghiệp còn có những ngộ nhận “trầm trọng” khác Đó làcách suy nghĩ cho rằng những đe dọa về bảo mật đến từ bên ngoài mới là nhữngrủi ro lớn nhất, bảo mật thông tin chỉ nhằm bảo đảm bảo vệ hệ thống và cơ sở hạtầng công nghệ thông tin, quản lý nhân sự trong bảo mật thông tin không quantrọng bằng công nghệ, áp dụng những giải pháp công nghệ cao và tiên tiến sẽ làmtăng tính bảo mật
1.1.1/Security wheel(vòng tròn bảo mật khép kín)
Security wheel là một thuật ngữ có thể xem như là “vòng tròn bảo mật khép kín”
4 yếu tố của “ Security wheel “ là Plan, Prevent, Detect, and Respond
Hình 1.1: Vòng tròn bảo mật Plan(kế hoạch):
An ninh là một khái niệm thách thức, đặc biệt là khi nói đến công nghệ Khi xemxét làm thế nào để cung cấp bảo mật, bạn cần bắt đầu lập kế hoạch qua những câuhỏi như:
- Tài sản gì đang cố gắng để bảo đảm ?
- Yêu cầu bảo mật của tài sản là như thế nào?
- Những rủi ro mắc phải về bảo mật tài sản là gi ?
- Cái nào quan trọng cần ưu tiên ?
Hãy bắt đầu với việc xác định tài sản Điều này không phải là đơn giản, tài sản cóthể là máy chủ phần cứng, thông tin trong cơ sở dữ liệu, hoặc thậm chí các sở hữuđộc quyền của một tổ chức
Một khi đã xác định những gì đang cố gắng để bảo đảm, bước tiếp theo là xác định
Trang 6các yêu cầu an ninh của mỗi tài sản, nếu có Như tùy vào độ hữu ích mà cần phânloại các yêu cầu an ninh như thế nào cho hợp lý Bảo vệ được tính “bí mật, toànvẹn, và sẵn sàng” của tài sản.
Xác định các rủi ro, khi đã thu được một danh sách các mối đe dọa, nên làm một
hệ thống ưu tiên các mối đe dọa nguy hiểm để có thể có được giải pháp hiệu quả
Hoạt động an ninh bao gồm an ninh chung, chẳng hạn như bản vá bảo mật, quản
lý, phần mềm độc hại, bảo vệ, kiểm soát truy cập, theo dõi phản ứng bảo mật vàtài khoản nhóm bảo mật
Cuối cùng và có lẽ quan trọng nhất, công việc của một kiến trúc sư an ninh đặcbiệt liên quan đến phát triển ứng dụng, mà phải tuân theo các tiêu chuẩn nghiêmngặt và hướng dẫn để tránh những sai lầm tồn tại không thể tránh khỏi xảy ratrong quá trình phát triển phần mềm Ngoài ra, vai trò này còn phải thường xuyênthực hiện việc đánh giá, áp dụng hợp lý các tiêu chuẩn và công nghệ để đảm bảorằng các tổ chức đang giữ nhịp độ với hầu hết các tiến bộ
Detect(phát hiện)
Tìm kiếm và xác định các lỗ hổng bảo mật là một phần quan trọng
Các quá trình khác rơi vào lĩnh vực phát hiện như:
- Tự động quét lỗi
- Sự kiện an ninh và quản lý thông tin (SEIM)
- Hệ thống phát hiện xâm nhập (IDS)
- Phát hiện bất thường hệ thống (ADS)
- Kiểm tra an ninh (bao gồm cả sự xâm nhập thử nghiệm)
Trang 7nguyên hệ thống không hạn chế, chúng ta có thể xem hai phương pháp tấn công cơbản là tấn công hạt nhân và tấn công chế độ người dùng Hai phương pháp tiếp cận
cơ bản được minh họa trong hình 1-2, trong đó cho thấy hacker truy cập thông quathiết bị vật lý hạt nhân, giao diện truyền thông và cũng tấn công chế độ bảo mậtngười sử dụng bằng cách ảnh hưởng đến thông tin của một hệ thống người dùnghợp lệ (Lưu ý rằng những kẻ tấn công sau đó cũng có thể thỏa hiệp hạt nhân nếu
có được quyền admin)
Hình 1.2: Tấn công bảo mật Windows bằng cách sử dụng cả hai phương pháp
là tiếp cận hạt nhân và chế độ người dùng Attacking the Kernel(tấn công hạt nhân)
Giao diện chế độ hạt nhân là một ranh giới mà kẻ tấn công có thể vượt qua Nếu
có thể chèn mã lựa chọn của vào chế độ hạt nhân thì hệ thống này là sẽ bị tổnthương
Windows cung cấp các rào cản đáng kể để chạy mã nhị phân trong hình thức hạtnhân và các đơn vị có đặc quyền thấp khó có thể làm như vậy
Attacking User Mode(tấn công chế độ người dùng)
Nếu có thể xác thực là một người dùng được ủy quyền của window, sẽ có quyềntruy cập vào tất cả các nguồn tài nguyên và dữ liệu liên quan đến người dùng Hơnnữa, nếu có quyền admin, sẽ được tiếp cận với các nguồn tài nguyên và dữ liệucho tất cả người dung trên hệ thống
1.2.2/Vấn đề liên quan đến tài khoản :
Chúng ta luôn nhớ rằng các quy trình phải được liên kết với một tài khoảnngười dùng để truy cập một đối tượng được bảo đảm Phần này sẽ tìm hiểu các
Trang 8loại tài khoản khác nhau trong Windows, vì chúng là nền tảng cho hầu hết cáccuộc tấn công chống lại các điều khiển truy cập.
Windows cung cấp ba loại tài khoản cơ bản, được gọi là security principals:
- Users
- Groups
- Computers
Để tìm hiểu về 3 loại tài khoản trên ta cần biết SID là gì?
SID(Security Identification : mã nhận diện bảo mật)
SID là một số định danh mà hệ thống cấp, là một đối tượng duy nhất cho việc càiđặt hoặc là tên miền trên hệ thống máy tính
Ví dụ khi window được cài đặt, máy tính địa phương tạo ra một SID ngẫu nhiên.Tương tự như vậy, khi một miền Windows được tạo ra, nó được gán một SID duynhất Như vậy, đối với bất kỳ máy tính window hoặc tên miền, các giá trịsubauthority sẽ luôn luôn là duy nhất (trừ khi cố ý giả mạo,nhân bản)
Ví dụ 1 SID: 3141325392-500
S-1-5-21-1527495281-1310999511-Một SID với 1 kí hiệu S, giá trị đầu tiên 1 là số phiên bản, và thứ hai là giá trị
Identifier Authority là thông tin quan trọng nhất trong SID, thường là định danh
của tổ chức phát hành SID Sau đó 4 giá trị subauthority (21 và ba chuỗi dài những con số) và cuối cùng là RID có giá trị 500.
Tuy nhiên, các RID là một giá trị nhất quán trên tất cả các máy tính Một SID với
RID 500 là luôn luôn đúng với tài khoản Administrator trên một máy địa phương RID 501là tài khoản Guest.
User
Khi dùng window sẽ gặp phải những khái niệm tài khoản người dùng và sử dụngtài khoản để đăng nhập vào hệ thống và để truy cập tài nguyên trên hệ thốngmạng Một tài khoản tham chiếu là một bối cảnh mà trong đó các hệ điều hànhthực hiện mã Nói cách khác, tất cả các mã chế độ người dùng thực hiện trong bốicảnh của một tài khoản người dùng Thậm chí một số mã số đó chạy tự động trướckhi bất kỳ ai đăng nhập vào (chẳng hạn như dịch vụ) chạy trong ngữ cảnh của một
Trang 9tài khoản (thường là các hệ thống đặc biệt và toàn năng, hoặc LocalSystem, tàikhoản).
Tất cả các lệnh gọi của người dùng xác thực thành công bằng cách sử dụng tàikhoản thông tin đang chạy với các đặc quyền của người sử dụng đó Do đó, cáchành động được thực hiện bởi mã thực thi được giới hạn bởi các đặc quyền cấpcho các tài khoản đó để thực hiện nó Mục tiêu của hacker là chạy mã với đặcquyền cao nhất có thể Vì vậy, các hacker phải "trở thành" tài khoản với quyền ưuđãi cao nhất có thể
Windows có sẵn tài khoản đã được xác định trước các đặc quyền Các tài khoảnmặc định này bao gồm tài khoản administrator, đây là tài khoản mạnh nhất của tàikhoản người dùng trong Windows Tài khoản Adminítrator có thể thực hiện cáclệnh hệ thống khá dễ dàng Mỗi tài khoản đều được giao 1 SID tương ứng với lĩnhvực từng tài khoản và nó là duy nhất
Domain Admins and Enterprise Admins là những mục tiêu rất hấp dẫn trên một miềnWindows vì thành viên của các group này được toàn năng trên mọi máy trong cácdomain.Tất cả các nhóm khác có đặc quyền rất hạn chế so với Administrators,Domain Admins, or Enterprise Admins Trở thành một local administrator, DomainAdmin hoặc Enterprise Admins ( trực tiếp ảnh hưởng một tài khoản hiện có hoặcbằng cách thêm một tài khoản đã bị xâm nhập vào của các group) đấy hầu như luônluôn là mục tiêu cuối cùng của kẻ tấn công
Computers (Machine Accounts)
Khi một hệ thống Windows tham gia vào một miền, một computer account được
tạo ra
Computer accout cơ bản là tài khoản người dùng được sử dụng bởi các máy để
đăng nhập và truy cập tài nguyên Tên tài khoản gắn thêm một dấu $ với tên của
Trang 10máy (machinename $) Để đăng nhập vào một domain, computer account yêu cầu
mật khẩu Mật khẩu máy tính được quản lý bởi domain controllers
The SAM and Active Directory
Sam là file trong folder "\system32\config\" chứa thông tin về tài khoản và mật
khẩu của các user trên máy (dưới dạng mã hóa) và không thể sao chép, di chuyển,xóa hay mở file này khi Windows đang chạy bất kể người sử dụng logon vào máyvới quyền quản trị hệ thống
Nhưng trong thưc tế có rất nhiều cách để có được file Sam và việc giải mã nó cũngchỉ là vấn đề thời gian
Active Directory là một cơ sở dữ liệu của các tài nguyên trên mạng cũng như cácthông tin liên quan đến các đối tượng đó
AD lưu giữ một danh sách tập trung tên tài khoản người dùng, mật khẩu tương
ứng và các tài khoản máy tính
Cung cấp một Server đóng vai trò chứng thực (authentication server) hoặc Serverquản lý đăng nhập (logon Server), Server này còn gọi là domain controller, duy trì một bảng hướng dẫn hoặc một bảng chỉ mục (index) giúp các máy tínhtrong mạng có thể tìm nhanh một tài nguyên nào đó trên các máy tính khác trongvùng
Cho phép chúng ta tạo ra những tài khoản người dùng với những mức độ quyền(rights) khác nhau như :
Toàn quyền trên hệ thống mạng, chỉ có quyền backup dữ liệu hay shutdownServer từ xa
Cho phép chúng ta chia nhỏ miền của mình ra thành các miền con (subdomain)hay các đơn vị tổ chức OU (Organizational Unit) Sau đó chúng ta có thể ủy quyềncho các quản trị viên bộ phận quản lý từng bộ phận nhỏ
Domain, Domain Tree, Forest
Domain là đơn vị chức năng nòng cốt của cấu trúc logic Active Directory(dịch vụ
quản lý thư mục) Nó là phương tiện để qui định một tập hợp những người dùng,máy tính, tài nguyên chia sẻ có những qui tắc bảo mật giống nhau từ đó giúp choviệc quản lý các truy cập vào các Server dễ dàng hơn
Domain đáp ứng ba chức năng chính sau :
- Đóng vai trò như một khu vực quản trị (administrator boundary) các đối tượng,
là một tập hợp các định nghĩa quản trị cho các đối tượng chia sẻ như : có chungmột cơ sở dữ liệu thư mục, các chính sách bảo mật, các quan hệ uỷ quyền với các domain khác
Trang 11- Giúp chúng ta quản lý bảo mật các tài nguyên chia sẻ.
- Cung cấp các server dự phòng làm chức năng điều khiển vùng (domaincontroller), đồng thời đảm bảo các thông tin trên các server này đựơc đồng bộnhau
Domain Tree là cấu trúc bao gồm nhiều domain được sắp xếp có cấp bậc theo cấu
trúc hình cây Domain tạo ra đầu tiên đựơc gọi là domain root và nằm ở gốc củacây thư mục Tất cả các domain tạo ra sau sẽ nằm bên dưới domain root và đượcgọi là domain con(child domain) Tên của các con phải khác biệt nhau
Khi một domain root và ít nhất một domain con được tạo ra thì hình thành một câydomain Khái niệm này sẽ thường nghe thấy khi làm việc với một dịch vụ thư mục
và có thể thấy cấu trúc sẽ có hình dáng của một cây khi có nhiều nhánh xuất hiện
Forest (rừng) được xây dựng trên một hoặc nhiều Domain Tree, nói cách khác
Forest là tập hợp các Domain Tree có thiết lập quan hệ và ủy quyền cho nhau
Ví dụ giả sử một công ty nào đó, chẳng hạn như Microsoft, thu mua một công tykhác Thông thường, mỗi công ty đều có một hệ thống Domain Tree riêng để tiệnquản lý, các cây này sẽ được hợp nhất với nhau bằng một khái niệm là rừng
Vậy những ảnh hưởng của thỏa hiệp Domain là gi ?
Nếu một domain trong forest bị xâm nhập thì có nghĩa một hacker sẽ thực thi trên
bộ điều khiển domain trong một Internet-facing domain, hoặc một nhân viên bấtmãn đột nhiên quyết định tấn công Domain Admin Ít nhất, mỗi miền khác trongrừng đều có nguy cơ bởi vì domain admin của bất kỳ domain trong forest có khảnăng mất quyền sở hữu và sửa đổi bất kỳ thông tin nơi chứa cấu hình của ActiveDirectory và có thể bị tái tạo thay đổi bất kỳ bộ điều khiển domain trong forest.Ngoài ra, nếu có tài khoản domain bên ngoài được chứng thực trong lĩnh vực bịxâm phạm, những kẻ tấn công có thể thu lượm những thông tin thông qua bộ nhớcache LSA Secrets để mở rộng ảnh hưởng của mình đến domain trong các forestkhác Cuối cùng, nếu các root domain bị xâm phạm, các thành viên có tiềm năngcủa Enterprise Admins or Schema Admins có thể phát huy quyền kiểm soát cáckhía cạnh của domain khác trong 1 forest, trừ khi các nhóm này đã có hạn chế truycập bằng tay
Trang 12CHƯƠNG II: CÁC HÌNH THỨC TẤN CÔNG WINDOW VÀ CÁCH
- Công nghệ
- 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ềukhiển
- Hệ thống phát hiện xâm nhập
- Mạng LAN và giao thức mạng được sử dụng
-Tên miền của mạng LAN
- 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)
- Truy nhập từ xa Tín hiệu/số điện thoại
- Kiểu truy cập từ xa
Trang 13- Kỹ thuật nhận dạ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
- Kỹ thuật truy cập
Kỹ thuật thu thập thông tin mục tiêu rất cần thiết để hệ thống hoá và phương pháphoá nhằm mục đích rằng tất cả các thông tin đã kể trên được xác định rõ ràng Nếuthiếu phương pháp này, bạn dường như đã bỏ qua mục thông tin quan trọng liênquan đến các đặc tính kỹ thuật của mục tiêu Thu thập thông tin mục tiêu thường
là một bước khó khăn khi xác định về thực tế bảo mật của hệ thống Tuy nhiên nóvẫn là một phần quan trọng không thể thiếu được
2.1.1.1/Whois
Nhiều công cụ có thể được sử dụng để tìm dấu chân sự hiện diện trên Internet của
tổ chức, nhưng nhiều nhất, toàn diện và hiệu quả công cụ là whois, tiện ích tiêuchuẩn cho truy vấn đăng ký Internet Nó cung cấp nhiều loại thông tin về Internetcủa tổ chức bao gồm:
- Đăng ký dữ liệu Internet
2.1.1.2/Internet Search Engines(công cụ tìm kiếm trên mạng)
Xác định hệ thống window trong các trang web cụ thể trên Internet là khá dễ dàngbằng cách sử dụng một công cụ tìm kiếm (google) xác định phạm vi hoạt động Mục đầu tiên là xác định phạm vi hoạt động, mức độ thu thập thông tin về mụctiêu Cần phải biết được các thông tin cơ bản của tổ chức hoặc công ty muốn thâmnhập May mắn thay mạng Internet có thể giúp chúng ta một cách hữu hiệu trongviệc thu thập thông tin về mục tiêu, giới hạn phạm vi của nó Khởi điểm của việcthu thập thông tin mục tiêu là xem tổ chức muốn xâm nhập có trang web riêngkhông Thông thường các trang web này cung cấp một số thông tin bổ ích chochú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ủ
Trang 14Cá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 thu thập được
- 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 tinkhô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 sẽ có được thông tin cần thiết đầutiên của mục tiêu
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 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
Trang 15"sống" hay không có thể sử dụng kỹ thuật Ping Scan hay còn gọi với tên là PingSweep Bản chất của quá trình Ping Sweep là gì ? Bản chất của quá trình này làmong đợi một ICMP Reply Gửi một ICMP Echo Request đến máy chủ mà hackerđang muốn tấn công và công cụ có sẵn là sử dụng lệnh ping có sẵn trên Windowshoặc sử dụng những chương trình chuyên dụng sau: Pinger, Friendly Pinger, và
WS Ping Pro , Hping2
Hình 2.1: Ping google thành công
Đa số các firewall thì luôn luôn chặn Ping do vậy việc phòng chống Ping Sweeprất dễ dàng Lý do chặn ICMP ngoài việc chống Ping Sweep vì nếu như cófirewall nào mà chưa chặn thì hacker cũng có thể lợi dụng ICMP để gởi backdoortrên giao thức này
Như vậy, mặc dù Ping Scan vẫn hữu ích cho nhanh chóng nhưng vẫn thực sư chưahiệu quả, cách tốt hơn để xác định máy chủ còn sống là để xác định xem liệu nó cóđang chạy bất kỳ dịch vụ nào hay không, để làm được việc này ta nên sử dụngPort scans
Trang 16Hình 2.2: Cấu tạo 1 gói tinTCP
Các Flag trong gói tin TCP nhằm mục đích sử dụng để Scan Port:
- Thông số SYN để yêu cầu kết nối giữa hai máy tính
- Thông số ACK để trả lời kết nối giữa hai máy có thể bắt đầu được thực hiện
- Thông số FIN để kết thúc quá trình kết nối giữa hai máy
- Thông số RST từ Server để nói cho Client biết rằng giao tiếp này bị cấm(không thể sử dụng)
- Thông số PSH sử dụng kết hợp với thông số URG
- Thông số URG sử dụng để thiết lập độ ưu tiên cho gói tin này
TCP Scan
Trên gói TCP/UDP có 16 bit dành cho Port Number điều đó có nghĩa nó có từ165535 port Không một hacker nào lại scan toàn bộ các port trên hệ thống,chúng chỉ scan những port hay sử dụng nhất thường chỉ sử dụng scan từ port 1 tớiport 1024 mà thôi
Dựa vào các nguyên tắc truyền thông tin của TCP có thể Scan Port nào mở trên hệthống bằng nhưng phương thức sau đây:
- SYN Scan: Khi Client bắn gói SYN với một thông số Port nhất định tớiServer nếu server gửi về gói SYN/ACK thì Client biết Port đó trên Server được
mở Nếu Server gửi về cho Client gói RST/SYN thì biết port đó trên Serverđóng
- FIN Scan: Khi Client chưa có kết nối tới Server nhưng vẫn tạo ra gói FIN với
số port nhất định gửi tới Server cần Scan Nếu Server gửi về gói ACK thìClient biết Server mở port đó, nếu Server gửi về gói RST thì Client biết Serverđóng port đó
Trang 17- NULL Scan Sure: Client sẽ gửi tới Server những gói TCP với số port cầnScan mà không chứa thông số Flag nào, nếu Server gửi lại gói RST thì tôi biếtport đó trên Server bị đóng.
- XMAS Scan Sorry: Client sẽ gửi những gói TCP với số Port nhất định cầnScan chứa nhiều thông số Flag như: FIN, URG, PSH Nếu Server trả về góiRST tôi biết port đó trên Server bị đóng
- TCP Connect: Phương thức này rất thực tế nó gửi đến Server những gói tinyêu cầu kết nối thực tế tới các port cụ thể trên server Nếu server trả về góiSYN/ACK thì Client biết port đó mở, nếu Server gửi về gói RST/ACK Clientbiết port đó trên Server bị đóng
- ACK Scan: dạng Scan này nhằm mục đích tìm những Access Controll Listtrên Server Client cố gắng kết nối tới Server bằng gói ICMP nếu nhận đượcgói tin là Host Unreachable thì client sẽ hiểu port đó trên server đã bị lọc
Có vài dạng Scan cho các dịch vụ điển hình dễ bị tấn công như:
- RPC Scan: Cố gắng kiểm tra xem hệ thống có mở port cho dịch vụ RPCkhông
- Windows Scan tương tự như ACK Scan, nhưng nó có thể chỉ thực hiện trênmột số port nhất định
- FTP Scan: Có thể sử dụng để xem dịch vụ FTP có được sử dụng trên Serverhay không
- IDLE cho phép kiểm tra tình trạng của máy chủ
UDP Scan
Nếu như gói tin truyền bằng TCP để đảm bảo sự toàn vẹn của gói tin sẽ luôn đượctruyền tới đích Gói tin truyền bằng UDP sẽ đáp ứng nhu cầu truyền tải dữ liệunhanh với các gói tin nhỏ Với quá trình thực hiện truyền tin bằng TCP kẻ tấncông dễ dàng Scan được hệ thống đang mở những port nào dựa trên các thông sốFlag trên gói TCP
Trang 18Hình 2.3: Cấu tao gói UDP
Như ta thấy gói UDP không chứa các thông số Flag, cho nên không thể sử dụngcác phương thức Scan port của TCP sử dụng cho UDP được Thật không may hầuhết hệ thống đều cho phép gói ICMP Nếu một port bị đóng, khi Server nhận đượcgói ICMP từ client nó sẽ cố gắng gửi một gói ICMP với nội dung là "unreachable"
về Client Khi thực hiện UDP Scan hãy chuẩn bị tinh thần nhận được các kết quảkhông có độ tin cậy cao
Scan Port với Nmap.
Nmap là một tool scan port rất mạnh và đã nổi danh từ lâu được giới hacker tindùng Nó hỗ trợ toàn bộ các phương thức scan port, ngoài ra nó còn hỗ trợ cácphương thức scan hostname, service chạy trên hệ thống đó
Nmap hiện giờ có cả giao diện đồ hoạ và giao diện command line cho người dùng
Các dạng Scan nmap hỗ trợ.
-Nmap –sT: trong đó chữ s – là Scan, còn chữ T là dạng TCP scan
-Nmap –sU: đó là sử dụng UDP Scan
-Nmap –sP: sử dụng Ping để scan
-Nmap –sF: sử dụng FIN Scan
-Nmap –sX: sử dụng phương thức XMAS Scan
-Nmap –sN: sử dụng phương thức NULL Scan
-Nmap –sV: sử dụng để Scan tên các ứng dụng và version của nó
-Nmap –SR /I RPC sử dụng để scan RPC
Các option cao cấp kết hợp với các dạng Scan trong Nmap.
- O: sử dụng để biết hệ điều hành chạy trên máy chủ ví như ta dùng Nmap sửdụng phương thức scan là XMAS Scan và đoán biết hệ điều hành củawww.vnexperts.net ta dùng câu lệnh:
nmap –sX –o www.vnexperts.net
- P : giải port sử dụng để scan
- F : Chỉ những port trong danh sách scan của Nmap
- V: Sử dụng Scan hai lần nhằm tăng độ tin cậy và hiệu quả của phương thứcscan nào ta sử dụng
- P0: không sử dụng ping để Scan nhằm mục đích giảm thiểu các quá trình quétngăn chặn scan trên các trang web hay máy chủ
Trang 19Ví như muốn Scan trang web www.vnexperts.net bằng phương thức UDP Scan
số port nên sử dụng là từ 11024 và sử dụng hai lần để nâng cao hiệu quả, khiscan sẽ không ping tới trang này:
Nmap –sU –P ‘1-1024’ –V –P0 www.vnexperts.net
Ngoài ra nmap còn hỗ trợ tính năng scan ẩn nhằm tránh những quá trình quéttrên server như sử dụng:
- Ddecoy_host1, decoy2… để sử ẩn quá trình Scan
Ngoài ra nmap còn cho chúng ta những options để output kết quả ra nhiều địnhdạng file khác nhau
Hình 2.4: Dịch vụ Windows TCP / UDP phổ biến Phòng tránh
Xây dựng hệ thống IDS ,IPS, firewall cho hệ thống nhằm phát hiện và ngăn chặnkịp thời khi nhận thấy server hoặc network của mình bị scanning
Kiểm tra và đóng các port , trừ các port cần thiết sử dụng cho việc liên lạc thôngtin
2.1.2.3 /Banner grabbing
Trang 20Là cách xác định thông tin banner có thể được đọc khi kết nối với các dịch vụtrong một cổng quét.
Thông tin Banner có thể tiết lộ các loại phần mềm sử dụng (ví dụ web server làIIS) và có thể là xác định được hệ điều hành
Lấy Banner cũng có thể được thực hiện đối với các port cá nhân sử dụng một công
cụ đơn giản như telnet hoặc netcat
Connection closed by foreign host
Ví dụ trên đây cho ta thấy máy chủ dùng IIS 5.0 như vậy hệ điều hành có thể làwindow 2000
Phòng tránh
Sửa đổi banner để hacker nhận diện sai về hệ thống
Có thể dùng phần mềm chống banner grabbing như Server Mask , IIS Lockdown
2.2
/ Enumeration(điểm danh)
Giả sử việc thực hiện các bước Footprinting và Scanning đều không thành cônghoặc những thông tin thu được không thể đủ để phát động một cuộc tấn công tứcthời nào, hacker sẽ chuyển sang phương pháp định danh các tài khoản người dùnghợp lệ hoặc các tài nguyên dùng chung không được bảo vệ kỹ
Trang 21Enumeration 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 Sự khác biệt chính giữa các kỹ thuật thu thập thông tin Foot Printing,scanning và kỹ thuật enumeration nằm ở cấp xâm nhập của hacker Enumerationliê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ó địnhhướng Phần lớn thông tin thu thập được qua kỹ thuật enumeration thoạt nhìn có
vẻ như vô hại Tuy nhiên, những thông tin rò rĩ từ lỗ hổng theo sau nó có thể gâytai hại Nói chung, sau khi enumeration một tên người dùng hoặc một phần dùngchung hợp lệ, vấn đề còn lại là thời gian trước khi hacker đoán được mật hiệutươ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.Enumeration của chương này sẽ chú trọng vào các vấn đề sau:
- NetBIOS Name Service enumeration
- Server Message Block (SMB) enumeration
- Active Directory Enumeration
NetBIOS là một từ viết tắt cho mạng Basic Input / Output System Nó cung cấp
các dịch vụ liên quan đến lớp phiên của mô hình OSI cho phép các ứng dụng trêncác máy tính riêng để giao tiếp qua một mạng cục bộ Thật sự như mộtAPI(Application programming interface: giao diện lập trình ứng dụng), NetBIOSkhông phải là một giao thức mạng Trong các mạng hiện đại, NetBIOS bìnhthường chạy trên giao thức TCP / IP thông qua NetBIOS qua giao thức TCP / IP(NBT) Điều này dẫn đến từng máy tính trong mạng có cả một tên NetBIOS vàmột địa chỉ IP tương ứng với một (có thể khác nhau) tên máy chủ
NetBIOS name là cơ chế đặt tên cho các tài nguyện trong 1 hệ thống theo “không
gian phẳng” (không có khái niệm phân cấp) Mỗi tài nguyên được mô tả bằng 1chuỗi dài 16 ký tự : 15 ký tự đầu mô tả tên tài nguyên, ký tự thứ 16 mô tả loại tàinguyên
NetBIOS name có 2 cơ chế phân giải tên :
- Phân giải bằng broadcast
- Phân giải qua 1 Name Server: trong hệ thống phải có 1 máy làm Name Server.Các máy còn lại gọi là client Khi client khởi động lên, nó sẽ đăng ký những tàinguyên nó có (các NetBIOS Name) với Name Server Khi cần truy vấn thay vìdùng Broadcast, các client sẽ truy vấn Name Server
Name Services
Trang 22Để bắt đầu phiên hoặc phân phối datagrams, một ứng dụng phải đăng ký NetBIOSname của nó bằng cách sử dụng các name services NetBIOS name là 16 bytechiều dài và khác nhau dựa trên việc thực hiện cụ thể Thường xuyên, các byte 16được sử dụng để chỉ một loại tên duy nhất, tương tự như việc sử dụng các cổngtrong giao thức TCP / IP
Hình 2.5: Các loại window service thường hay bị enumeration
Enumerating Domains with Net View
Net view là một dòng lệnh cực kỳ đơn giản, tiện ích sẽ liệt kê các tên miền có sẵntrên mạng và sau đó đưa ra thông tin tất cả các máy trong miền Đây là cách để liệt
kê các tên miền trên mạng bằng cách sử dụng net view
Vi dụ:
C:\>net view /domain
Domain
-
-CORLEONE
BARZINI_DOMAIN
TATAGGLIA_DOMAIN
BRAZZI
The command completed successfully
Hay liệt kê các máy trong cùng domain:
C:\>net view /domain:corleone
Trang 23Server Name Remark
-
-\\VITO Make him an offer he can't refuse
\\MICHAEL Nothing personal
\\SONNY Badda bing badda boom
\\FREDO I'm smart
\\CONNIE Don't forget the cannoli
Dumping the NetBIOS Name Table with Nbtstat and Nbtscan
Với câu lệnh ntbstat ta có thể gọi bảng NetBIOS Name từ 1 hê thống từ xa, chúngrất nhiều thông tin, như thể hiện ở ví dụ sau:
C:\>nbtstat -A 192.168.202.33
Local Area Connection:
Node IpAddress: [192.168.234.244] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
-CAESARS <00> UNIQUE Registered
VEGAS2 <00> GROUP Registered
VEGAS2 <1C> GROUP Registered
CAESARS <20> UNIQUE Registered
VEGAS2 <1B> UNIQUE Registered
VEGAS2 <1E> GROUP Registered
VEGAS2 <1D> UNIQUE Registered
MSBROWSE .<01> GROUP Registered
MAC Address = 00-01-03-27-93-8F
Các tiện ích nbtstat có hai nhược điểm: nó được giới hạn hoạt động trên một máychủ duy nhất tại một thời gian, và nó có đầu ra khá khó hiểu Cả hai của vấn đềđược giải quyết bởi công cụ miễn phí nbtscan từ Alla Bezroutchko Nbtscan sẽ
"nbtstat" một mạng lưới toàn bộ với tốc độ cao và định dạng đầu ra rõ ràng :
C:\>nbtscan 192.168.234.0/24
Doing NBT name scan for adresses from 192.168.234.0/24
IP address NetBIOS Name Server User MAC address