PrestaShop 9 neposílá e-maily přes SMTP: chyba portu 587
Objednávky přicházejí, ale neodejde jediný e-mail. Je to chyba PrestaShopu 9 s portem 587: verze 9.2 ji opravuje a dnes…
Píše vám zákazník: když otevřel váš e-shop, okno „ověřte, že jste člověk“ ho požádalo, ať stiskne dvě klávesy, něco vloží a dá Enter. Podíváte se a nic divného nevidíte. Pokud se vám to stalo, váš e-shop na PrestaShopu byl napaden pomocí ClickFix: někdo do něj podstrčil kousek kódu, který vašim návštěvníkům ukazuje falešnou captchu, aby si sami nainstalovali škodlivý program, obvykle takový, který krade hesla.
Samo to nezmizí: někdo se do vašeho e-shopu dostal a nechal to tam. Dá se to vyčistit, ale doopravdy záleží na tom, zavřít dveře, kterými přišel. A nejste sami: 3. září Netskope napočítal přes 5 400 napadených webů v této kampani, téměř všechny malé firmy. Ty, které zkoumali jeden po druhém, byly většinou na WordPressu a někdy na PrestaShopu.
Stránka se za falešnou captchou rozmaže a ta vás požádá, ať stisknete klávesu Windows a R, vložíte a stisknete Enter. To, co se vloží, je příkaz, který stránka předtím bez upozornění zkopírovala, a jeho spuštění nainstaluje program útočníka. Skutečná captcha vás nikdy nežádá, abyste na počítači cokoli otevírali.
To, že to nevidíte, neznamená, že to tam není. Kód ve vašem e-shopu si past při každém otevření stránky stahuje odjinud a útočník rozhoduje, co a komu se ukáže, aniž by na váš e-shop znovu sáhl. Míří na počítače s Windows a varianta, kterou 6. října popsal The Hacker News, dokonce schová program do prohlížeče návštěvníka dřív, než ho o cokoli požádá.
Na začátek stačí snímek obrazovky od zákazníka.
V databázi, v poli, které e-shop vypisuje na každé stránce, nebo v souborech: Netskope ho našel připojený k legitimním souborům JavaScriptu a ve složkách, které napodobují skutečný plugin. Francouzský obchodník, který to 5. října popsal na fóru PrestaShopu, s e-shopem na verzi 1.7.8, v databázi nenašel nic a zadní vrátka byla v souborech v několika složkách.
index.php. Jeden navíc, nebo takový, jehož název začíná tečkou a který váš FTP program skrývá, jsou zadní vrátka.Kontrola v Nástroje → Informace → Seznam změněných souborů sleduje jen to, jestli se změnily soubory jádra: ne šablonu, ne moduly, ne obrázky a ne přidané soubory. Prázdný seznam neznamená čistý e-shop.
Netskope zatím neví, jak byly ty weby napadeny. U PrestaShopu jsou obvyklé dveře modul se známou chybou, který nikdo neaktualizoval, ukradené nebo snadné heslo do administrace a „nulled“ moduly, tedy placené moduly stažené zdarma z pirátských webů, které často přicházejí se zadními vrátky už nainstalovanými.
ps_facetedsearch, modulu filtrů katalogu, který je součástí PrestaShopu: kdokoli i bez účtu mohl na vašem serveru spustit kód. Opravené je to ve verzi 4.0.4; pokud jste měli starší, počítejte s tím, že to mohla být cesta dovnitř. A odeberte moduly, které nepoužíváte./admin. Druhý krok s kódem v telefonu není součástí základu, ale přidá ho modul.Dotazy jen pro čtení; nahraďte ps_ prefixem e-shopu. Warehouse ukládá svá pole s kódem escapovaná, takže hledejte i <script.
SELECT name, LEFT(value, 120)
FROM ps_configuration
WHERE value LIKE '%<script%'
OR value LIKE '%<script%'
OR value LIKE '%eth_call%'
OR name LIKE '%codes_js';
SELECT id_cms, id_lang
FROM ps_cms_lang
WHERE content LIKE '%<script%';
SELECT id_employee, email,
id_profile, active,
last_connection_date
FROM ps_employee
ORDER BY id_employee DESC;
V souborech, z kořenové složky e-shopu:
find img upload download \
-name '*.php' ! -name index.php
find . -name '.*.php'
find . -type f -mtime -30 \
\( -name '*.php' -o -name '*.js' \) \
-not -path './var/cache/*'
grep -rl -e eth_call -e prebsc \
-e bsc-testnet -e claritydelivr \
--include=*.js --include=*.php \
--include=*.tpl .
Indikátory kampaně jsou v seznamu Netskope. Přeinstalovat jádro a moduly z čistých balíčků stejné verze je bezpečnější než mazat soubor po souboru; potom vymažte var/cache a themes/*/assets/cache. PrestaShop 9 obsahuje soubory .htaccess, které blokují spouštění PHP v img, upload, download, js, vendor a modules: ověřte, že tam pořád jsou, a na Nginxu, který je nečte, přeneste ta pravidla do konfigurace serveru.
Pokud jste něco našli a nemáte, kdo by to vyčistil, pokud se to po vyčištění vrátilo, nebo pokud nevíte, kde začít. Je to součást naší služby technické podpory a údržby: vyčistíme e-shop, zjistíme, jak se dostali dovnitř, a zavřeme dveře. Pošlete nám snímek obrazovky od zákazníka a svou verzi PrestaShopu a podíváme se na to ještě ten den nebo další.
Objednávky přicházejí, ale neodejde jediný e-mail. Je to chyba PrestaShopu 9 s portem 587: verze 9.2 ji opravuje a dnes…
Ze zahraničí se načte, ze Španělska ne – a zrovna v den zápasu. Nejde o váš server, ale o zablokovanou IP adresu…
Modul, aplikace, server, který vám dělá potíže, nebo něco naléhavého. Odpovíme do 24 hodin s pevnou nabídkou, cenou a termínem.