[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Machine vérolée



Le vendredi 23 juin 2023 à 10:10:04 UTC+2, BERTRAND Joël a écrit :
> Bonjour à tous, 
> 
> Je reviens au sujet de ma machine vérolée. J'ai un peu avancé sur le 
> sujet. J'ai trouvé la porte d'entrée et corrigé. 
> 
> Le processus hwm est un mineur de bitcoin. Celui-ci a été éradiqué et 
> ne revient plus m'embêter. 
> 
> À intervalle régulier (ce matin à 08h50 par exemple), j'ai deux 
> processus qui déboulent : 
> 
> 30269 www-data 20 0 10816 7088 3336 S 0,0 0,0 0:00.65 
> /usr/local/apache/bin/httpd -DSSL 
> 30275 www-data 20 0 10820 6660 2936 S 0,0 0,0 0:00.12 
> /usr/local/apache/bin/httpd -DSSL 
> 
> Petit problème : 
> # ls -l /usr/local/apache/bin/httpd 
> ls: impossible d'accéder à '/usr/local/apache/bin/httpd': Aucun fichier 
> ou dossier de ce type 
> 
> Un strace m'indique que le premier est un client, le second un serveur. 
> Aucune idée de ce qu'ils font réellement, ça ne passe pas le firewall : 
> 
> connect(3, {sa_family=AF_INET, sin_port=htons(80), 
> sin_addr=inet_addr("18.216.210.232")}, 16) = 0 
> getsockname(3, {sa_family=AF_INET, sin_port=htons(48478), 
> sin_addr=inet_addr("192.168.15.18")}, [128 => 16]) = 0 
> write(3, "NICK xxx1851\n", 13) = 13 
> getsockname(3, {sa_family=AF_INET, sin_port=htons(48478), 
> sin_addr=inet_addr("192.168.15.18")}, [128 => 16]) = 0 
> write(3, "USER xxx2113 192.168.15.18 18.21"..., 51) = 51 
> clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=2, tv_nsec=0}, 
> 0x7fff7e181650) = 0 
> pselect6(8, [3], NULL, NULL, {tv_sec=0, tv_nsec=600000000}, NULL) = 1 
> (in [3], left {tv_sec=0, tv_nsec=599995615}) 
> read(3, "\r\n\r\nDisconnected\r\n", 4096) = 18 
> pselect6(8, [3], NULL, NULL, {tv_sec=0, tv_nsec=600000000}, NULL) = 1 
> (in [3], left {tv_sec=0, tv_nsec=599996008}) 
> read(3, "", 4096) = 0 
> close(3) = 0 
> socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 3 
> fcntl(3, F_SETFD, FD_CLOEXEC) = 0 
> ioctl(3, TCGETS, 0x7fff7e181460) = -1 ENOTTY (Ioctl() inapproprié 
> pour un périphérique) 
> lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Repérage non permis) 
> fcntl(3, F_SETFD, FD_CLOEXEC) = 0 
> ioctl(3, TCGETS, 0x7fff7e181460) = -1 ENOTTY (Ioctl() inapproprié 
> pour un périphérique) 
> lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Repérage non permis) 
> connect(3, {sa_family=AF_INET, sin_port=htons(80), 
> sin_addr=inet_addr("18.216.210.232")}, 16) = -1 ETIMEDOUT (Connexion 
> terminée par expiration du délai d'attente) 
> close(3) = 0 
> socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 3 
> fcntl(3, F_SETFD, FD_CLOEXEC) = 0 
> ioctl(3, TCGETS, 0x7fff7e181460) = -1 ENOTTY (Ioctl() inapproprié 
> pour un périphérique) 
> lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Repérage non permis) 
> fcntl(3, F_SETFD, FD_CLOEXEC) = 0 
> ioctl(3, TCGETS, 0x7fff7e181460) = -1 ENOTTY (Ioctl() inapproprié 
> pour un périphérique) 
> lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Repérage non permis) 
> 
> Vu ce que je trouve dans le répertoire cwd de l'un des processus 
> (/tmp/.wwwodsfidsfe) : 
> 
> # ls -alR 
> .: 
> total 8084 
> drwxrwxrwx 3 www-data www-data 4096 23 juin 08:50 . 
> drwxrwxrwt 10 root root 36864 23 juin 09:56 .. 
> drwxr-xr-x 2 www-data www-data 4096 23 juin 09:56 fs 
> -rw-rw-rw- 1 www-data www-data 8218683 23 juin 08:49 gg.tgz 
> 
> ./fs: 
> total 14928 
> drwxr-xr-x 2 www-data www-data 4096 23 juin 09:56 . 
> drwxrwxrwx 3 www-data www-data 4096 23 juin 08:50 .. 
> -rw-r--r-- 1 www-data www-data 24565 4 août 2022 1.html 
> -rw-r--r-- 1 www-data www-data 3014144 23 juin 08:50 abe 
> -rw-rw-rw- 1 www-data www-data 26 23 juin 09:56 bb 
> -rw-r--r-- 1 www-data www-data 34 3 août 2022 d 
> -rw-r--r-- 1 www-data www-data 26098 22 juin 09:10 da.html 
> -rw-rw-rw- 1 www-data www-data 33699 23 juin 09:55 di.html 
> -rw-r--r-- 1 www-data www-data 9235803 17 févr. 2022 git 
> -rw-rw-rw- 1 www-data www-data 29 23 juin 09:35 has 
> -rw-r--r-- 1 www-data www-data 43777 3 août 2022 me 
> -rw-r--r-- 1 www-data www-data 246233 14 juil. 2022 ok 
> -rw-r--r-- 1 www-data www-data 2598092 3 août 2022 ola 
> 
> le truc en question doit être un genre de serveur de mails qui envoie du 
> pishing à la terre entière. Ces deux processus sont lancés par un script 
> sh qui reste dans l'état de zombie très longtemps. Le parent est init 
> (tant qu'à faire). Je n'arrive pas à trouver par quoi ce truc est lancé 
> périodiquement. Sans doute un processus avec les droits www-data. 
> 
> Sur cette machine, les seules choses tournant avec les droits www-data 
> sont : 
> - un serveur apache2 (debian/testing) 
> - php 8.2 (et 7.4 pour un blog b2 evolution) 
> - trois sites SPIP (4.1.10 à jour, y compris les plugins) 
> 
> Je n'ai rien trouvé dans le cron, rien dans les tâches planifiées des 
> sites en question, rien dans les logs. Je ne sais plus où chercher. 
> 
> Si je tue ces deux processus, au bout d'un certain temps, ils reviennent. 
> 
> Ma question est donc assez simple ;-) Comment trouver par quoi sont 
> lancés ces deux processus ? 
> 
> Bien cordialement, 
> 
> JB

C'est pas evident !
Le mieux de facon succint et de mettre chez un prestataire et de passe par lui pour tampons ...

Sinon pour les processus, un historique dans /var/log avec des grep sur ps si ca a ete logge doit pouvoir aider ?

-- 
Ptilou
Je trouve que le niveau descend, ou peut etre c'est moi qui monte ? Toutes ces photos dans les pseudos ....


Reply to: