Tải bản đầy đủ (.doc) (30 trang)

tài liệu tin học - quá trình tấn công hệ thống bảo mật thông tin

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

CHƯƠNG 8: SYSTEM HACKING
Trong các chương trước, chúng ta đã khảo sát qua quá trình thu thập thông tin của mục
tiêu cần tấn công. Những kỹ thuật như Footprinting, Social engineering, Enumeration,
Google Hacking…đã được áp dụng cho mục đích truy tìm thông tin.
Đến chương này, bạn bắt đầu đi vào quá trình tấn công hệ thống thật sự. Mục tiêu của
bạn bây giờ đã lộ rõ trước mắt, bạn phải tiến hành những kỹ thuật khác nhau để làm sao
vào được trong hệ thống đó, thực hiện những việc mà mình mong muốn, như xóa dữ liệu,
chạy chương trình trojan, keylogger…
Quá trình tấn công hệ thống
Trước khi tiếp tục nói về System Hacking chúng ta dành chút
thời gian cho việc tìm hiểu một quá trình tấn công hệ thống.
Mục tiêu phía trước của chúng ta là một hệ thống máy tính. Các
bước để tấn công, đánh sập nó, có thể được liệt kê như hình vẽ
bên cạnh. Nó gồm 6 công đoạn như sau:
1. Enumerate (liệt kê): Trích ra tất cả những thông tin có
thể về user trong hệ thống. Sử dụng phương pháp thăm
dò SNMP để có được những thông tin hữu ích, chính xác
hơn. Bạn đã tìm hiểu về phương pháp SNMP trong phần
trước.
2. Crack: Công đoạn này có lẽ hấp dẫn nhiều hacker nhất.
Bước này yêu cầu chúng ta bẽ khóa mật khẩu đăng nhập
của user. Hoặc bằng một cách nào khác, mục tiêu phải
đạt tới là quyền truy cập vào hệ thống.
3. Escalste (leo thang): Nói cho dễ hiểu là chuyển đổi giới
hạn truy cập từ user binh thường lên admin hoặc user có
quyền cao hơn đủ cho chúng ta tấn công.
4. Execute (thực thi): Thực thi ứng dụng trên hệ thống máy
đích. Chuẩn bị trước malware, keylogger, rootkit…để
chạy nó trên máy tính tấn công.
5. Hide (ẩn file): Những file thực thi, file soucecode chạy chương trình…cần phải
được làm ẩn đi, tránh bị mục tiêu phát hiện tiêu diệt.


Hình 8. 1: Quy trình
tấn công hệ thống
6. Tracks (dấu vết): Tất nhiên không phải là để lại dấu vết. Những thông tin có liên
quan đến bạn cần phải bị xóa sạch, không để lại bất cứ thứ gì. Nếu không khả
năng bạn bị phát hiện là kẻ đột nhập là rất cao.
Trong chương này, bạn sẽ cùng trải qua những công nghệ thực hiện các bước trên để tấn
công hệ thống. Qua đó chúng ta sẽ đưa ra những giải pháp để chống lại tấn công đó. Phần
Enumeration đã được thảo luận trong chương trước, nên sẽ không đề cập trong phần này.
Phần 1: Cracking Passwords
Mật khẩu và các kiểu tấn công mật khẩu
Một vài kiểu password dùng để truy cập vào hệ thống. Các ký tự dùng làm mật khẩu có
thể rơi vào các trường hợp sau.
• Chỉ là chữ cái. VD: ABCDJ
• Chỉ là số. VD: 457895
• Chỉ là những ký tự đặc biệt. VD: #$^@&*
• Chữ cái và số. VD: asw04d5s
• Chỉ là số và ký tự đặc biệt. VD: #$345%4#4
• Chữ cái ,số, và ký tự đặc biệt. VD: P@ssw0rd
Độ mạnh của mật khẩu phụ thuộc vào khả năng nhạy cảm của hacker. Quy tắc sau đây,
đề nghị của Hội đồng EC, phải được áp dụng khi bạn tạo một mật khẩu, để bảo vệ nó
chống lại các cuộc tấn công.
• Không chứa tên tài khoản người dùng
• Ngắn nhất phải 8 ký tự
• Phải chứa các ký tự từ ít nhất ba trong số các loại sau
o Có chứa các ký tự đặc biệt/
o Chứa chữ số.
o Chữ cái viết thường
o Chữ cái viết hoa.
Một hacker dùng các cách tấn công khác nhau để tìm password và tiếp tục truy cập vào
hệ thống. Các kiểu tấn công password thường ở dạng sau:

Hình 8. 2: Các kiểu tấn công mật khẩu
• Passive Online: Nghe trôm sự thay đổi mật khẩu trên mạng. Cuộc tấn công thụ
động trực tuyến bao gồm: sniffing, man-in-the-middle, và replay attacks (tấn công
dựa vào phản hồi)
• Active Online: Đoán trước mật khẩu nguời quản trị. Các cuộc tấn công trực tuyến
bao gồm việc đoán password tự động.
• Offline: Các kiểu tấn công như Dictionary, hybrid, và brute-force.
• Non-Electronic: Các cuộc tấn công dựa vào yếu tố con người như Social
engineering, Phising…
Passive Online Attacks
Một cuộc tấn công thụ động trực tuyến là đánh hơi (sniffing) để tìm các dấu vết, các mật
khẩu trên một mạng. Mật khẩu là bị bắt (capture) trong quá trình xác thực và sau đó có
thể được so sánh với một từ điển (dictionary) hoặc là danh sách từ (word list). Tài khoản
người dùng có mật khẩu thường được băm (hashed) hoặc mã hóa (encrypted) trước khi
gửi lên mạng để ngăn chặn truy cập trái phép và sử dụng. Nếu mật khẩu được bảo vệ
bằng cách trên,một số công cụ đặc biệt giúp hacker có thể phá vỡ các thuật toán mã hóa
mật khẩu.
Active Online Attacks
Cách dễ nhất để đạt được cấp độ truy cập của một quản trị viên hệ thống là phải đoán từ
đơn giản thông qua giả định là các quản trị viên sử dụng một mật khẩu đơn giản. Mật
khẩu đoán là để tấn công. Active Online Attack dựa trên các yếu tố con người tham gia
vào việc tạo ra mật khẩu và cách tấn công này chỉ hữu dụng với những mật khẩu yếu.
Trong chương 6, khi chúng ta thảo luận về các giai đoạn Enumeration, bạn đã học được
những lỗ hổng của NetBIOS Enumeration và Null Session. Giả sử rằng NetBIOS TCP
mở port 139, phương pháp hiệu quả nhất để đột nhập vào Win NT hoặc hệ thống
Windows 2000 là đoán mật khẩu. Cái này được thực hiện bằng cách cố gắng kết nối đến
hệ thống giống như một quản trị viên thực hiện. Tài khoản và mật khẩu được kết hợp để
đăng nhập vào hệ thống.
Một hacker, đầu tiên có thể thử để kết nối với tài nguyên chia sẽ mặc định là Admin$, C$
hoặc C:\Windows. Để kết nối tới các ổ đĩa máy tính, ổ đĩa chia sẻ, gõ lệnh sau đây trong

Start > Run:
\\ ip_address \ c$
Các chương trình tự động có thể nhanh chóng tạo ra file từ điển, danh sách từ, hoặc kết
hợp tất cả có thể có của các chữ cái, số và ký tự đặc biệt và cố gắng để đăng nhập vào.
Hầu hết các hệ thống ngăn chặn kiểu tấn công này bằng cách thiết lập một số lượng tối đa
của các nỗ lực đăng nhập vào một hệ thống trước khi tài khoản bị khóa. (ví dụ khi bạn
đăng nhập vào một trang web mà bạn nhập sai password 5 lần thì tài khoản bạn từ động
bị khóa lại 1 ngày)
Trong các phần sau, chúng ta sẽ thảo luận làm thế nào hacker có thể thực hiện việc tự
động đoán mật khẩu chặt chẽ hơn, cũng như các biện pháp đối phó với các cuộc tấn công
như vậy.
Performing Automated Password Guessing: (Tự Động Đoán Mật Khẩu)
Để tăng tốc độ đoán của mật khẩu, hacker thường dùng công cụ tự động. Một cách có
quá trình, dễ dàng để tự động đoán mật khẩu là sử dụng cửa sổ lệnh dựa trên cú pháp
chuẩn của lệnh NET USE. Để tạo ra một kịch bản đơn giản cho việc đoán mật khẩu tự
động, thực hiện các bước sau đây:
1. Tạo ra một tên người dùng đơn giản và tập tin mật khẩu bằng cách sử dụng các
cửa sổ notepad. Dùng các dòng lệnh để tạo ra danh sách các từ điển. Và sau đó lưu
vào các tập tin vào ổ đĩa C, với tên là credentials.txt
2. Sử dụng lênh FOR
C:\> FOR /F “token=1, 2*” %i in (credentials.txt)
3. Gõ lệnh
net use \\targetIP\IPC$ %i /u: %j
để sử dụng file credentials.txt cố gắng logon vào hệ thống chia sẽ ẩn trên hệ thống mục
tiêu
B ảo V ệ C hống L ại C ác Hoạt Động Đoán M ật K hẩ u
Có hai vấn đề tồn tại là bảo vệ chống lại đoán mật khẩu và tấn công mật khẩu. Cả hai
cách tấn công đều rất thông minh tạo trạng thái bất an khi người dùng tạo mật khẩu riêng
của họ. Một người sử dụng cũng có thể được chứng thực (authenticated) và xác nhận
(validated) bằng cách kiểm tra. Trong đó yêu cầu hai hình thức nhận dạng (chẳng hạn

như các thẻ thông minh (smart card) và mật khẩu) khi xác thực người dùng. Bằng cách
yêu cầu một cái gì đó người dùng có thể có (smart card) và một cái gì đó mà người dùng
biết (mật khẩu) , bảo mật tăng, và không dễ dàng tấn công .
Offline Attacks
Cuộc tấn công Offline được thực hiện tại một vị trí khác hơn là hành động tại máy tính có
chứa mật khẩu hoặc nơi mật khẩu được sử dụng. Cuộc tấn công Offline yêu cầu phần
cứng để truy cập vật lý vào máy tính và sao chép các tập tin mật khẩu từ hệ thống lên
phương tiện di động. Hacker sau đó có file đó và tiếp tục khai thác lỗ hổng bảo mật.
Bảng sau minh họa vài loại hình tấn công offline:
Bng 8.1: Các kiểu tấn công Offline
Type of Attack Characteristics Example Password
Dictionary attack
Nỗ lực để sử dụng mật khẩu từ từ
điển
Administrator
Hybrid attack Thay thế một vài ký tự của mật khẩu Adm1n1strator
Brute-force-attack Thay đổi toàn bộ ký tự của mật khẩu Ms!tr245@F5a
Dictionary Attack là cách tấn công đơn giản và nhanh nhất trong các loại hình tấn công.
Nó được sử dụng để xác định một mật khẩu từ thực tế, và mật khẩu có thể được tìm thấy
trong từ điển. Thông thường nhất, cuộc tấn công sử dụng một tập tin từ điển các từ có
thể, sau đó sử dụng một thuật toán được sử dụng bởi quá trình xác thực. Các hàm băm
(hash) của các từ trong từ điển được so sánh với hàm băm của mật khẩu người dùng đăng
nhập vào, hoặc với các mật khẩu được lưu trữ trong một tập tin trên máy chủ. Dictionary
Attack chỉ làm việc nếu mật khẩu là một thực thể có trong từ điển. Nhưng kiểu tấn công
này có một số hạn chế là nó không thể được sử dụng với các mật khẩu mạnh có chứa số
hoặc ký hiệu khác .
Hybrid Attack là cấp độ tiếp theo của hacker, một nỗ lực nếu mật khẩu không thể được
tìm thấy bằng cách sử dụng Dictionary Attack. Các cuộc tấn công Hybrid bắt đầu với một
tập tin từ điển và thay thế các con số và các ký hiệu cho các ký tự trong mật khẩu. Ví dụ,
nhiều người sử dụng thêm số 1 vào cuối mật khẩu của họ để đáp ứng yêu cầu mật khẩu

mạnh. Hybrid được thiết kế để tìm những loại bất thường trong mật khẩu.
Brute Force Attack là một cuộc tấn công bằng thuật toán brute-force, mà mọi cố gắng
kết hợp có thể có của chữ hoa và chữ thường, chữ cái, số, và biểu tượng. Một cuộc tấn
công bằng thuật toán brute-force là chậm nhất trong ba loại tấn công vì có thể kết hợp
nhiều ký tự trong mật khẩu. Tuy nhiên, cách này có hiệu quả, cần có đủ thời gian và sức
mạnh xử lý tất cả.
Noneelectronic Attacks
Các cuộc tấn công nonelectronicor là cuộc tấn công mà không sử dụng bất kỳ kiến thức
kỹ thuật nào. Loại tấn công có thể bao gồm các kỹ thuật như social engineering,
shoulder surfing, keyboard sniffing, dumpster diving.
Microsoft Authentication
Microsoft đề xuất ra hàng loạt các giao thức thực dành cho hệ điều hành máy khách và
máy chủ, môi trường workstation hoặc domain đều áp dụng được. Những giao thức có
thể kế ra như trong hình, kèm theo là những phiên bản hệ điều hành sử dụng nó.
Mỗi giao thức chứng thực có một cách mã hóa dữ liệu khác nhau, và độ dài mã hóa cũng
khác nhau. Bảng 8.2 dưới đây là bảng thông tin mã hóa dành cho các loại chứng thực cơ
bản.
Hình 8. 3: Các giao thức chứng thực của Microsoft
Bng 8.2:Thông tin chứng thực cơ bn
Giao thức xác thực NTLM
Sử dụng một cơ chế thách thức-đáp ứng (challenge-response) để xác thực người dùng và
máy tính chạy Windows Me hoặc hệ điều hành trước đó, hoặc máy tính chạy Windows
2000 hoặc sau đó mà không phải là một phần của doamin. Một người dùng được thách
thức (challenge) để được cung cấp một số phần thông tin cá nhân duy nhất cho người sử
dụng (response).
Hình 8. 4: Mô hình chứng thực Challenge-Response
Windows Server 2003 hỗ trợ ba phương pháp xác thực theo kiểu challenge- response sau
đây:
1. LAN Manager (LM): Được phát triển bởi IBM và Microsoft để sử dụng trong
OS2 và Windows cho Workgroups (Windows 95, Windows 98 và Windows Me).

Đây là hình thức kém an toàn của xác thực challenge-response vì nó là dễ bị kẽ tấn
công nghe trộm, và máy chủ chứng thực người dùng phải lưu trữ các thông tin
trong LMHash .
2. NTLM version 1: Một hình thức an toàn hơn so với kiểu LM. Nó được sử dụng
để kết nối với máy chủ chạy Windows NT với Service Pack 3 hoặc sớm hơn.
NTLMv1 sử dụng giao thức mã hóa 56-bit. Máy chủ xác thực người dùng với bất
kỳ phiên bản của NTLM nào, việc xác thực phải lưu trữ các thông tin trong một
Hash NT.
3. NTLM version 2: Hình thức an toàn nhất có sẵn trong chứng thực challenge-
response. Phiên bản này bao gồm một kênh an toàn để bảo vệ quá trình xác thực.
Nó được sử dụng để kết nối với máy chủ chạy Windows 2000, Windows XP, và
Windows NT với Service Pack 4 hoặc cao hơn. NTLMv2 sử dụng mã hóa 128-bit
để đảm bảo các giao thức an toàn.
LM Authentication
LM Authentication cung cấp khả năng tương thích với hệ điều hành trước đó, bao gồm
Windows 95, Windows 98 và Windows NT 4.0 Service Pack 3 hoặc sớm hơn. Ngoài ra
còn có các ứng dụng trước đó mà có thể dựa vào cơ chế xác thực này. Tuy nhiên, giao
thức LM là yếu nhất, và dễ dàng nhất để tấn công. Không sử dụng chứng thực LM trong
một môi trường Windows Server 2003. Nâng cấp các máy tính dựa trên giao thức LM để
loại bỏ lỗ hổng bảo mật này.
Storing LM passwords
Lý do chính không sử dụng giao thức LM là khi mật khẩu được tạo ra bởi người sử dụng
và được lưu trữ để sử dụng, mật khẩu được chuyển đổi để LMHash một lần. LMHash
chứa tên người dùng và hash của mật khẩu tương ứng. Hash là một hình thức mã hóa một
chiều. Khi một khách hàng cố gắng để xác thực với chứng thực LM các hash của mật
khẩu được truyền trên mạng. Máy chủ chỉ có thể để xác thực người sử dụng nếu máy chủ
có lưu trữ LMHash .
LMHash có một vài điểm yếu mà làm cho nó dễ bị tấn công hơn Hash NT. Các LMHash
được lưu trữ là các chữ hoa, được giới hạn trong 14 ký tự. Nếu có hiểu biết, kẻ tấn công
có được quyền truy cập vào LMHashes lấy được một số lượng lớn người sử dụng, có khả

năng là kẻ tấn công sẽ giải mã được mật khẩu.
Bng 8.3: Ví dụ về mật khẩu và các LMHashes tương ứng mà có
thể được lưu trữ.
Chú ý rằng với hash của mật khẩu luôn có 14 ký tự, nếu chưa đủ thì ký tự E (mã 16) được
thêm vào sau cùng. Trong quá trình tính toán các hash, mật khẩu ban đầu được chia thành
hai bộ bảy ký tự. Nếu mật khẩu là bảy ký tự hoặc ít hơn, tập thứ hai của bảy ký tự là null.
Điều này dẫn đến các ký E cuối cùng là một giá trị giúp cho kẻ tấn công biết các mật
khẩu ban đầu là ít hơn tám ký tự. Điều này giúp kẽ tấn công giãm bơt thời gian dò tìm
mã.
Vô hiệu hóa mật khẩu LM
Windows Server 2003 cho phép bạn vô hiệu hóa các LMHash để loại bỏ các lỗ hổng
được trình bày ở trên. Tuy nhiên, nếu bạn có client đang chạy Windows 3.1 hoặc bản
phát hành ban đầu của Windows 95 kết nối với một máy tính chạy Windows Server
2003, thì bạn không vô hiệu hóa các LMHash. Tuy nhiên, bạn vẫn có thể vô hiệu hóa
việc sử dụng LMHash trên cơ sở account-by-account bằng cách làm một trong những
điều sau đây:
• Sử dụng mật khẩu với 15 ký tự hoặc dài hơn.
• Kích hoạt các giá trị registry NoLMHash cục bộ trên một máy tính hoặc bằng cách
sử dụng chính sách an ninh.
• Sử dụng các ký tự ALT trong mật khẩu. Ký tự ALT được đưa vào một mật khẩu
bằng cách giữ phím ALT, gõ các phím số, và sau đó thả phím ALT.
NTLM Authentication
Như đã đề cập trước đó, NTLM bao gồm ba phương pháp xác thực challenge-response:
LM, NTLMv1, và NTLMv2. Quá trình xác thực cho tất cả các phương pháp là như nhau,
nhưng chúng khác nhau ở mức độ mã hóa.
Quá trình xác thực
Các bước sau đây chứng tỏ quá trình của một sự kiện xác thực xảy ra khi một client xác
nhận đến domain controller bằng cách sử dụng bất kỳ các giao thức NTLM:
Hình 8. 5: Mô hình chứng thực NTLM
1. Các client và server thương lượng một giao thức xác thực. Điều này được thực

hiện thông qua việc thương lượng nhà cung cấp dịch vụ hổ trợ bảo mật của
Microsoft (Security Support Provider). Client gửi tên người dùng và tên miền tới
domain controller.
2. Domain controller chọn ngẫu nhiên 16 byte để tạo ra một chuỗi ký tự được gọi là
nonce
3. Client mã hóa nonce này với một hash của mật khẩu và gửi nó trở lại domain
controller.
4. Domain controller trả lời hash của mật khẩu từ cơ sở dữ liệu tài khoản bảo mật.
5. Domain controller sử dụng các giá trị băm lấy từ cơ sở dữ liệu tài khoản bảo mật
để mã hóa nonce. Giá trị này được so sánh với giá trị nhận được từ client Nếu các
giá trị phù hợp, client được chứng thực.
Giao thức chứng thực Kerberos
Là một giao thức xác thực mặc định cho Windows Server 2003, Windows 2000 và
Windows XP Professional. Kerberos được thiết kế để được an toàn hơn và khả năng mở
rộng hơn so với NTLM trên mạng lớn. Kerberos cung cấp thêm các lợi ích sau đây:
• Hiệu quả (Efficiency): Khi một máy chủ cần xác thực một client, máy chủ
Kerberos có thể xác nhận các thông tin của client mà không cần phải liên hệ với
domain controller.
• Tự chứng thực (Mutual authentication) Ngoài việc chứng thực cliet
đến server, Kerberos cho phép máy chủ xác thực lẫn nhau.
• Ủy quyền chứng thực (Delegated authentication): Cho phép các
dịch vụ để đóng vai client khi truy cập vào tài nguyên.
• Đơn giản hóa quản lý (TrustKerberos): có thể sử dụng trust giữa các
domain trong cùng một forest và các domain kết nối với một forest.
• Khả năng cộng tác ( Interoperability): Kerberos được dựa trên tiêu
chuẩn Internet Engineering Task Force (IETF) và do đó tương thích với IETF
khác tuân theo lõi Kerberos.
Quy trình xác thực Kerberos
Giao thức Kerberos lấy ý tưởng từ các con chó ba đầu trong thần thoại Hy Lạp. Ba thành
phần của Kerberos là:

1. Các client yêu cầu dịch vụ hoặc chứng thực.
2. Các server lưu trữ các dịch vụ theo yêu cầu của client.
3. Một máy tính có nghĩa là đáng tin cậy của khách hàng và máy chủ (trong trường
hợp này, Windows Server 2003 domain controller chạy dịch vụ Kerberos Key
Distribution Center).
Xác thực Kerberos được dựa trên các gói dữ liệu định dạng đặc biệt được gọi là ticket.
Trong Kerberos, các ticket đi qua mạng thay vì mật khẩu. Truyền ticket thay vì mật khẩu
làm cho quá trình xác thực tăng khả năng chống tấn công.
Kerberos Key Distribution Center
Key Distribution Center (KDC) duy trì một cơ sở dữ liệu các thông tin tài khoản cho tất
cả các hiệu trưởng an ninh (security principals) trong miền. Các KDC lưu trữ một khoá
mật mã chỉ có các nsecurity principals được biết đến. Khóa này được sử dụng để giao
tiếp giữa security principals và KDC, và được biết đến như một chìa khóa dài hạn. Chìa
khóa dài hạn được bắt nguồn từ mật khẩu đăng nhập của người dùng.
Quá trình xác thực Kerberos
Sau đây là mô tả một phiên giao dịch (giản lược) của Kerberos. Trong đó: AS = Máy chủ
chứng thực (authentication server), TGS = Máy chủ cấp vé (ticket granting server), SS =
Máy chủ dịch vụ (service server).
Một cách vắn tắt: người sử dụng chứng thực mình với máy chủ chứng thực AS, sau đó
chứng minh với máy chủ cấp vé TGS rằng mình đã được chứng thực để nhận vé, cuối
cùng chứng minh với máy chủ dịch vụ SS rằng mình đã được chấp thuận để sử dụng dịch
vụ.
Hình 8. 6: Mô t vắn tắt quy trình chứng thực Kerberos
1. Người sử dụng nhập tên và mật khẩu tại máy tính của mình (máy khách).
2. Phần mềm máy khách thực hiện hàm băm một chiều trên mật khẩu nhận được. Kết
quả sẽ được dùng làm khóa bí mật của người sử dụng.
3. Phần mềm máy khách gửi một gói tin (không gửi mật mã hóa) tới máy chủ dịch vụ
AS để yêu cầu dịch vụ. Nội dung của gói tin đại ý: “người dùng XYZ muốn sử
dụng dịch vụ”. Cần chú ý là cả khóa bí mật lẫn mật khẩu đều không được gửi tới
AS.

4. AS kiểm tra nhân dạng của người yêu cầu có nằm trong cơ sở dữ liệu của mình
không. Nếu có thì AS gửi 2 gói tin sau tới người sử dụng:
o Gói tin A: “Khóa phiên TGS/client” được mật mã hóa với khóa bí mật của
người sử dụng.
o Gói tin B: “Chấp Thuận Vé” (bao gồm chỉ danh người sử dụng (ID), địa chỉ
mạng của người sử dụng, thời hạn của vé và “Khóa phiên TGS/client”) được
mật mã hóa với khóa bí mật của TGS.
5. Khi nhận được 2 gói tin trên, phần mềm máy khách giải mã gói tin A để có khóa
phiên với TGS. (Người sử dụng không thể giải mã được gói tin B vì nó được mã
hóa với khóa bí mật của TGS). Tại thời điểm này, người dùng có thể xác thực
mình với TGS.
6. Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tới TGS:
o Gói tin C: Bao gồm “Vé chấp thuận” từ gói tin B và chỉ danh (ID) của yêu
cầu dịch vụ.
o Gói tin D: Phần nhận thực (bao gồm chỉ danh người sử dụng và thời điểm
yêu cầu), mật mã hóa với “Khóa phiên TGS/máy khách”.
7. Khi nhận được 2 gói tin C và D, TGS giải mã D rồi gửi 2 gói tin sau tới người sử
dụng:
o Gói tin E: “Vé” (bao gồm chỉ danh người sử dụng, địa chỉ mạng người sử
dụng, thời hạn sử dụng và “Khóa phiên máy chủ/máy khách”) mật mã hóa
với khóa bí mật của máy chủ cung cấp dịch vụ.
o Gói tin F: “Khóa phiên máy chủ/máy khách” mật mã hóa với “Khóa phiên
TGS/máy khách”.
8. Khi nhận được 2 gói tin E và F, người sử dụng đã có đủ thông tin để xác thực với
máy chủ cung cấp dịch vụ SS. Máy khách gửi tới SS 2 gói tin:
o Gói tin E thu được từ bước trước (trong đó có “Khóa phiên máy chủ/máy
khách” mật mã hóa với khóa bí mật của SS).
o Gói tin G: phần nhận thực mới, bao gồm chỉ danh người sử dụng, thời điểm
yêu cầu và được mật mã hóa với “Khóa phiên máy chủ/máy khách”.
9. SS giải mã “Vé” bằng khóa bí mật của mình và gửi gói tin sau tới người sử dụng

để xác nhận định danh của mình và khẳng định sự đồng ý cung cấp dịch vụ:
o Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng thêm 1, mật mã
hóa với “Khóa phiên máy chủ/máy khách”.
10.Máy khách giải mã gói tin xác nhận và kiểm tra thời gian có được cập nhật chính
xác. Nếu đúng thì người sử dụng có thể tin tưởng vào máy chủ SS và bắt đầu gửi
yêu cầu sử dụng dịch vụ.
11.Máy chủ cung cấp dịch vụ cho người sử dụng.
Kỹ Thuật Crack Password
Công Nghệ Crack Password
Có rất nhiều hacker nỗ lực trong việc bẻ khóa password. Passwords là chiếc chìa khóa,
thông tin cần thiết để truy cập hệ thống. User, khi mà họ tạo ra password thường là những
password khó đoán. Nhiều password được tái sử dụng hoặc chọn một ký tự, hoặc là một
tên nào đó giúp họ dễ nhớ nó. Bởi vì yếu tố con người nên đã có rất nhiều password được
bẻ gãy thành công. Nó là điểm mấu chốt của quá trình leo thang, thực thi ứng dụng, ẩn
file, và che dấu thông tin. Password có thể được bẻ thủ công hoặc tìm trong từ điển.
Crack password thủ công liên quan đến việc cố gắng đăng nhập với một password
khác. Các bước mà hacker tiến hành:
1. Tìm tài khoản người dùng (có thể là tài khoản administractor hoặc khách)
2. Tạo ra một danh sách các mật khẩu có thể
3. Xếp hạng các mật khẩu có xác xuất từ cao xuống thấp
4. Mức độ quan trọng của mật khẩu.
5. Cố gắng làm đi làm lại cho đến khi nào bẻ password thành công
Hình 8. 7: Các bước cack password thủ công
Một hacker cố gắng tạo ra tập tin kịch bản với mỗi password trong danh sách. Nhưng
đây chỉ là cách thủ công, nó thường tốn nhiều thời gian và không hiệu quả. Để tăng
hiệu quả, hacker có thể sử dụng những công cụ hổ trợ cho việc truy tìm mật khẩu một
cách tự động.
Một cách hiệu quả hơn để phá mật khẩu là truy cập vào các tập tin mật khẩu trên hệ
thống. Hầu hết các mật khẩu được mã hóa để lưu trữ trong hệ thống. Trong lúc đăng
nhập vào hệ thống, password do người dùng nhập vào thường được mã hóa bằng các

thuật toán và sau đó so sánh với password được lưu trong file. Một hacker có thể cố
gắng truy cập vào server để lấy file, bằng các thuật toán thay vì cố gắng đoán hoặc
nếu không xác định được password. Nếu hacker thành công, họ có thể giải mã
password lưu trữ trên server.
Mật khẩu được lưu trong file SAM trên Windows và trong file
Shadow trên Linux
Hacking Tools
Giới thiệu một số phần mềm dò tìm password.
Hacker có thể tự động đoán mật khẩu trong các phiên bản của NetBIOS. Hacker quét qua
nhiều địa chỉ IP trên các hệ thống chia sẽ và thường tấn công bằng các công cụ thủ công.
NTInfoScan là một máy quét an ninh. Quét tất cả các lỗ hỗng tạo ra một báo cáo dựa vào
các vấn đề an ninh được tìm thấy trên máy đích và một số thông tin khác.
LophtCrack là phần mềm khôi phục mật khẩu và các gói phần mềm được phân phối bởi
công ty @stake software, nhưng bây giờ đã thuộc sở hữu của Symantec. Đây là phần
mềm chặn các gói tin trên mạng và nắm bắt các phiên đăng nhập cá nhân. LophtCrack
chứa từ điển hành động và khả năng tấn công lại.
John the ripper là một công cụ dòng lệnh được thiết kế để crack mật khẩu cả Unix và
NT. Các mật khẩu phân biệt trường hợp dạng chữ và có thể không thành công cho mật
khẩu hỗn hợp.
Kerbcrack bao gồm hai chương trình: kerbsniff và kerbcrack sniffer. Việc lắng nghe
kết nối với internet và bắt giữ phiên đăng nhập trong Windows 2000/XP, sử dụng thuật
toán Kerberos. Soft này có thể được sử dụng để tìm các mật khẩu từ các tập tin bắt bằng
cách tấn công vào hệ thống.
Bẻ Khóa Password Windows 2000
Tài khoản được lưu trong file gồm usernames và password đã mã hóa. Nó nằm ở vị trí theo
đường dẫn: Windows\system32\config. Đây là file đã khóa, khi hệ thống đang chạy. Hacker
không thể sao chép file khi hệ thống đang khởi động. Một lựa chọn cho việc sao chép tập tin này
là khởi động từ dos hoặc trong linux thì khởi động từ CD, hoặc sao chép từ thư mục repair.
Nếu một quản trị viên hệ thống sử dụng các tính năng RDISK của Windows để sao lưu hệ
thống, sau đó một bản sao của tập tin nén được gọi là SAM._ được tạo ra trong

C:\windows\repair. Để mở file, bạn sử dụng lệnh sau tại dấu nhắc lệnh.
C:>expand sam._sam
Sau đó tập tin không còn được nén, các kiểu tấn công dictionary, hybrid, or brute-force có thể
được áp dụng để khai thác file SAM.
Hacking Tools
Win32CreateLocalAdminUser: là chương trình tạo người dùng mới với username và
password là X và thêm người dùng vào nhóm quản trị viên. Phần mềm này là một dự án
của Metasploits và có thể đưa vào thư viện netframwork của window.
Offline NT Password Resetter là phương thức đặt lại password của người quản trị hệ
thống khi hệ thống không khởi động được window. Đa số các phương pháp khởi động hệ
điều hành linux bằng CD với phân vùng là NTFS mà hệ điều hành không có password
bảo vệ, nên có thể thay đổi password .
Kỹ Thuật Tấn Công Chuyển Hướng
Một hướng khác để khám phá mật khẩu trên mạng là chuyển hướng đăng nhập của máy
chủ, làm chặn gửi tin nhắn đến máy khách, mà gửi password đến cho hacker. Để làm
được điều này hacker phải gửi những phản hồi xác thực từ server và lừa nạn nhân vào
cửa sổ xác thực của kẻ tấn công. Một kỹ thuật phổ biến là gửi đến nạn nhân một email
với một liên kết lừa đảo, khi liên kết được click, thì người dùng vô tìn đã gửi thông tin
của họ qua mạng.
Chuyển hướng SMB (Server Message Block)
Một số phần mềm có thể tự động thực hiện chuyển hướng.
SMBRelay là phần mềm có thể capture lại tên đăng nhập và mật khẩu mã hóa. Đây có
thể gọi là phần mềm trung gian của kẻ tấn công.
SMBRelay2 là phần mềm giống SMBRelay nhưng dùng tên NetBIOS của địa chỉ IP để
ghi lại tên đăng nhập và mật khẩu.
pwdump2 là chương trình ghi lại chính xác mật khẩu đã mã hóa ở trong file của hệ thông
window. Mật khẩu chính xác có thể chạy cùng với chương trình bẻ password Lophtcrack.
samdump là một chương trình để giải mã mật khẩu đã mã hóa từ một tập tin SAM.
c2MYAZZ là một chương trình phần mềm gián điệp làm cho các cửa sổ khách
hàng gửi mật khẩu dưới dạng văn bản rõ ràng. Nó sẽ hiển thị tên người dùng và mật

khẩu của họ như là người sử dụng gắn với tài nguyên máy chủ .
Tấn Công SMB Relay MITM & Biện Pháp Đối Phó
Tấn Công SMB Relay MITM là khi kẻ tấn công cài đặt lừa máy chủ với địa chỉ nào đó
(Relay Address). Khi client là nạn nhân (victim client) kết nối tới máy chủ lừa đảo, các
MITM server chặn phiên lại, mã hóa password, và chuyển kết nối tới máy chủ nạn nhân.
Hình 8. 8: SMB relay MITM attack
Biện pháp đối phó bao gồm các cấu hình trong windows 2000 dùng SMB. Để mã hóa khối
thông tin liên lạc. Thiết lập này được tìm thấy trong đường dẫn Security Policies/Security
Options.
Hacking Tools
SMBGrind là phần mềm làm tăng tốc độ làm việc bằng cách loại bỏ bớt các trùng lắp và
cung cấp các tiện ích cho người sử dụng mà người dùng không cần chỉnh sửa bằng cách
thủ công
SMBDie là công cụ xử lý sự cố máy tính chạy window 2000/xp/NT bằng cách gửi các
yêu cầu thiết kế đặc biệt SMB.
NBTdeputy là một chương trình có thể đăng ký một tên máy tính NetBIOS trên mạng và
ứng phó với NetBIOS thông qua yêu cầu TCP IP. Tên truy vấn của nó được đơn giản
hoá. Giúp việc sử dụng các SMBRelay có thể được gọi bằng tên máy tính thay vì địa chỉ
ip.
Tấn Công NetBIOS Dos
Tấn công NetBIOS Denial of Service (DoS) bằng cách gửi bản tin NetBIOS Name Release đến
dịch vụ NetBIOS Name Service trên hệ thống mục tiêu chạy hệ điều hành Windows và ngay lập
tức hệ thống quá tải, không đáp ứng được các yêu cầu người dùng nữa.
Là cách tấn công bằng cách gửi các thông điệp từ chối mày chủ. Các công cụ của máy có thể đặt
tên lại cho cuoc tấn công . Do đó cuộc tấn công chủ yểu từ phía mày khách hàng .Tạo ra một
mạng lưới tấn công dos rộng lớn .
Hacking Tools
NBName là công cụ có thể disable toàn bộ mạng LAN và ngăn chặn các máy trong hệ thống của
chúng. Các nút trên một mạng Net-BIOS bị nhiễm, mà chúng lại cùng trên môi trường mạng nên
chúng nghĩ rằng tên của chúng đã sẵn sàng sử dụng bởi một máy tính khác.

Biện Pháp Đối Phó Với Crack Password
1. Password quan trọng nhất là phải thực hiện nhiệm vụ bảo vệ. Password phải bao
gồm từ 8-12 ký tự hoặc chữ số. Độ dài của mật khẩu đã được bàn tới ở phần trước.
2. Để bảo vệ các thuật toán mã hóa cho các mật khẩu được lưu trữ trên máy chủ, bạn
phải có cơ thể cô lập và bảo vệ máy chủ. Người quản trị hệ thống có thể sử dụng
tiện ích Syskey trong các cửa sổ để bảo vệ mật khẩu được lưu trữ trên ổ cứng máy
chủ.
Nhật ký máy chủ cũng nên được theo dõi cho các cuộc tấn công brute-force trên
các tài khoản người dùng.
3. Một viên quản trị hệ thống có thể thực hiện các biện pháp phòng ngừa bảo mật sau
để giảm những rủi do cho mật khẩu của người quản trị cũng như người dùng.
o Đừng bao giờ để một password mặc định
o Đừng bào giờ dùng password ở trong từ điển
o Không nên dùng password liên quan tới tên host ,tên miền ,hoặc bất kỳ cái
gì mà hacker dễ đoán được.
o Không nên dùng password liên quan tới ngày kỳ nghỉ của bạn, vật nuôi,
thân nhân hoặc ngày sinh nhật.
o Dùng một từ có nhiều hơn 21 ký tự trong từ điển để làm password.
Thời Hạn Mật Khẩu
Khi mật khẩu đã hết hạn sau một khoảng thời gian thì buộc người dùng phải thay đổi mật khẩu.
Nếu mật khẩu được thiết lập thời hạn quá ngắn, có thể là người dùng sẽ quên mật khẩu hiện tại,
kết quả là người quản trị hệ thống sẽ phải thiết lập lại password thường xuyên. Một trường hợp
khác là nếu password cho phép người dùng thiết lập thời hạn quá dài thì mức độ an toàn sẽ bị tổn
thương. Một lời đề nghị là password nên thay đổi trong khoảng 30 ngày. Ngoài ra, cũng đề nghị
là không cho phép người dùng dùng lại password đó 3 lần.
Theo Dõi Người Dùng Đăng Nhập Vào Hệ Thống
Người quản trị hệ thống phải theo dõi toàn bộ sự thâm nhập hệ thống của hacker, trước
khi mà họ xâm nhập hoặc là họ đang xâm nhập. Nói chung, vài lần thất bại sẽ được lưu
lại trong hệ thống, trước khi một cuộc tấn công xâm nhập thành công hay phá được mật
khẩu. Nhật ký sự an toàn tốt đến mức nào là do người quản trị hệ thống, người phải theo

dõi quá trình đăng nhập. Công cụ tìm kiếm VisuaLast hỗ trợ người người quản trị mạng
giải mã và phân tích trong file được mã hóa an toàn. Visualast cung cấp một cái nhìn toàn
bộ giúp người quản trị có cái nhìn toàn bộ và đánh giá chính xác, hiệu quả. Chương trình
cho phép người quản trị xem và báo cáo cá nhân về quá trình đăng nhập và đăng xuất. Nó
ghi lại sự kiện chính xác trên từng trang, và là tài liệu vô giá cho các nhà phân tích an
ninh.
Sự kiên này được lưu theo đường dẫn c:\windows\system32\config\sec.evt. Đây là đường
dẫn chứa dấu vết của kẻ tấn công.
Phần 2: Escalating Privileges
Escalating Privileges (Kỹ Thuật Leo Thang Đặc Quyền)
Leo thang đặc quyền là bước thứ ba trong chu trình Hacking System, leo thang đặc
quyền về cơ bản có nghĩa là thêm nhiều quyền hơn hoặc cho phép một tài khoản người
dùng thêm quyền, leo thang đặc quyền làm cho một tài khoản người dùng có quyền như
là tài khoản quản trị.
Nói chung, các tài khoản quản trị viên có yêu cầu mật khẩu nghiêm ngặt hơn, và mật
khẩu của họ được bảo vệ chặt chẽ hơn. Nếu không thể tìm thấy một tên người dùng và
mật khẩu của một tài khoản với quyền quản trị viên, một hacker có thể chọn sử dụng một
tài khoản với quyền thấp hơn. Tại trường hợp này, các hacker sau đó phải leo thang đặc
quyền để có nhiều quyền như quyền của quản trị.
Cái này được thực hiện bằng cách nắm lấy quyền truy cập bằng cách sử dụng một tài
khoản người dùng không phải là quản trị viên. Thường bằng cách thu thập các tên người
dùng và mật khẩu thông qua một bước trung gian để gia tăng các đặc quyền trên tài
khoản với mức độ quản trị viên.
Một khi hacker đã có một tài khoản người dùng hợp lệ và mật khẩu, các bước tiếp theo là
để thực thi các ứng dụng nói chung hacker cần phải có một tài khoản có quyền truy cập
cấp quản trị viên để cài đặt chương trình. Đó là lý do tại sao leo thang đặc quyền là rất
quan trọng. Trong các phần kế tiếp , chúng tôi sẽ xem những gì hacker có thể làm với hệ
thống của bạn một khi họ có quyền quản trị.
Hacking Tools
Getadmin.exe là một chương trình nhỏ nó có thể thêm một người dùng vào nhóm Local

Administrator. Một vài kernel NT cấp thấp, thường xuyên truy cập để cho phép quá trình
chạy. Một đăng nhập vào giao diện điều khiển máy chủ là cần thiết để thực hiện chương
trình. Getadmin.exe được chạy từ dòng lệnh và chỉ hoạt động trên Win NT 4.0 Service
Pack 3.
Tiện ích HK.exe để lộ ra kẽ hở trong giao thức gọi hàm cục bộ (Local Procedure Call)
của Windows NT. Một người dùng có thể là không phải người quản trì có thể leo thang
vào nhóm quản trị viên bằng cách sử dụng công cụ này.
Phần 3: Executing Applications
Một khi hacker đã có thể truy cập tài khoản với quyền quản trị, điều tiếp theo cần làm là
thực thi các ứng dụng trên hệ thống đích. Mục đích của việc thực thi ứng dụng có thể cài
đặt một cửa sau trên hệ thống, cài đặt một keylogger để thu thập thông tin bí mật, sao
chép các tập tin, hoặc chỉ gây thiệt hại cơ bản cho hệ thống, bất cứ điều gì hacker muốn
làm trên hệ thống.
Một khi hacker có thể thực thi các ứng dụng, hệ thống phụ thuộc vào sự kiểm soát của
hacker.
Hacking tools
PsExec là một chương trình kết nối vào và thực thi các tập tin trên hệ thống từ xa. Phần
mềm không cần phải được cài đặt trên hệ thống từ xa.
Remoxec thực thi một chương trình bằng cách sử dụng dịch vụ RPC (Task Scheduler)
hoặc WMI (Windows Management Instrumentation). Administrators với mật khẩu rỗng
hay yếu có thể khai thác thông qua lịch trình công việc (Task Scheduler - 1025/tcp) hoặc
chế độ phân phối thành phần đối tượng (Distributed Component Object Mode; 135/tcp).
1. Buffer Overflows
Hacker cố gắng khai thác một lỗ hổng trong mã ứng dụng (Application). Về bản chất,
cuộc tấn công tràn bộ đệm gửi quá nhiều thông tin cho một biến nào đó trong ứng dụng,
có thể gây ra lỗi ứng dụng. Hầu hết các lần, ứng dụng không biết hành động tiếp theo bởi
vì nó được ghi đè bằng các dữ liệu bị tràn. Vì thế nó hoặc thực thi các lệnh trong các dữ
liệu bị tràn hoặc giảm trong một dấu nhắc lệnh để cho phép người dùng nhập lệnh tiếp
theo này. Dấu nhắc lệnh (command prompt hoặc shell) là chìa khóa cho hacker có thể
được sử dụng để thực thi các ứng dụng khác.

Chuyên đề về Buffer Overflows sẽ được thảo luận chi tiết
trong chương 19: Buffer Overflows
Rootkits
RootKits: phần mềm dán điệp
Rootkit là một loại chương trình thường được sử dụng để che dấu các tiện ích trên hệ
thống bị xâm nhập. Rootkit bao gồm cái gọi là back doors, nó giúp cho kẻ tấn công đó
truy cập vào hệ thống sẽ dễ dàng hơn trong lần sau. Ví dụ, các rootkit có thể ẩn một ứng
dụng, ứng dụng này có thể sinh ra một lệnh kết nối vào một cổng mạng cụ thể trên hệ
thống. Back door cho phép các quá trình bắt đầu bởi một người không có đặc quyên,
dùng để thực hiện chức năng thường dành cho các quản trị viên. Rootkit thường xuyên
được sử dụng để cho phép lập trình viên ra rootkit có thể xem và truy cập vào tên người
dùng và thông tin đăng nhập trên các trang site có yêu cầu họ.
Khái niệm Site ở đây không phải là website, mà là một miền
(domain) trong hệ thống các máy tính.
Một số loại rootkit thường gặp:
Kernel-level rootkits: Rootkit ở cấp độ Kernel thường thêm hoặc thay thế một vài thành
phần của nhân hệ thống, thay bằng mã được sửa đổi để giúp che giấu một chương trình
trên hệ thống máy tính. Điều này thường được thực hiện bằng cách thêm mã mới cho
nhân hệ thống thông qua một thiết bị ổ đĩa có khả năng nạp mô-đun, chẳng hạn như các
kernel mô-đun có thể nạp được trong linux hoặc các thiết bị điều khiển trong Microsoft
Windows. Rootkit đặc biệt nguy hiểm bởi vì nó có thể khó phát hiện mà không có phần
mềm phù hợp.
Library-level rootkits: Rootkit ở cấp độ thư viện thường chắp vá, sữa chữa, hoặc thay
thế hệ thống. Một số phiên bản có thể giấu thông tin tùy theo mục đích của hacker.
Application-level rootkits: Rootkit ở cấp ứng dụng thì có thể thay thế những chương
trình ứng dụng giống trojan độc hại, hoặc họ có thể thay đổi hành vi của các ứng dụng
hiện có bằng cách sử dụng các móc (hook), các bản vá lỗi (patch), mã độc hại (injected
code), hoặc các phương tiện khác.
Trong các phần sau sẽ thảo luận quá trình lây nhiễm của rootkit cho một hệ thống .
Triển khai Rootkits trên Windows 2000 & XP

Trong hệ điều hành Window NT/2000 thì rookit được xây dựng như một trình điều khiển
ở chế độ kernel của driver, có thể được tự động nạp trong chế độ runtime. Rootkit có thể
chạy với đặc quyền hệ thống (system privileges ) trong NT Kernel. Do đó, nó đã truy cập
vào tất cả các nguồn tài nguyên của hệ điều hành. Các rootkit cũng có thể ẩn các quy
trình, ẩn các tập tin, ẩn các mục đăng ký, tổ hợp phím tắt trên hệ thống, giao diện điều
khiển, phát hành gián đoạn từng bước để gây ra một màn hình màu xanh của sự chết chốc
(death) và chuyển các tập tin EXE.
Rootkit này có chứa một trình điều khiển hoạt động ở chế độ kernel (kernel mode device
driver) có tên gọi là _root_.sys và khởi chạy chương trình có tên là DEPLOY.EXE. Sau
khi đạt được quyền truy cập vào hệ thống, chúng copy file -root sys và DEPLOY.EXE
thành nhiều file vào hệ thống và thực thi file DEPLOY.EXE. Sau đó sẽ cài đặt trình điều
khiển thiết bị rootkit và kẻ tấn công bắt đầu xóa DEPLOY.EXE từ các máy tính mục tiêu.
Những kẻ tấn công sau đó có thể dừng lại và khởi động lại các rootkit bằng cách sử dụng
lệnh net stop _root_and _root_ và các tập tin _root_.sys không còn xuất hiện trong danh
sách thư mục. Rootkit chặn không cho hệ thống gọi tập tin trong danh sách và giấu tất cả
các file bắt đầu với _root_ .
Trong hệ điều hành, có hai chế độ hoạt động là usermode và
kernel mode. Với Kernel mode, các trình ứng dụng có toàn
quyền truy cập vùng nhớ của RAM, các chỉ lệnh CPU…nói chung
là toàn quyền.
Rootkit được nhúng vào giao thức TCP/IP
Một tính năng mới của rootkit trong window NT/2000 là nó hoạt động bằng cách xác
định tình trạng kết nối dựa trên các dữ liệu trong gói dữ liệu đến (incoming). Rootkit có
một địa chỉ IP cố định mà nó sẽ trả lời. Rootkit sử dụng các kết nối Ethernet qua hệ thống
card mạng, vì thế nó rất mạnh mẽ. Một hacker có thể kêt nối đến port bất kỳ trên hệ
thống. Ngoài ra, nó cho phép nhiều người có thể đăng nhập cùng một lúc.
Phòng chống Rootkit
Tất cả các rootkit truy cập hệ thống đích có quyền giống như quản trị viên
(administrator), do đó, bảo mật mật khẩu là rất quan trọng. Nếu bạn phát hiện một
rootkit, lời khuyên rằng bạn nên sao lưu dữ liệu quan trọng và cài đặt lại hệ điều hành và

các ứng dụng từ một nguồn đáng tin cậy. Các quản trị viên cũng nên giữ sẵn một nguồn
đáng tin cậy để cài đặt và phục hồi tự động.
Biện pháp đối phó khác là sử dụng thuật toán mã hóa MD5, checksum MD5 của một tập
tin là một giá trị 128-bit, nó giống như là dấu vân tay tập tin. Thuật toán này được thiết
kế để phát hiện sự thay đổi, ngay cả một chút trong tập tin dữ liệu, để kiểm tra các
nguyên nhân khác nhau. Thuật toán này có tính năng rất hữu ích để so sánh các tập tin và
đảm bảo tính toàn vẹn của nó. Một tính năng hay là kiểm tra chiều dài cố định, bất kể
kích thước của tập tin nguồn là như thế nào.
Việc tổng kiểm tra MD5 đảm bảo một file đã không thay đổi này có thể hữu ích trong
việc kiểm tra tính toàn vẹn file nếu rootkit đã được tìm thấy trên hệ thống. Các công cụ
như Tripwire được thực hiện để kiểm tra MD5, để xác định các tập tin có bị ảnh hưởng
bởi rootkit hay không.
Countermeasure Tools
Tripwire là một chương trình kiểm tra tính toàn vẹn hệ thống tập tin hệ điều hành Unix,
Linux, thêm vào kiểm tra mật mã một hoặc nhiều nội dung trong mỗi thư mục và tập tin.
Tripwire có cơ sở dữ liệu chứa thông tin cũng cho phép bạn xác minh, cho phép truy cập
và cài đặt chế độ tập tin, tên người dùng chủ sở hữu tập tin, ngày tháng và thời gian tập
tin đã được truy cập lần cuối, và sửa đổi cuối.
Keyloggers and Other Spyware
Nếu tất cả những nỗ lực để thu thập mật khẩu không thành công, thì keylogger là công cụ
lựa chọn cho các hacker. Được thực hiện như là phần mềm được cài đặt trên máy tính
hoặc là phần cứng gắn vào máy tính. Keylogger là các phần mềm ẩn, ngồi giữa phần
cứng (bàn phím) và hệ điều hành, để họ có thể ghi lại mọi phím tắt. Keylogger phần mềm
có thể phá hoại hệ thống như Trojans hoặc viruses.
Keylogger là phần mềm gián điệp có dung lượng nhỏ, giúp kết nối các bàn phím máy
tính và lưu tất cả các thao tác phím vào một file. Hacker có thể cài thêm tính năng là tự
động gửi nội dung file đó đến máy chủ của hacker.
Đối vối kiểu keylogger cứng, có một thiết bị, giống usb, được gắn vào máy tính. Quá
trình thao tác phím được ghi lại trong usb đó. Để làm được điều này thì một hacker phải
có quyền truy cập vật lý vào hệ thống.

Keylogger cứng thường được cài ở các điềm internet công cộng
có ý đồ xấu. Do đó khi truy cập net tại nơi công cộng, bạn
nên quan sát kỹ lưỡng các thiết bị bất thường được cấm vào
máy tính.
Hacking Tools
Spector là phần mềm gián điệp ghi lại mọi điều từ hệ thống nào đó trên mạng Internet,
giống như một camera giám sát tự động. Spector có hàng trăm bức ảnh chụp mỗi giờ của
bất cứ thứ gì trên màn hình máy tính và lưu những bức ảnh chụp ở một vị trí ẩn trên ổ đĩa
cứng của hệ thống. Spector có thể được phát hiện và loại bỏ bở phần mềm chống Spector.
eBlaster là phần mềm gián điệp internet để chụp các email gửi đến và gửi đi, và ngay lập
tức chuyển chúng đến một địa chỉ email. Eblaster cũng có thể chụp cả hai mặt của một
cuộc hội thoại nhắn tin tức thời (Instant Messenger), thực hiện tổ hợp phím đăng nhập và
các trang web truy cập thường xuyên.
Spyanywhere là một công cụ cho phép bạn xem các hoạt động hệ thống và hành động
của người sử dụng, tắt/khởi động lại máy, khóa/đóng băng, và ngay cả trình duyệt gỡ bỏ
tập tin hệ thống. Spyanywhere cho phép bạn kiểm soát chương trình mở và đóng cửa sổ
trên hệ thống từ xa và xem lịch sử internet và các thông tin liên quan.
Kkeylogger là một phần mềm gián điệp hiệu suất cao, trình điều khiển thiết bị ảo, chạy
âm thầm ở mức thấp nhất của hệ điều hành Windows 95/98/ME. Tất cả các tổ hợp phím
được ghi lại trong một tập tin.
Email keylogger là phần mềm ghi lại tất cả các email được gửi và nhận trên một hệ
thống. Mục tiêu các hacker là có thể xem người gửi, người nhận, chủ đề, và thời
gian/ngày…. nội dung email và bất kỳ file đính kèm cũng được ghi lại.
Phần 4: Hiding Files
Một hacker có thể muốn che dấu các tập tin trên một hệ thống, để ngăn chặn bị phát hiện,
sau đó có thể được dùng để khởi động một cuộc tấn công khác trên hệ thống. Có hai cách
để ẩn các tập tin trong Windows.
Đầu tiên là sử dụng lệnh attrib. Để ẩn một tập tin với lệnh attrib, gõ như sau tại dấu nhắc
lệnh:
attrib +h [file/directory]

Cách thứ hai để ẩn một tập tin trong Windows là với luồng dữ liệu xen kẽ NTFS
(alternate data streaming - ADS).

×