Another one bites the dust

rottenappleDe laatste dagen wordt OBA erg geplaagd door bots die proberen in te loggen als admin.
Het is geen gerichte aanval.
Afgezien van het feit dat het script het password probeert te raden aan de hand van een woordenlijst waar het password niet uit afkomstig is, bestaat ook de gebruiker “admin” niet.
We zijn dus redelijk safe, maar de beheerder krijgt wel bij elke mislukte poging een waarschuwing.
Ik zag in de log meerdere pogingen binnen 1 minuut, niet gek dus dat de beheerder me vroeg om hier iets aan te doen.
Dat was nog niet eens zo simpel.
Een vorig script was nog erg makkelijk af te slaan, doordat het een zeer oude browser nabootste, maar dit script presenteert zichzelf als een recente versie van Firefox, en vult zelfs het referer-veld in met de naam van de website die hij aanvalt.

De bot gaat zonder omwegen naar wp-login.php
Er is een plugin die daar een stokje voor steekt, en die heb ik eerst maar eens geĂ¯nstalleerd.
HC Custom WP-Admin URL zorgt er voor dat de url die je nodig hebt om in te loggen verandert in een waarde die je zelf kan instellen.
Hij verandert niets aan wp-login.php, maar hij voegt een redirect toe aan de .htaccess file.
Je kan nog steeds via de oude url wp-login.php bereiken, maar doordat de plugin zichzelf tussen wp-login.php en wordpress nestelt, kom je daarlangs niet meer binnen.
Dat loste het probleem al voor 99% op.
Nog op te lossen was :

  • Inloggen gebeurt op de back-end en ik houd bots bij voorkeur al op de proxy-server tegen.
  • De links die wordpress genereert werken niet meer.

Hoewel een deel van de beveiliging weer ongedaan gemaakt wordt, als je je login links openbaar maakt, kun je daar met een groot ledenbestand niet omheen.
Ik heb dus wat code toegevoegd aan de plugin, zodat hij zelf geldige links produceert als wordpress de login link op de voorpagina probeert te schrijven. Dat was iets lastiger dan het leek; in de testomgeving werkte het goed, maar in productie ontstond er een redirect-loop, waardoor ik niet kon inloggen. De truuk was, om ?reauth=1 achter de login link te plakken. Het is een parameter die wordpress vertelt dat je wil inloggen, zelfs als je al een loggedin cookie hebt. Kennelijk voorkomt het tevens dat wordpress een redirect terugstuurt.

De bot gebruikt een fake referer als hij wp-login.php opvraagt. Het is de hostnaam zelf, gevolgd door /wp-login.php
In werkelijkheid heeft hij de site niet eerder bezocht. Echte logins zullen de nieuwe url als referer hebben, dus ik heb speciaal voor dit geval een rule in de proxyserver opgenomen : bij proberen om in te loggen met deze referer krijg je een error 404.
Dat gebeurt met opzet, omdat error 404 de fail2ban server waarschuwt. Probeer je het nog een keer, dan krijg je een 24 uur ip-ban.
Die rule bestond al, want daarmee worden alle bots die desperately op zoek zijn naar een beveiligingslek geweerd.
Fail2ban kost 1% cpu-tijd, maar het is wel de makkelijkste manier om dit soort bots buiten de deur te houden. Het zou PHP veel meer kosten om hetzelfde te doen.

Read Offline:
This entry was posted in Wordpress. Bookmark the permalink.

7 Responses to Another one bites the dust

  1. knutselsmurf says:

    Ik vond het al zo raar dat uitgerekend mijn berichtje niet gepubliceerd werd op OBA.
    Dat kwam door een nieuwe versie van de Pushpress plugin. Die overschrijft de wijziging die ik had aangebracht om er voor te zorgen dat het ook werkt met 2 abonnees. ( Ja, ik heb abonnees. OBA, Google en nog een rare zoekmachine.

  2. ramireziblog says:

    Vreemde wereld waarin de bots leven – ben je niet bang dat je degene die erachter zit met deze blog niet wijzer maakt dan hij zou moeten worden?

  3. knutselsmurf says:

    Nee, want het is een ongerichte aanval. De makers van de bot leunen achterover en wachten tot hij terugkomt met een resultaat. Veel andere blogs hebben er ook last van.
    Zodra ze binnengedrongen zijn, wordt het slachtoffer ook onderdeel van het botnetwerk. Als je de ip’s controleert, zijn het allemaal blogs zoals dat van ons.
    Het blijft maar doorgaan, zag ik in de logs. De aanvallen komen in golven. 100 Hits per uur.

  4. Wllm Kalb says:

    Wat drijft zo iemand? Is het leuk om binnen te dringen? De eeuwige mannenwens tot penetreren?

  5. knutselsmurf says:

    Nee, het heeft weinig met sex te maken en degene die er achter zit hoeft ook geen man te zijn. Het is een poging om een botnet te creeren. Met dat botnet kunnen de hackers aanvallen uitvoeren, op bijvoorbeeld een bank, zoals laatst een paar keer gebeurd is. Door te dreigen met zo’n aanval kun je bedrijven afpersen. Je kan ook het betalingsverkeer saboteren.

  6. Dauw says:

    Ook ik krijg tot nu toe mijn publicatie van vandaag blijkbaar niet geplaatst…
    Gelukkig spelen jullie telkens weer voor reddende engel.

    Alvast bedankt daarvoor!
    đŸ˜‰

  7. knutselsmurf says:

    Dat is slecht nieuws. We hebben laatst ontdekt dat Blogspot abonnementen automatisch beeindigt na 10 dagen en daarop heb ik een job gemaakt die ze elke week automatisch verlengt. Dit zou betekenen dat die job gefaald heeft. Ik hoop dat dat niet waar is.

Leave a Reply

Your email address will not be published.