# Weaponization
###### tags: `RedTeam` `Tryhackme`
Học cách sử dụng các "vũ khí" trong red team
## Task 1: Introduction
Series này ta sẽ học các kỹ thuật được sử dụng trong quá trình vũ khí hoá.

<details>
<summary> What is Weaponization </summary>
- `Weaponization` (tạm dịch là "vũ khí hóa") là stage thứ 2 của mô hình Cyber Kill Chain. Mục đích của weaponization là tạo ra các công cụ tấn công hiệu quả và chính xác để đánh giá và kiểm tra độ an toàn của mục tiêu. Các kỹ thuật và công cụ này có thể bao gồm việc viết mã độc(có thể được đính kèm trong Word Documents, PDFs, etc...), thực hiện phishing, kỹ nghệ xã hội, khai thác browser hoặc phần mềm, USB hoặc web. để phá vỡ các hệ thống bảo mật, v.v.
- Hầu hết các tổ chức đều chạy HĐH Windows, do vậy đây có thể là mục tiêu chính của hacker. Chính sách môi trường của một tổ chức thường chặn tải xuống và thực thi các tệp `.exe` để tránh vi phạm bảo mật.

Github lưu trữ khá đầy đủ về các công cụ Red Team: https://github.com/infosecn1nja/Red-Teaming-Toolkit#Payload%20Development
Hmm vì các tổ chức đều chặn hoặc giám sát rất kỹ việc thực thi file `.exe` nên red team phải thực thi payload bằng một vài kỹ thuật khác như:
- The Windows Script Host (WSH)
- An HTML Application (HTA)
- Visual Basic Applications (VBA)
- PowerShell (PSH)
</details>
## Task 3: Windows Scripting Host - WSH
<details>
<summary> Windows Scripting Host - WSH </summary>
- Windows scripting host là một công cụ quản trị Windows tích hợp chạy các batch files để tự động hóa và quản lý các tác vụ trong hệ điều hành. Scripts được viết bằng các ngôn ngữ kịch bản như VBScript hoặc JScript.
- Đây là một native engine của Windows, cscript.exe (for command-line scripts) và wscript.exe (for UI scripts), chịu trách nhiệm thực thi các Tập lệnh Microsoft Visual Basic (VBScript) khác nhau, bao gồm vbs và vbe. Điều quan trọng cần lưu ý là công cụ VBScript trên hệ điều hành Windows chạy và thực thi các ứng dụng có cùng mức truy cập và quyền như người dùng thông thường, do đó nó rất hữu ích với red team.
Bây giờ, hãy viết một mã VBScript đơn giản để tạo `windows message box` hiển thị thông báo `Welcome to THM`. Đảm bảo lưu mã sau vào một tệp, ví dụ: hello.vbs.
```vbs=
Dim message
message = "Lilthawg29"
MsgBox message
```

```vb=
Set shell = WScript.CreateObject("Wscript.Shell")
shell.Run("C:\Windows\System32\calc.exe " & WScript.ScriptFullName),0,True
```

Có thêm 1 trick nữa là nếu `.vbs` bị blacklist thì đổi thành `.txt` là oke.

</details>
## Task 4: An HTML Application - HTA
<details>
<summary> HTML Application (HTA) </summary>
- HTML Application (HTA) là một ứng dụng trên nền tảng Windows được xây dựng bằng HTML, CSS và JavaScript, có thể chạy trên trình duyệt web Internet Explorer hoặc trên máy tính độc lập.
- HTA cho phép lập trình viên sử dụng các tính năng của HTML, CSS và JavaScript để tạo ra các giao diện đồ họa và tương tác với người dùng. Nó cũng cung cấp các API cho phép lập trình viên truy cập các tài nguyên hệ thống như cơ sở dữ liệu, tệp tin, thư mục và các ứng dụng.
- HTA là một công nghệ đã lỗi thời và không được hỗ trợ rộng rãi nhưng vẫn được sử dụng trong một số ứng dụng cụ thể, đặc biệt là các ứng dụng đòi hỏi truy cập vào các tài nguyên hệ thống của máy tính.
```hta=
<html>
<body>
<script>
var c= 'cmd.exe'
new ActiveXObject('WScript.Shell').Run(c);
</script>
</body>
</html>
```
Khi tải file `payload.hta` nhấn run sẽ excute `cmd.exe`


Hoặc có thể reverse shell với metasploit

</details>
## Task 5: Visual Basic for Application - VBA
<details>
<summary> Visual Basic for Application (VBA) </summary>
- Visual Basic for Applications (VBA) là một ngôn ngữ lập trình được sử dụng để phát triển các ứng dụng trên nền tảng Microsoft Office, bao gồm các ứng dụng như Excel, Word, Access và PowerPoint.
- Macro là các ứng dụng Microsoft Office có chứa mã nhúng được viết bằng ngôn ngữ lập trình được gọi là Visual Basic for Applications (VBA). Nó được sử dụng để tạo các chức năng tùy chỉnh nhằm tăng tốc các tác vụ thủ công bằng cách tạo các quy trình tự động. Một trong những tính năng của VBA là truy cập Giao diện lập trình ứng dụng Windows (API) và chức năng cấp thấp khác.
Tạo macro đầu tiên
```macro=
Sub THM()
MsgBox ("Lilthawg29")
End Sub
```

Bây giờ để tự động thực thi mã VBA sau khi Document được mở, chúng ta có thể sử dụng các chức năng tích hợp như Autoopen và Document_open. Lưu ý rằng chúng ta cần chỉ định tên chức năng cần được chạy khi tài liệu mở, trong trường hợp này là hàm THM.
```vba=
Sub Document_Open()
THM
End Sub
Sub Auto_Open()
THM
End Sub
Sub THM()
MsgBox ("Lilthawg29")
End Sub
```
Điều quan trọng cần lưu ý là để làm cho macro hoạt động, chúng ta cần lưu nó ở định dạng Hỗ trợ Macro, chẳng hạn như `.doc` và `.docm`.
Hay ta có thể pop up calc.exe

Điều quan trọng cần đề cập là chúng ta có thể kết hợp VBA với các phương pháp được đề cập trước đó, chẳng hạn như HTA và WSH. Bản thân VBA/macro rất dễ bị detect.
</details>
## Task 6: PowerShell - PSH
<details>
<summary> PowerShell - PSH </summary>
Học: https://tryhackme.com/room/powershell
- PowerShell (PSH) là một ngôn ngữ lập trình kịch bản (scripting language) được sử dụng để quản lý và điều khiển các hệ thống máy tính Windows. PowerShell được phát triển bởi Microsoft và được tích hợp sẵn trong hệ điều hành Windows từ phiên bản Windows 7 trở đi.
- PowerShell có thể thực hiện các tác vụ liên quan đến hệ thống, bao gồm quản lý tệp tin, thư mục, dịch vụ, quản lý mạng và quản lý tài khoản người dùng. Ngoài ra, PowerShell còn cung cấp tính năng kết nối với các ứng dụng và dịch vụ của Microsoft như Active Directory, Exchange Server và SQL Server.
</details>
## Task 7: Command And Control - (C2 Or C&C)
Một số C2 Framework phổ biến: Cobalt Strike, PowerShell Empire, Metasploit,...

