website stuurt spam via class-phpmailer.php

Status
Niet open voor verdere reacties.

femke98

Meubilair
Lid geworden
16 dec 2006
Berichten
6.679
Infected script that is sending spam:
public_html/wp-includes/class-phpmailer.php

*Possible solutions:*
Install reCaptcha when class.phpmailer.php is used see "Infected script that is sending spam"

You can install the reCaptcha plugin to your website and add the captcha on every page where your website is using the mail function.

Nu had ik allang recaptcha geïnstalleerd, wat keurig werkt.
Het was eerst een andere website (dezelfde server) en nu dus de tweede website.
Gek word ik ervan.

Hosting Versio ;)

Ze vertelde mij:
Ik zie dat de class-phpmailer.php files verouderd zijn.


public $Version = '5.2.27';

De nieuwste versie zit ergens rond de 6.x

Nu heb ik ergens 5.5 gedownload en heb de class-phpmailer.php file inhoudt veranderd.
Maar nu wordt er niets verzonden.

Ik heb gedownload: phpmailer-master en daar zitten allemaal files in.
Ik zie geen class-phpmailer.php
Maar ergens lees ik dat er in de allernieuwste 6.0 geen class-phpmailer.php meer is, dus hoe moet ik deze dan updaten?

De site is uit de lucht (sinterklaas website dus inkomsten mis) en kan alleen in de DirectAdmin.

Wie helpt?
 
Laatst bewerkt:
Is het niet een lek in jouw omliggende contact-script?

Als je PHPmailer 6 wilt installeren, dan kan je dit gebruiken om de boel in te laden:
Code:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
?>

Of gebruik de autoloader, die je erbij krijgt als je hem via composer inlaadt.
Eigenlijk is dit veel beter, dan laadt je alles veel makkelijker in, en kan je al je losse externe pakketten makkelijk beheren en updaten.
 
Laatst bewerkt:
Is het niet een lek in jouw omliggende contact-script?
je bedoeld het contactformulier, die is van contact-form-7 met recaptcha van google en up te date.

ik heb nu een phpmailer-upgrade.sh gedownload, maar snap het even niet.
Composer heb ik niet, is dat er ook voor Linux Mint?

Om heel eerlijk te zijn begrijp ik het niet, kan je stap voor stap mij helpen?

Overigens bedacht ik dat die phpmailer altijd in de WP zat, en die is up te date.
 
.sh bestanden zijn leuk als je via SSH toegang hebt tot de server, maar ik vrees dat Versio dat niet biedt op het normale platform.
Aan composer heb je dan ook niets, mits je lokaal werkt.

Maar je moet ook niet aan andersmans plugins sleutelen. Na een update is alles weer terug bij af, tenzij je het zelf onderhoudt en gaat 'forken' tot een nieuwe versie..
Het feit dat contact-form-7 up-to-date is zegt nog niks. Misschien is het wel een zero-day lek?
Ik denk dat het zinvoller is om te kijken naar wat de logs precies aangeven over de manier van spammen. Nu is het behoorlijk gissen en gokken.
 
Laatst bewerkt:
maar waarom zeggen ze dan dat ik class-phpmailer.php moet updaten?
En hoe doe ik dat?
 
Ga eerst maar uitzoeken hoe het lek misbruikt wordt.
 
This user is not allowed to manage SSH

Begreep dat je in exim het een en ander kan zien.
Maar ik heb geen toegang tot ssh.
Ik kan dus geen /var/log/exim bekijken.

Ik denk dat ik Versio maar eens ga benaderen (had ik al wel, maar krijg amper antwoord).
Deze server is namelijk de enige die het heeft. Ik heb meerdere websites en die hebben nergens last van.
 
Gewoon de normale access_log bekijken, daarin staat vermeld hoe het script aangeroepen is.
Het feit waarheen het gestuurd is, is niet echt van belang tijdens het onderzoek. Zorg eerst dat je het lek vindt!
 
Laatst bewerkt:
Begin met het uitsluiten van toegang tot je includes van buitenaf. Dat is snel gedaan.
Zet het volgende bovenaan in .htaccess
Code:
## cgi, perl, python geen toegang
<FilesMatch "\.(cgi|pl|py)">
Order allow,deny
Deny from all
</FilesMatch>

## rewrite aan
RewriteEngine On
RewriteBase /

## bezoekers geen toegang tot WP includes
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

## extra security
# IF the uri contains http: or https:
RewriteCond %{QUERY_STRING} http\: [OR]
RewriteCond %{QUERY_STRING} https\: [OR]
# OR IF the uri contains [ or ]
RewriteCond %{QUERY_STRING} \[ [OR]
RewriteCond %{QUERY_STRING} \] [OR]
# OR IF the uri contains <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# OR IF the script trying to set a php globals variable via url
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# OR IF any script is trying to modify a _request variable via url
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
# OR IF the uri contains union
RewriteCond %{QUERY_STRING} UNION [OR]
# OR IF the uri contains double slash
RewriteCond %{QUERY_STRING} // [OR]
# OR IF the request contains /proc/self/environ (lfi hack)
RewriteCond %{QUERY_STRING} proc\/self\/environ [OR]
# OR IF the uri contains asterisk
RewriteCond %{QUERY_STRING} \*
# THEN deny the request 403
RewriteRule ^.*$ - [F,L]

## hieronder de rest van je htaccess
## ....
 
Laatst bewerkt:
In contactformulieren die ik maak mag in geen enkel veld een url worden ingevuld. Dit regel ik met Javascript (clientside) én met php (serverside). Als een spammer geen url in een email kan zetten dan is het ineens veel minder aantrekkelijk om spam-emails te sturen.

De nieuwste spam programma's omzeilen reCaptcha 1,2 en 3 (zoek even in YouTube voor demo filmpjes)
 
Thanx Bron, mooie info. Ik ga het in de .htaccess file zetten bij beide websites.
Mijn eigen websites ook maar doen ;)

Heb inderdaad recaptcha 3 geïnstalleerd, terwijl het formulier wat ik gebruikte wel degelijk zoiets had, namelijk een optelsom. Dus ook maar een ander formulier geïnstalleerd (contact -7)

De tip van Versio om Ninjafirewall te installeren heb ik gedaan, terwijl ik toch echt al beveiliging had in de vorm van Wordfence op de ene website en op de andere iThemes security.
Die heb ik uiteraard gehouden.

Op mijn eigen websites heb ik nergens geen last van, nooit gehad ook. Nu opeens met deze twee sinterklaas websites wel terwijl dit vanaf het begin ook nooit is geweest. Heel vreemd.
 
Het is een anti-sint beweging die deze websites infecteert denk ik :(
 
Oké, ik had de mail quota verlaagd, nu krijg ik mail van diegene van de website dat de klanten klagen dat zijn mailbox vil zit.

Er wordt nog steeds spam verstuurd lijkt het wel. He tkomt van Sending Script /home/xxxxxx/domains/hetateliervansinterklaas.nl/public_html/wp-includes/class-phpmailer.php:698

Die class-phpmailer schijnt niet de laatste versie te zijn, maar dat komt toch mee met WP? Die is netjes geupdated, dus ik snap het niet meer.
Heb nu de quota weer anders gezet, maar ja......straks komt er natuurlijk weer een andere melding.
Ik heb dit nog nooit meegemaakt en weet niet meer wat te doen.
 
Onder Joomla wordt het (ook) vaak zo misbruikt.
https://forum.joomla.org/viewtopic.php?t=971214

Het advies is en imho zeker tot er geen oplossing is: zet zoveel mogelijk uit.
On sites I do not use "Contacts", I disable the component:
Extensions > Manage > Manage > [Search Tools] button
filter on: Unprotected + Administrator + Component
Disable all components that you don't use (e.g. Contacts, Newsfeeds)

Ja maar dan zijn er geen contacten mogelijk....
Je kunt altijd het mail adres voor contacten als plaatje laten zien. Dat zie je wel vaker om spam te voorkomen.
Pas als je echt doorgrond hebt hoe je het onder WP kunt oplossen zoals PHP4U schreef, kun je het weer activeren met de dan bekende echt beveiligde methode.

Mss kun je het toch lezen....
 
Oké, ik had de mail quota verlaagd, nu krijg ik mail van diegene van de website dat de klanten klagen dat zijn mailbox vil zit.

Er wordt nog steeds spam verstuurd lijkt het wel. He tkomt van Sending Script /home/xxxxxx/domains/hetateliervansinterklaas.nl/public_html/wp-includes/class-phpmailer.php:698

Die class-phpmailer schijnt niet de laatste versie te zijn, maar dat komt toch mee met WP? Die is netjes geupdated, dus ik snap het niet meer.
Heb nu de quota weer anders gezet, maar ja......straks komt er natuurlijk weer een andere melding.
Ik heb dit nog nooit meegemaakt en weet niet meer wat te doen.
Wat dacht je van de access-log doorspitten?
Je weet nu enkel dat het via de class van phpMailer wordt verstuurd, maar niet via welke ingang. Het kan dus zo zijn dat phpMailer zelf niet de oorzaak is.

Een captcha of andere beveiliging als lapmiddel kan misschien wel zinloos zijn. Het eerste wat je moet doen is het aantal mails limiteren, wat al gedaan is. Dan volgt de zoektocht.
 
Laatst bewerkt:
Vrij zeker dat phpMailer niet de veroorzaker is. PHPMailer is slechts het doorgeefluik. Bij een 'normale' wp installatie kan elk php bestand op je domein email via phpMailer versturen (ook php bestanden die niet bij wp horen).

Wat ik zou doen...
Database backuppen in phpMyAdmin. Een schone installatie voorbereiden. Dan alle huidige bestanden verwijderen en overgaan op de nieuwe installatie met de database backup. Je kan het op een ander (sub)domein of in een submap voorbereiden zodat de website zeer kort uit de lucht is. Het is een paar uur werk maaar je weet dan wel zeker dat alle bestanden schoon zijn.
 
Ik zou ook kijken of je kan achterhalen met het moment dat er spam wordt verstuurd, of je iets bijzonders in de access_log ziet.
Stel eens voor dat het lek in een plug-in of thema zit die nog niet gepatched is? Je kan dan in ieder geval zekerheid hebben waar het lek is, waarna je een lapmiddel kan (laten) maken, waarna je de maker erop kan attenderen.
 
Goed punt van php4u, anders zou je bij een schone versie het spam probleem meenemen :(
 
Stel eens voor dat het lek in een plug-in of thema zit die nog niet gepatched is?
De Ninjascanner heeft geconstateerd dat er geen errors of fouten zijn.
De dagelijkse log die ik krijg is keurig, namelijk 0 aanvallen.

Dagelijks activiteitenverslag voor: https://hetateliervansinterklaas.nl/
Datumbereik Verwerkt: Gisteren, November 24, 2019

Blocked threats: 0 (kritisch: 0, hoog: 0, medium: 0)
Geblokkeerde brute-force-aanvallen: 0

Deze melding kan worden uitgeschakeld vanaf NinjaFirewall "Event Meldingen" pagina .

Acceslog kan ik niet vinden in de DirectADmin.
Where Can I Find the Apache Access Log?
#
For most apache users, the access log will be located at the same location. First, try to navigate to one of the following two directories:

/var/log/apache/access.log
/var/log/apache2/access.log
Wel kan ik de mail in php/php-mail.log?action=edit zien.
Code:
[25-Nov-2019 15:04:08 UTC] mail() on [/home/janvabp321/domains/sinterklaasalmere.nl/public_html/wp-includes/class-phpmailer.php:700]: To: info@ … .nl -- Headers: Date: Mon, 25 Nov 2019 15:04:08 +0000 From: WordPress <wordpress@sint ... .nl> Message-ID: <2ee805963cca143a0f7f7e535bc677da@sint … .nl> X-Mailer: PHPMailer 5.2.27 (https://github.com/PHPMailer/PHPMailer) MIME-Version: 1.0 Content-Type: multipart/mixed; 	boundary="b1_2ee805963cca143a0f7f7e535bc677da" Content-Transfer-Encoding: 8bit
En dat gaat zo door vanaf 14 dec. vorig jaar tot gisteren.
Uiteraard zie je ook gewone mail ertussen staan, van mensen die mailen en ook mijn test mails zie je staan.

Schone installatie is nu niet mogelijk omdat de websites sinterklaas gerelateerd zijn en dus voor inkomsten moeten voorzien. Sinterklaas zou niet happy zijn als de websites nu uit de lucht zouden zijn (heb er nu ook geen tijd voor) omdat hij dan niet geboekt kan worden en het naaiatelier zou moeten stoppen met naaien omdat niemand een pak kan kopen.
In januari of februari zou dat wel kunnen, maar liever niet.

Het hele jaar door geen last, nu opeens wel. Het moet toch ergens vandaan komen? Dat de class van phpMailer de veroorzaker is, dat zegt Versio omdat ze zien dat ik niet de laatste versie heb, tja......het gaat me even boven mijn pet.
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan