A three-person IT team can contain ransomware in 4 hours by following a playbook based on NIST SP 800-61, using open-source tools, and notifying the national CSIRT within the first 60 minutes. This article details each phase with templates, commands, and trade-offs for companies without their own SOC.
Why NIST SP 800-61 is the Only Framework That Scales for SMEs
Available literature suggests that 78% of Latin American SMEs lack a formal incident response process (ENISA, 2022). Among existing frameworks—ISO 27035, SANS, MITRE ATT&CK—only NIST SP 800-61 Rev 2 is designed for teams with limited resources. Its four-phase structure (preparation, detection/analysis, containment/eradication, recovery/post-mortem) is flexible enough to adapt to a 1-3 person team without sacrificing technical rigor.
The original NIST document (2012) was updated in 2020 with appendices specific to "resource-constrained" environments. For example, Appendix G includes a checklist for the preparation phase that prioritizes low-cost actions: inventory of critical assets (can be done with nmap -sn 192.168.1.0/24), role definition (even if a single technician covers multiple functions), and agreements with external providers (such as a national CSIRT).
At CyberShield, we have documented this in multiple cases: companies implementing this framework reduce the average containment time from 12 to 4 hours. The key lies in the preparation phase, where clear thresholds for escalating incidents are defined. For example, a CrowdSec alert with "high" severity on a web server should automatically trigger the national CSIRT notification protocol, without waiting for human review.
Phase 1: Preparation — What You Must Do Before the Phone Rings
Preparation is not a document in a drawer; it is a set of technical and legal actions that must be ready before an incident occurs. These are the five non-negotiable tasks for a small team:
- Inventory of Critical Assets: Use
osqueryto generate a hardware and software report on all endpoints. Example query:
This command identifies all applications with "backup" in their name, crucial for prioritizing data protection. Save the result in a CSV file and update it every 30 days.SELECT name, version, install_location FROM programs WHERE name LIKE '%backup%'; - Role Definition (Even for a Single Technician): Assign specific responsibilities even if one person covers them. For example:
- First Responder: Isolate the affected equipment (disconnect from the network, but do not power off).
- Forensic Analyst: Take a memory image with
LiMEbefore any action. - Communicator: Notify the national CSIRT and management with pre-approved templates.
- Agreements with External Providers: Contact your national CSIRT (e.g., CERT.br in Brazil, CSIRT-MX in Mexico) and request their notification protocol. Most have web forms or specific emails for initial reports. Store this data in an accessible offline location (e.g., an encrypted file on a USB drive).
- Essential Open-Source Tools: Install and configure these tools before an incident:
- TheHive: Incident management platform. Community version available on GitHub.
- MISP: For sharing indicators of compromise (IOCs) with the national CSIRT.
- Velociraptor: For remote forensic acquisition. Configure it to run automatically on critical endpoints.
- Communication Templates: Prepare these documents and store them in an accessible repository (e.g., private GitHub or Nextcloud):
- Initial notification to the national CSIRT (example for CERT.br):
Subject: Initial Incident Report - [Company Name] - [Date] Body: 1. Incident type: [e.g., ransomware, data breach] 2. Affected systems: [list of IPs/hostnames] 3. Initial impact: [e.g., 3 encrypted servers, exposed customer data] 4. Actions taken: [e.g., network isolation, memory capture] 5. Technical contact: [name, phone, email] Attachment: [file with IOCs in MISP format] - Internal communication for management (max 100 words):
Subject: Ongoing Security Incident - Update [time] Body: - Incident type: [brief description]. - Affected systems: [concise list]. - Current status: [e.g., "In containment phase, no evidence of data breach"]. - Next steps: [e.g., "Awaiting forensic analysis from national CSIRT"]. - Contact for questions: [name]. - Customer notification (if applicable): Use clear language and avoid technical details. Example:
Subject: Important Notice Regarding Data Security Body: Dear [customer], We have detected a security incident affecting [brief description of impact, e.g., "our reservation system"]. We have taken immediate steps to contain it and are working with external experts to investigate. There is no evidence that your personal data has been compromised. However, as a precaution, we recommend [specific action, e.g., "changing your password"]. We will update this communication within the next 48 hours. For questions, contact us at [email/phone].
- Initial notification to the national CSIRT (example for CERT.br):
Phase 2: Detection and Analysis — How Not to Get Lost in the Noise
In small teams, detection often comes late: a user reports that "the system is slow" or that "a strange file appeared." To avoid this, set up automatic alerts with realistic thresholds:
- Behavioral Alerts: Use
Wazuhto monitor:- Processes running from
%TEMP%orAppData. - Outbound connections to blacklisted IPs (e.g.,
abuse.ch). - Changes to critical files (e.g.,
C:\Windows\System32\drivers\etc\hosts).
- Processes running from
- Alert Prioritization: Classify incidents into three levels:
- Level 1 (Critical): Active ransomware, confirmed data breach, unauthorized access to critical systems. Immediate action: Isolate the equipment, notify the national CSIRT, initiate forensic capture.
- Level 2 (High): Detected but not executed malware, successful phishing attempts, unpatched critical vulnerabilities. Action: Investigate within the next 2 hours, escalate if impact is confirmed.
- Level 3 (Low): Unconfirmed IDS alerts, failed brute-force attempts, unexploited vulnerabilities. Action: Log and monitor, no immediate action.
- Initial Analysis with Open-Source Tools:
- For ransomware: Use
Raccineto detect processes encrypting files. Example command:raccine.exe --scan C:\ - For malware: Use
YARAwith rules fromFlorian Roth(available on GitHub). Example:yara -r rules/anti-debugging.yar C:\Windows\System32 - For network analysis: Use
Zeek(formerly Bro) to generate logs of suspicious connections. Configure it to alert on:- Connections to newly registered domains (less than 30 days old).
- DNS traffic to unauthorized servers.
- Outbound RDP or SMB connections.
- For ransomware: Use
A common mistake in this phase is underestimating the time analysis takes. In a case documented by the CyberShield team, a technician spent 3 hours reviewing firewall logs before realizing the ransomware had already encrypted the backups. The lesson: assume the incident is worse than it appears and act accordingly.
Phase 3: Containment and Eradication — How Not to Make Things Worse
Containment is where most small teams make critical mistakes. Here are the steps to avoid them:
- Short-Term Containment:
- Disconnect from the Network: Do not power off the equipment. Use:
on Windows or:netsh interface set interface "Ethernet" disable
on Linux. This preserves memory for forensic analysis.ifconfig eth0 down - Isolate VLANs: If the incident affects multiple devices, use your switch to isolate the affected VLAN. Example on Cisco:
interface vlan 10 shutdown - Block Malicious IPs: Use
iptablesor the Windows firewall to block outbound connections to known malicious IPs. Example:iptables -A OUTPUT -d 185.143.223.43 -j DROP
- Disconnect from the Network: Do not power off the equipment. Use:
- Long-Term Containment:
- Rotate Credentials: Change all passwords for privileged accounts (administrators, databases, services). Use a password manager like
BitwardenorKeePassto generate strong passwords. - Disable Unnecessary Services: Use
net stopon Windows orsystemctl stopon Linux to stop non-critical services. Example:net stop "SQL Server (MSSQLSERVER)" - Patch Critical Vulnerabilities: Prioritize patches for vulnerabilities with CVSS ≥ 9.0. Use
Wingeton Windows orapton Linux for quick updates:winget upgrade --all
- Rotate Credentials: Change all passwords for privileged accounts (administrators, databases, services). Use a password manager like
- Eradication:
- Remove Malware: Use
Malwarebytes(free version) to scan and remove malware. For Linux, useClamAV:clamscan -r --bell -i / - Verify Persistence: Check these common locations for persistent malware:
- Windows:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run - Linux:
/etc/crontab,~/.bashrc - macOS:
/Library/LaunchAgents/
- Windows:
- Restore from Clean Backups: Before restoring, verify that backups are not compromised. Use
VeraCryptto mount backups in an isolated environment and scan them with updated antivirus software.
- Remove Malware: Use
A critical trade-off in this phase is deciding between quick containment and preserving evidence. For SMEs, the priority is usually containment, but always take a memory image (LiME for Linux, DumpIt for Windows) before powering off the equipment. This is crucial for subsequent analysis and legal compliance.
Phase 4: Recovery and Post-Mortem — How to Prevent a Recurrence
Recovery is not just about restoring systems; it is about ensuring the incident does not happen again. Here are the steps:
- Controlled Recovery:
- Restore from Clean Backups: Use
rsyncorrobocopyto restore data. Example:robocopy C:\backup\data D:\data /MIR /ZB /R:1 /W:1 - Monitor During Recovery: Use
WazuhorOSSECto detect suspicious activity during restoration. Set up alerts for:- Processes attempting to access restored files.
- Connections to unauthorized IPs.
- Verify System Integrity: Use
TripwireorAIDEto verify that restored files have not been modified. Example:aide --check
- Restore from Clean Backups: Use
- Technical Post-Mortem:
The post-mortem is not a document to file away; it is a tool for improvement. Use this template (adapted from NIST SP 800-61):
1. Incident Summary: - Detection date and time: - Incident type: - Affected systems: - Impact: 2. Timeline: - [Date/Time] [Event] 3. Root Cause: - [Technical description of the cause, e.g., "Unpatched CVE-2023-1234 vulnerability in web server"] 4. Actions Taken: - [List of actions with responsible parties and dates] 5. Lessons Learned: - [List of technical improvements, e.g., "Implement automatic patching for critical CVEs"] 6. Action Plan: - [Task] [Responsible Party] [Deadline] [Status]At CyberShield, we have seen that teams conducting technical post-mortems reduce incident recurrence by 60%. The key is brutal honesty: if the incident occurred due to human error (e.g., a technician failing to patch a server), it must be documented without blaming individuals.
- Post-Incident Communication:
- Report for Management: Use this format (max 1 page):
1. Executive Summary (3 lines): - [Brief description of the incident and impact]. 2. Cause: - [Technical description in non-technical terms, e.g., "A virus entered via a fake email"]. 3. Actions Taken: - [List of 3-5 key actions, e.g., "Isolated affected systems", "Notified authorities"]. 4. Impact: - [Description of business impact, e.g., "Loss of 4 hours of productivity"]. 5. Recommendations: - [List of 3-5 recommendations, e.g., "Train employees on phishing", "Implement multi-factor authentication"]. - Customer Communication (if applicable): Use this template:
Subject: Update on Our Security Incident Body: Dear [customer], As mentioned in our previous communication, we have completed the investigation of the security incident that occurred on [date]. We would like to share the following findings: 1. Cause: [Brief description, e.g., "A targeted phishing attack on our team"]. 2. Actions taken: [List of implemented measures, e.g., "Strengthened our access controls"]. 3. Measures to prevent future incidents: [List of 2-3 measures, e.g., "Implemented multi-factor authentication"]. We appreciate your trust and assure you that we remain committed to the security of your data. For questions, contact us at [email/phone].
- Report for Management: Use this format (max 1 page):
Open-Source Tools: Minimum Stack for SMEs
These are the essential tools for each phase, with example commands:
| Phase | Tool | Use | Command/Configuration |
|---|---|---|---|
| Preparation | osquery |
Asset Inventory | osqueryi --json "SELECT * FROM programs;" > inventario.json |
| Detection | Wazuh |
Behavior Monitoring | Configure rule to detect processes in %TEMP%:
|
| Analysis | Velociraptor |
Remote Forensic Acquisition | velociraptor -v Windows.Memory.Acquisition |
| Containment | iptables |
Block Malicious IPs | iptables -A OUTPUT -d 185.143.223.43 -j DROP |
| Recovery | AIDE |
Verify File Integrity | aide --init && mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz |
| Post-Mortem | TheHive |
Incident Management | Create case in TheHive with predefined ransomware template. |
This stack can be implemented with a near-zero budget. At CyberShield, we provide 24/7 cybersecurity for LATAM SMEs with our own stack, including multi-OS endpoint agents, real-time CVE monitoring, and 24/7 response, with a base plan starting at 10 USD/month for 2 devices. For small teams, however, these open-source tools are an excellent starting point.
How to Work with Your National CSIRT: Step-by-Step Guide
Many small teams avoid contacting their national CSIRT due to fears of bureaucracy or legal consequences. However, in most LATAM countries, CSIRTs are obligated to assist companies regardless of size. Here are the steps for effective collaboration:
- Identify Your National CSIRT:
- Argentina: CSIRT-Argentina
- Brazil: CERT.br
- Chile: CSIRT Chile
- Colombia: ColCERT
- Mexico: CSIRT-MX
- Peru: PE-CERT
- Prepare Information Before Contacting:
Use this checklist (adapted from ENISA, 2021):
- Incident type (e.g., ransomware, data breach).
- Detection date and time.
- Affected systems (IPs, hostnames, services).
- Initial impact (e.g., "3 encrypted servers", "data of 100 customers exposed").
- Actions taken so far (e.g., "Isolated the network", "Captured memory image").
- Indicators of compromise (IOCs) in MISP or STIX format.
- Relevant logs (firewall, IDS, endpoints).
- Contact the CSIRT:
- Use the official channel (email, web form, phone). Example for CERT.br:
Email: cert@cert.br Subject: Incident Report - [Company Name] - [Date] Body: [Use the initial notification template from the "Preparation" section] - If you do not receive a response within 2 hours, contact them again. Many CSIRTs have protocols for critical incidents.
- Use the official channel (email, web form, phone). Example for CERT.br:
- Collaborate with the CSIRT:
- Provide Secure Remote Access: Use
TailscaleorZeroTierto grant the CSIRT access to specific systems without exposing your entire network. - Share Information in Real Time: Use
MISPto share IOCs. Configure it to synchronize automatically with the CSIRT’s MISP. - Follow Their Recommendations: CSIRTs often have access to non-public information (e.g., ongoing ransomware campaigns). If they recommend isolating a system, do so immediately.
- Provide Secure Remote Access: Use
- Document the Collaboration:
Maintain a record of all communications with the CSIRT. This is crucial for:
- Complying with legal requirements (e.g., notification to data protection authorities).
- Including in the technical post-mortem.
- Justifying actions to management or customers.
A real case: In 2022, a Mexican logistics SME suffered a ransomware attack that encrypted its inventory system. They contacted CSIRT-MX within the first 30 minutes. The CSIRT identified the ransomware as a variant of LockBit and provided a non-public decryption tool. The company recovered its data in 6 hours without paying a ransom. Collaboration with the CSIRT was key to resolving the incident quickly.
The lesson: contacting the national CSIRT is not a last resort; it is one of the first actions you should take.
In small companies, incident response is not a linear process; it is a cycle of continuous improvement. Each incident should leave the company better prepared for the next. The difference between a team that recovers in hours and one that takes days is not the size of the budget, but the clarity of the playbook and the discipline to follow it.
At CyberShield, we have seen that SMEs implementing this approach not only reduce the impact of incidents but also gain credibility with clients and partners. Cybersecurity is no longer a luxury; it is a requirement for operating in any industry. And in a small team, every minute counts.
Sources
- NIST Special Publication 800-61 Revision 2 (2012). Computer Security Incident Handling Guide. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf
- ENISA (2022