Bekijk Volledige Versie : Brute force attack vanaf eigen server
Van mijn datacenter heb ik een e-mail gekregen waarin staat dat er een brute force attack is uitgevoerd vanaf mijn server naar een andere server. De volgende log is meegestuurd:
**.***.**.*** (ip van mijn server) - - [05/Sep/2014:03:57:30 +0200] "POST /wp-login.php HTTP/1.0" 401 1217 "-" "-"
Nu denk ik dat 1 van mijn klanten via een PHP script een brute force attack uitvoert, alleen weet ik niet hoe ik dit moet traceren. Ik heb al in meerdere log files gekeken, maar kan er niet achter komen.
Mijn systeem draait op Debian.
Is er ergens een log waar ik alle uitgaande request kan inzien? Of weet iemand een andere methode om dit te achterhalen?
In zo'n geval zou ik met name kijken naar de POST statements in de apache logfile(s)
in de websites die een POST hebben een grep -r wp-login.php doen.
en ook in hun sql files.
Vermoedelijk is er een website gehackt en wordt die misbruikt.
Met netstat kun je de uitgaande verzoeken op poort 80 elders in beeld brengen om te zien of het nog bezig is.
Succes ermee! Kost altijd behoorlijk wat uitzoektijd, hopelijk kun je dat declareren.
systemdeveloper
05/09/14, 10:22
Het eerste wat je moet doen is het ip van de server waarop die bruteforce wordt gedaan, blokkeren in je firewall.
Dan zijn zij tenminste van de overlast af.
Daarna kun je eens de scripts van je gebruikers gaan bekijken, eventueel met je ftp logs ernaast of je iets tegenkomt dat niet hoort. Vreemde logins, recente uploads etc.
Als je er dan niet uitkomt kun je altijd een expert vragen om eens te kijken. Maar het 'kan' wel eens een paar uur duren voor het probleem gevonden is. Kan ook op 15 minuten zijn natuurlijk.
Heb al regelmatig van die scripts opgespoort door Linux Malware Detect te draaien...
In zo'n geval zou ik met name kijken naar de POST statements in de apache logfile(s)
in de websites die een POST hebben een grep -r wp-login.php doen.
en ook in hun sql files.
Vermoedelijk is er een website gehackt en wordt die misbruikt.
Met netstat kun je de uitgaande verzoeken op poort 80 elders in beeld brengen om te zien of het nog bezig is.
Succes ermee! Kost altijd behoorlijk wat uitzoektijd, hopelijk kun je dat declareren.
Alle apache log files staan per site in de /home directory. Nu zijn het meer dan 100 sites (draait op Directadmin).
Is er een manier om met een commando door alle mappen te doorlopen in de /home directory, en dan grep -r wp-login.php uit te voeren? Anders moet ik het indivdueel uitvoeren voor elke site.
Alle apache log files staan per site in de /home directory. Nu zijn het meer dan 100 sites (draait op Directadmin).
Is er een manier om met een commando door alle mappen te doorlopen in de /home directory, en dan grep -r wp-login.php uit te voeren? Anders moet ik het indivdueel uitvoeren voor elke site.
Euh "grep -r" is "-R, -r, --recursive Read all files under each directory, recursively"
Om in één script alle logfiles de post statements te zoeken in de apache logfiles zou ik in zo'n geval zoiets doen als:
for i in `locate access_log|grep /home`
do
echo "$i"
cat $i |grep POST >> postlog
done
Succes
Dan heb je in het bestand postlog de sites die een of meer POSTS gehad hebben en die kun je dan in een vergelijkbaar script recursief doorlopen.
Er is geen logfile waar uitgaande requests in staan.
Even een vraag, inhakend op de topic;
Kunnen de access-logs van apache niet voorzien worden van de betreffende domeinnaam of username, door bijv. +username of +domain toe te voegen aan de log-actions oid?
Dat zou een hoop zoekwerk schelen lijkt me en geeft direct een beter overzicht in de logs welke users problemen geven/opleveren.
systemdeveloper
05/09/14, 14:37
Even een vraag, inhakend op de topic;
Kunnen de access-logs van apache niet voorzien worden van de betreffende domeinnaam of username, door bijv. +username of +domain toe te voegen aan de log-actions oid?
Dat zou een hoop zoekwerk schelen lijkt me en geeft direct een beter overzicht in de logs welke users problemen geven/opleveren.
Uhm... eigenlijk heb je dat al aangezien de weblogs aan een domein zijn gekoppeld en een domein aan een user.
Maar dat helpt je niks met uitgaande traffic.
Even een vraag, inhakend op de topic;
Kunnen de access-logs van apache niet voorzien worden van de betreffende domeinnaam of username, door bijv. +username of +domain toe te voegen aan de log-actions oid?
Dat zou een hoop zoekwerk schelen lijkt me en geeft direct een beter overzicht in de logs welke users problemen geven/opleveren.
Je kan ontzettend veel met de apache logs, zel gebruik ik altijd de extended logging of in sommige gevallen een customlog
https://httpd.apache.org/docs/2.4/mod/mod_log_config.html
Ik heb onlangs zelf '%V' in de logs erbij gezet, waarbij daarna mij duidelijk werd dat de output van 2 à 3 domains in de normale Access_log terecht kwamen, alsook in hun eigen DA-home directory.