Fyra fungerande bakdörrar
Identiska filhanterare på 35 KB som lät utomstående ladda upp filer och köra kommandon på servern.
administrator/templates/LlBKpbmJ.php + 3 copiesCase 001 · juni – oktober 2026
I juni 2026 började en småföretagares webbplatser skicka besökare till bedrägerisidor. Det här är berättelsen om vad som gömde sig i dem, hur de byggdes om utan en enda rad av den gamla koden och hur ägaren tog tillbaka kontrollen.
01 22 juni · Det besökarna såg
Hennes bilder, priser och ord fanns kvar. Men beroende på webbplats och tidpunkt möttes besökaren av popupreklam, en falsk ”Klicka på Tillåt”-sida, en butik med någon annans affiliatelänk eller bara ett felmeddelande. Inloggningssidan hon brukade använda för att ändra saker hade försvunnit.
Svep för att se alla fyra →
02 April → 16 juni · Det som hände i det tysta
Filer som planterats på webbplatserna var daterade så långt tillbaka som april. Fungerande bakdörrar — små program som lät en utomstående ladda upp och köra kod — var daterade till början av maj. Sedan, den 16 juni klockan 09.33, ändrades alla tre webbplatserna inom samma sju sekunder.
Alla tre webbplatser låg på samma webbhotellskonto. För besökarna var de tre olika verksamheter; för servern var de tre mappar i samma hem. En väg in innebar åtkomst till alla tre.
Fildatum kan förfalskas, så april är det tidigaste spåret — inte nödvändigtvis början. Hur angriparna först kom in går inte att bevisa enbart utifrån filerna.
03 22–23 juni · De första 48 timmarna
Det första arbetet var att återfå kontrollen och bevara bevisen precis som de var — utan att låta den infekterade koden köras igen.
Kontots återställningsmejl hörde till en domän som inte längre fanns. Åtkomsten återficks via webbhotellets support, domänregistraren och äldre uppgifter för filöverföring. Inga gissningar, inget ”hacka tillbaka”.
Alla filer och databaser från samtliga tre webbplatser, över en krypterad anslutning: 103 105 filer, ungefär 2,5 GB.
Skrivskyddat, utan tillåtelse att köra kod, utanför en webbserver och aldrig öppnat i en webbläsare.
Kontroller av skadlig kod och kvarvarande angrepp på datorn som användes gav inga fynd.
04 23 juni · Inuti filerna
Ögonblicksbilden jämfördes, byte för byte, med de officiella kärnversionerna. 29 396 filer matchade exakt. De övriga 73 709 omfattade tillägg, eget innehåll och bekräftad angreppskod. Att en fil inte matchar betyder inte i sig att den är skadlig.
Identiska filhanterare på 35 KB som lät utomstående ladda upp filer och köra kommandon på servern.
administrator/templates/LlBKpbmJ.php + 3 copiesEtt förklätt program på 60 KB som spred infektionen till nya mappar och hämtade mer kod.
media/vendor/joomla-custom-elements/js/index.phpMappar som härmade ett annat webbplatssystem, gömda inuti det riktiga som täckmantel.
wp-admin/ · wp-includes/ · wp-blog-header.php18 529 sökvägar där mappar upprepades inuti sig själva — upp till 26 nivåer djupt.
…/pagination/pagination/pagination/wp/Listade i en webbplatskarta, så att sökmotorer skulle hitta och visa dem.
webbplatskarta: 10 460 främmande adresserServerloggar visar att den dolda koden kördes sex olika dagar i juni — den låg inte bara där.
error_log: 14 · 16 · 18 · 19 · 20 · 22 juniWebbhotellets automatiska skanning hade markerat 440 filer som rensade. Bakdörrarna och omdirigeringarna fanns kvar.
440 × ”farlig kod borttagen”62 användarkonton, nio med full kontroll, inget med tvåfaktorsinloggning. Gamla webbshopsbeställningar och en nyhetsbrevslista låg fortfarande på servern.
användare: 62 · administratörer: 9 · 2FA: 0Verkliga sökvägar till bakdörrarna. De låg i mappar som såg ut som vanliga delar av webbplatsen, ofta inuti upprepade kopior av samma mapp.
05 23–25 juni · Beslutet
Granskningen visade omfattande ändringar, dolda bakdörrar och skador som fanns kvar efter en tidigare rensning. I det här fallet gav en ombyggnad en tydligare grund att lita på. Bara granskat innehåll och bilder fördes över. Andra webbplatser kan lämpa sig för en riktad reparation.
Hitta och ta bort orsaken och kvarvarande åtkomst. I det här fallet hade en tidigare rensning lämnat fungerande bakdörrar kvar.
Börja från en tom grund. Bara kontrollerat innehåll förs över, en del i taget.
Hon hade använt samma redigerare i flera år och var tveksam till att lära sig en ny. Därför fick hon prova den nya på en kopia av sin egen webbplats innan hon bestämde sig. Sedan valde hon den.
06 23 juni → 2 juli · Ombyggd från ritningen
Varje sida byggdes om utifrån underlagen — layout, menyer, text, avstånd, bildernas storlek och placering — för att behålla den välbekanta upplevelsen och ersätta den komprometterade implementationen.
07 30 juni · En ny grund
De gamla webbplatserna körde program på servern vid varje besök, med en databas och 187 tillägg att underhålla. De nya levererar färdigbyggda sidor från ett globalt nätverk. Redigeringen har en separat inloggning. Redigeraren, driftkontona och programberoendena behöver fortfarande skötas.
De publika sidorna behöver inte längre den gamla servern eller dess databas. Mejlen stannade hos den befintliga leverantören.
08 30 juni → 1 juli · Flytten
Webbadresserna pekades om till de nya webbplatserna medan mejlen behöll sin väg till den gamla brevlådan. En äldre inställning skulle ha lett mejlen fel vid flytten — den rättades före bytet.
09 Juli → augusti · De andra ingångarna
Ett av hennes mejlkonton hade använts för inloggning från utlandet. Genomgången identifierade sjutton konton där lösenord och inloggningsskydd behövde ses över. På den gamla servern fanns också rester på platser som webbplatserna inte använde.
Den daterade fallrapporten beskriver kontogenomgången och arbetet på den gamla servern nedan. Det är inte en aktuell revision av varje konto.
17 konton identifierade för kontroll av lösenord och inloggning
10 Augusti · Städa upp i Google
Fallrapporten från augusti anger 10 356 Google-träffar för en webbplats, med angriparens sidor i 967 av de 1 000 granskade träffarna. Borttagna adresser fick svar som visar att sidorna saknas eller är borta. De riktiga sidorna fick titlar, beskrivningar och strukturerade data. Animationen visar hur städningen är tänkt att fungera, inte ett uppmätt resultat i sökplaceringar.
Illustration. Skräprubrikerna är exempel, inte kopior.
11 6 juli → 14 oktober 2026 · Nycklarna tillbaka
Hon loggar in med sin mejladress, ändrar en mening eller lägger till en bild och trycker på Spara. Ungefär en minut senare är det publicerat — och varje sparning finns kvar som en version att återställa. Hon kan ändra text och bilder. Redigeraren håller vanliga innehållsändringar åtskilda från sidans layout.
Animerat exempel: en rubrik skrivs i redigeraren, Spara trycks och den publicerade sidan uppdateras.
12 Juli–oktober · Fortsatt skötsel
En nyare ändring ersattes av en äldre bara 0,6 sekunder senare. En kontroll inför publicering lades till för att hindra ett äldre bygge från att ersätta en nyare publicerad version.
Gamla mejlfilter hade kastat riktiga meddelanden. Misstänkta mejl styrdes om till en skräppostmapp i stället för att försvinna.
En webbplats flyttade till ett nytt domännamn. Mejlvägar och omdirigeringar ordnades, och adressbytet anmäldes till sökmotorn.
↺ Översikt
→ Vad den här sortens arbete innebär
Granska webbplatsens filer, loggar och konton utan att köra den misstänkta koden.
Kapitel 03–04Sida för sida, utifrån underlagen, utan att föra över gammal körbar kod.
Kapitel 05–07Planera domäner, mejl, omdirigeringar och sökinställningar tillsammans och kontrollera dem efter flytten.
Kapitel 08Lösenord, tvåfaktorsinloggning, åtkomstnycklar, gamla konton och kvarlämnade filer.
Kapitel 09Ta hand om det en angripare lämnat i Google och få grunderna på plats.
Kapitel 10En redigerare ägaren kan använda, där vanliga ändringar hålls åtskilda från layouten.
Kapitel 11–12Om du är osäker på vad som finns under ytan på din egen webbplats tittar jag gärna på det.
Berätta om din webbplats →