Main cover - WordPress Incident Response + Forensics + Hardening (dur***)

Executive Summary

Consolidated case for anonymized client (dur***), with full-scope WordPress incident response: immediate containment, technical forensics, malware eradication, operational recovery, and post-incident hardening.

Technical lead: Percio Andrade Castelo Branco (Infrastructure and Cyber Defense).

Technical Scope Delivered

Context and Severity

The environment was received in critical condition, with full operational compromise of the site and active malicious actor presence. We observed privilege abuse, content tampering, creation of unauthorized administrative users, and monetization/extortion attempts. The client domain was anonymized and all sensitive indicators were sanitized.

Extortion Message and Threat Actor Attribution

During the forensic collection phase, we identified an extortion message attributed to the threat actor, originating from hacker@bwmakassarbeach.com. The message claimed database exfiltration, threatened public disclosure, and demanded payment in cryptocurrency.

From a threat intelligence standpoint, the text only mentioned a "hacking group," without a reliable signature of a named group (no verifiable claim of a specific cartel/ransom crew). Therefore, attribution in this case remained at an unnamed actor level, focused on TTPs and technical eradication rather than brand speculation.

Preserved textual evidence (full excerpt)

"We have hacked your website duro*** and extracted your databases. This was due to the security holes you had in your your site/server which have gained us remote control of everything that was on the server.
Our team is mostly interested in customer, administrative, and employee information which we have extracted through your databases once we got remote control over the server. It still needs to be sorted out but it will be well-organized once finished. First, we will be going through the emails/sms information and contacting the recipient how you held in disregard about their information being exposed to a hacking group when you could have stopped it. This would be detrimental to your personal image with these relationships with these people. Lastly, now that we have information not only will we be monetizing off it with our methods but made public or sold to other people that will do whatever they wish with the information also after we are done.
Now you can put a stop to this by paying a $3000 fee (0.10 BTC) in bitcoin to the address 37J6b5DADjC5WubZX5PCGNTg2WXjdVa3Fa We will be notified of payment which we will then delete the information we have obtained, patch the hole in the site/server which we got in and remove you from any future targeting in the future. You have 72 hours in doing so after viewing this message or the series of steps will commence. You can obtain bitcoin through such services such as paxful.com or do a search on bing.com"

Professional stance adopted: no negotiation with the threat actor. The response focused on containment, evidence preservation, eradication, hardening, and post-incident validation.

Shareable Technical Incident Data

Based on the forensic documentation (DURO***_SECURITY-3.0), the following data is shareable in a professional technical context:

Observed malicious infrastructure (sample)

Attacker automation patterns were observed across multiple plugins and temporary persistence directories. Sample artifacts listed in the dossier:

/wp-content/plugins/Cache/*
/wp-content/plugins/Hello_Dolly/*
/wp-content/plugins/kzwfkzk/*
/wp-content/plugins/nhoerxl/*
/wp-content/plugins/ofjubmt/*
/wp-content/plugins/t_file_wp/*
/cgi-bin/6573e397d142b/*
/wp-admin/images/resize-8x.png
/wp-content/cache/min/.ba4b87b5.ccss

Tactical Mapping (MITRE ATT&CK - Operational Reference)

Response Governance and Decision Criteria

Technical Evidence Identified

image_02 - IOC evidence in file/plugin

IOC evidence in compromised file/plugin.

1. WordPress persistence

2. Malicious artifacts in files and plugins

3. Compromise vector

A vulnerable WordPress component with embedded malicious code was identified in file:

/wp-content/plugins/smart-custom-fields/classes/fields/class.field-class.php

Exploitation of this point enabled remote execution and escalation to administrative CMS control.

image_03 - compromise vector in vulnerable plugin

Technical capture of exploited vector in vulnerable plugin.

Applied Operational Methodology

Phase A - Containment

  1. Site removal from the originally compromised environment.
  2. Migration to an isolated environment to stop real-time attacker interaction during remediation.
  3. Evidence preservation for technical analysis before destructive cleanup.
image_04 - environment isolation and containment

Environment isolation and containment flow.

Phase B - Forensics

  1. Database analysis (content, users, abuse traces).
  2. Server and application log analysis (WordPress) for event timeline correlation.
  3. Combined IOC detection using multiple approaches:

Phase C - Eradication

  1. Removal of malicious plugins and artifacts deployed by the attacker.
  2. Bulk cleanup of infected files and manual false-positive review.
  3. Removal of unauthorized administrative users.
  4. Sanitization of unauthorized injected content and records.
image_05 - eradication and cleanup evidence

Eradication evidence (cleanup of files/unauthorized users).

Phase D - Hardening

  1. Credential strengthening and administrative access policy enforcement.
  2. Plugin review and attack surface reduction (least-privilege principle).
  3. Application of WAF protection layer and additional WordPress security controls.
  4. Adjustments to reduce recurrence and improve continuous monitoring.
image_06 - final hardening configuration

Final hardening state and active controls.

Examples of Indicators of Compromise (IOC)

During the engagement, IOC patterns were identified across multiple paths, including:

/wp-admin/images/*.png (unauthorized artifacts)
/wp-includes/blocks/*/*.php (malicious insertions)
/wp-content/plugins/*/*.php.suspected
/cgi-bin/*/wp-*.php
/wp-content/cache/min/*.ccss

Additional malicious automation trails were detected for directory and randomly named file creation.

Operational Metrics and Outcome

Operational Timeline (T0/T1/T2...)

Operational Timeline (UTC - Evidence)

Operational Metrics (SOC/IR)

Stack and Commands Used (Real Operation)

Execution combined manual analysis, automation, and security tooling in a Linux + WordPress environment. Below are representative examples from the technical workflow applied:

Technical Stack

Operational Commands by Phase

Phase 1 - Containment

# Initial logical snapshot (quick inventory)
find /var/www/site -type f | wc -l
find /var/www/site -type f -name "*.php" -mtime -14 | sort

# Direct search for common webshell/obfuscation patterns
grep -RniE "base64_decode|gzinflate|eval\\(|assert\\(|preg_replace\\(.*/e" /var/www/site

# Preliminary mapping of critical points
find /var/www/site/wp-admin /var/www/site/wp-includes /var/www/site/wp-content -type f \
  | grep -Ei "themes\\.php|admin\\.php|index\\.php\\.suspected|\\.htaccess"

Phase 2 - Forensics

# Administrative user triage (WordPress)
wp user list --role=administrator --path=/var/www/site

# IOC search in plugins and themes focused on the vector
grep -Rni "smart-custom-fields" /var/www/site/wp-content/plugins
grep -RniE "class\\.field-class\\.php|webshell|backdoor" /var/www/site/wp-content

# Syntax check on modified PHP (corruption detection)
find /var/www/site -type f -name "*.php" -exec php -l {} \\; | grep -v "No syntax errors"

Phase 3 - Eradication and Hardening

# Post-cleanup permissions and ownership correction
find /var/www/site -type d -exec chmod 755 {} \\;
find /var/www/site -type f -exec chmod 644 {} \\;
chown -R www-data:www-data /var/www/site

# Operational cache cleanup and reindexing
wp cache flush --path=/var/www/site

# Final admin review after sanitation
wp user list --role=administrator --path=/var/www/site

Phase 4 - Final Validation

# Post-remediation rescan
grep -RniE "base64_decode|gzinflate|eval\\(|assert\\(" /var/www/site/wp-content

# Quick check of modified sensitive files
find /var/www/site -type f \\( -name "*.php" -o -name ".htaccess" \\) -mtime -3 | sort

# Basic functional check
wp core is-installed --path=/var/www/site
wp plugin list --path=/var/www/site

Post-remediation Validation

Chain of Custody

Visual Evidence from the Case

Sanitized evidence record for technical presentation of the engagement (real case images, no exposed personal data):

image_07 - detection dashboard and initial status

Initial detection dashboard and incident status.

image_08 - evidence of abuse in content/posts

Evidence of abuse in content/posts.

image_09 - suspicious artifact triage

Triage of suspicious artifacts during sanitation.

image_10 - remediation execution and security adjustments

Remediation execution and security adjustments.

image_11 - final post-hardening validation

Final post-hardening validation.

Prioritized Lessons (Hardening Backlog)

  1. P1 - Plugin governance: remove components without active maintenance and enforce a formal patch window.
  2. P1 - Privilege control: periodic admin review, MFA, and least-privilege principle.
  3. P1 - Detection: continuous monitoring for privileged user creation and mass content changes.
  4. P2 - Integrity baseline: snapshots/versioning of critical files for fast post-incident diff.
  5. P2 - IR playbook: standardized containment/forensics/remediation runbook to reduce MTTR.

Delivery Standard

Structured delivery in real incident format: containment, investigation, eradication, recovery, and hardening. This is the same model used in day-to-day operations for high-risk Linux/WordPress environments, focused on technical evidence and safe production recovery.

Discuss this service

Do you want to apply this incident response model in your environment with evidence-driven technical execution?