Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 💡 PowerLessShell — Chạy PowerShell mà không “gọi” Powershell.exe

    Click image for larger version

Name:	maxresdefault.jpg
Views:	13
Size:	112.5 KB
ID:	438725

    Trong môi trường Windows, PowerShell là một công cụ mạnh mẽ để quản trị hệ thống, tự động hóa tác vụ… nhưng chính vì sự phổ biến của nó mà các hệ thống bảo mật hiện đại (EDR, SIEM) theo dõi chặt chẽ mọi phiên bản PowerShell được khởi động. Điều này khiến các chuyên gia an ninh đôi khi cần những kỹ thuật “đánh lừa” hệ thống để thực thi mã mà không để lại dấu vết của powershell.exe.
    PowerLessShell là một công cụ mã nguồn mở được thiết kế chính cho mục đích đó:
    ➡️ cho phép chạy lệnh PowerShell hoặc shellcode trên Windows mà không spawn process powershell.exe, điều này giúp tăng cơ hội né tránh phát hiện từ các công cụ bảo mật.

    📌 GitHub: GitHub - Mr-Un1k0d3r/PowerLessShell: Run PowerShell command without invoking powershell.exe

    🧠 Nguyên lý hoạt động
    Thay vì chạy trực tiếp powershell.exe, PowerLessShell lợi dụng MSBuild.exe — một công cụ hợp pháp được cài sẵn trong Windows để biên dịch dự án .NET — để thực thi mã PowerShell. MSBuild.exe được xem là một “LOLBAS” (Living Off The Land Binary) vì nó được Windows tin cậy và ít bị giám sát.
    Về cơ bản quá trình như sau:
    1. Chuẩn bị payload — tạo script PowerShell hay shellcode.
    2. Chuyển mã đó thành file .csproj bằng PowerLessShell.
    3. Chạy MSBuild.exe trên file đó ở máy đích để thực thi lệnh.
    4. Kết quả: PowerShell được chạy, nhưng không có tiến trình “powershell.exe” hiển thị.


    🚀 Ví dụ sử dụng cơ bản
    Giả sử bạn có một script PowerShell (script.ps1) muốn chạy:
    # Clone repo về máy
    git clone https://github.com/Mr-Un1k0d3r/PowerLessShell.git

    # Sinh file .csproj tương thích MSBuild
    python PowerLessShell.py -type powershell -source script.ps1 -output payload.csproj

    # Khi đưa payload.csproj tới máy mục tiêu
    c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBu ild.exe payload.csproj
    Sau khi chạy lệnh build, Windows sẽ thực thi đoạn PowerShell mà không spawn powershell.exe.

    📌 Ưu/nhược điểm
    Ưu điểm
    ✔️ Tránh khởi tạo tiến trình PowerShell => trọng tâm của nhiều hệ thống giám sát.
    ✔️ Có thể dùng để triển khai shellcode hoặc tải mã từ xa.
    ✔️ Mã nguồn mở, dễ tùy biến.

    ⚠️ Nhược điểm & lưu ý
    Tool tạo payload phải chạy trên máy tấn công, sau đó phải chuyển file đến máy mục tiêu — gây hạn chế trong một số tình huống.
    Các giải pháp bảo mật hiện đại có thể vẫn phát hiện hành vi bất thường của mã PowerShell, ngay cả khi powershell.exe không khởi chạy.
    Việc sử dụng tool này phải tuân thủ pháp luật và chuẩn mực đạo đức — không dùng cho hành vi xâm nhập trái phép.


    🛡️ Kết luận
    PowerLessShell là một ví dụ điển hình của “Living Off The Land Execution” — tận dụng các thành phần hợp pháp của hệ thống để thực thi mã theo cách khó bị phát hiện. Đây là một công cụ rất hữu ích dành cho:
    🔹 Red-team trong kiểm thử xâm nhập
    🔹 Chuyên gia SOC/Blue Team muốn hiểu kỹ thuật né tránh phát hiện
    🔹 Học tập kỹ thuật bảo mật nâng cao

    Tuy nhiên, như mọi công cụ bảo mật tấn công, việc sử dụng PowerLessShell cần có mục đích rõ ràng, đúng pháp luật và được phép.
Working...
X