En kompromittert WordPress-side som var sperret av webhotellet etter innbrudd. Slik fant jeg malware-en, fjernet den skikkelig, og fikk siden trygt åpnet igjen – uten å miste innhold eller database.
Kunden våknet til en e-post fra webhotellet: siden var sperret fordi den ble brukt til å sende ut ondsinnet trafikk. Skadelig PHP-kode hadde blitt plantet i flere mapper, og angriperen hadde lagt inn skjulte admin-kontoer for å kunne ta seg inn igjen senere.
Symptomer som dukket opp før sperringen:
/wp-content/uploads/ og /wp-content/plugins/Når WordPress er hacket vil mange bare slette de mistenkelige filene og åpne igjen. Dårlig idé. Angripere planter som regel flere bakdører – én synlig som «agn», og 5–20 godt skjulte. Fjerner du bare agnet, er de tilbake innen timer.
Eneste trygge fremgangsmåte er å gå ut fra at alt kan være tukket, og bygge opp installasjonen på nytt mot offisielle, verifiserte filer.
Først laget jeg en full backup av hele serveren slik den lå – inkludert de skadelige filene. Det er bevismaterialet hvis det skulle ende med politianmeldelse eller forsikringssak, og gjør det mulig å sammenligne før/etter.
Jeg gikk gjennom filsystemet manuelt og med skanning, og lette etter:
eval()-anrop.htaccess og wp-config.phpResultatet: 88+ skadelige filer identifisert på tvers av wp-content/, wp-includes/ og rotnivå, samt 2 skjulte admin-kontoer i wp_users-tabellen som ikke vises i wp-admin UI.
I stedet for å «rense» de eksisterende WordPress-filene, lastet jeg ned en helt fersk WordPress fra no.wordpress.org og verifiserte at hver kjernefil matchet de offisielle SHA-1-sjekksummene. Det utelukker at jeg overser en bakdør i en av kjernefilene.
Plugins og tema ble lastet ned på nytt fra deres opprinnelige kilder. Database og brukeropplastet innhold (wp-content/uploads/) ble bevart, men gjennomgått manuelt.
.htaccess erstattet med ren, standard WordPress-versjonwp-config.php regenerert fra mal – uten skadelig kodeNår salts byttes, blir alle eksisterende økter ugyldige – så angriperen er kastet ut umiddelbart selv om de hadde en aktiv innlogging.
Før jeg ba webhotellet om å åpne siden igjen, gjorde jeg en grundig sluttest:
.htaccess og wp-config.php var reneMange webhotell krever en skriftlig redegjørelse før de gjenåpner en sperret side. Jeg skrev en kort, faglig forklaring på hva som var gjort, hvilke filer som var fjernet, og hvilke sikkerhetstiltak som var lagt inn for å hindre at det skjer igjen. Siden ble åpnet samme dag.
Det hjelper lite å rydde opp hvis hullet ikke tettes. Etter opprydding satte jeg opp:
wp-admin-URL (med plugin) – reduserer automatiserte angrepJeg gjør sikkerhetsopprydding for WordPress på fast pris – med full backup, dokumentasjon og redegjørelse til webhotellet om nødvendig.
Ta kontakt