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: