OVH Community, votre nouvel espace communautaire.

Apache - Exécution de scripts - Pirate?


nulos182
10/02/2016, 11h50
Bonjour,

Merci à tous pour vos retour.
Je viens de voir que le serveur apache avait une configuration de virtual host de masse.
Pensez-vous que cette configuration peut favoriser les attaques?

Voici le vhost:
Code:
VirtualHost x.x.x.x>
 UseCanonicalName Off
 VirtualDocumentRoot /home/user/%2+/%1
 AddDefaultCharset UTF-8
 
 php_value default_charset "utf-8"
 php_admin_value disable_functions "exec,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,system"
 php_admin_value suhosin.request.max_vars 8192
 php_admin_value suhosin.post.max_vars 8192
 php_admin_value max_input_vars 8192
 
 
  RewriteEngine on
  
  RewriteCond %{HTTP_HOST} ^([^\.]+)\.(com|net|eu|fr|org|be|biz|info|cc|pro|tv|mobi|tel)(/.*)?$ [NC]
  RewriteRule ^(/)?(.*)?$ http://www.%{HTTP_HOST}/$2 [R=301,QSA]
 
 
 
  Require all granted
  Options -Indexes
  
  ErrorDocument 404 http://www.site.com
 
   
  AllowOverride All
  ErrorDocument 404 default
 
 
 CustomLog /var/log/apache2/user-access.log combined
 ErrorLog /var/log/apache2/user-error.log



 Servername www.site.com
 DocumentRoot /home/user/site.com/www
 AddDefaultCharset UTF-8
 
 php_value default_charset "utf-8"
 php_admin_value disable_functions "exec,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,system"
 php_admin_value suhosin.request.max_vars 8192
 php_admin_value suhosin.post.max_vars 8192
 php_admin_value max_input_vars 8192
 
 Alias /phpmyadmin /usr/share/phpmyadmin

 
  Require all granted
  Options -Indexes
  
  ErrorDocument 404 http://www.site.com
 
 
  AllowOverride All
  ErrorDocument 404 default
 
 
 CustomLog /var/log/apache2/user-access.log combined
 ErrorLog /var/log/apache2/user-error.log
Encore merci de votre aide.

shirokoweb
08/02/2016, 20h09
Bien que les "pirates" utilisent la même méthode, il se peut qu'il ne s'agisse que d'un plugin codé avec les pieds et non pas d'un "hacker".

Au regard du log, on dirait un plugin WordPress du nom d'adminer, ça te parle ?

-rw-r--r-- 1 www-data www-data 58 Jan 28 15:23 adminer.invalid
-rw-rw---- 1 www-data www-data 32 Oct 21 17:39 adminer.key

Si c'est adminer, il semblerait qu'un de ses fichiers écrive (pour une raison obscure car je ne connais pas ce plugin) dans ton dossier /tmp/ via le code echo ' pour ensuite les utiliser (avec la base de données ?).

On dirait un genre de sauvegarde des "préférences utilisateur" ou qu'il tente de faire un "backup" temporaire (hors d'un BDD), peut être à l'aide de cookies...

J'ai l'impression que ce plugin fasse planter de nombreux sites et pose surtout de sérieux problèmes de sécurité puisque il semble sauvegarder ces fichiers dans des dossiers publics O_O
Exemple : : http://www.roanokeroofingcontractor....ntent/uploads/

Parfois, un garagiste est capable de trouver une panne juste au bruit que fait le moteur, parfois il doit mettre les mains dans le cambouis, comme ici, les logs fournis ne nous en diront pas plus, désolé.

sich
08/02/2016, 19h47
Un bon conseil, donné + haut....
Réinstaller tout le serveur, restaurer les backups avant l'attaque, mettre à jour tous les sites pour éviter que ça se reproduise...

bbr18
08/02/2016, 17h02
je ne voudrais pas être pessimiste mais ça sens mauvais....

nulos182
08/02/2016, 16h20
Merci de ta réponse.

Oui j'ai changé la valeur site1.com etc...

Je viens de voir que dans /tmp j'ai beaucoup de fichiers:
Code:
rw-------  1 www-data www-data     52 Feb  3 13:16 HERwqsadzzLXXG
-rw-------  1 www-data www-data     52 Feb  3 12:27 HERwqsadzzTC13
-rw-------  1 www-data www-data     52 Feb  3 12:27 HERwqsadzziZVF
-rw-------  1 www-data www-data     52 Feb  3 12:44 HERwqsadzzpmGz
-rw-r--r--  1 www-data www-data 105412 Jan 30 00:53 Jasmine
-rw-r--r--  1 www-data www-data      0 Jan 30 00:52 a).click(function () {?        var clickedid = $(this).attr(href);?        $(.nav-tab-wrapper
-rw-r--r--  1 www-data www-data      0 Jan 30 00:52 a).each(function (index) {?        if ($(this).attr(href) == (window.location.hash || "#backwpup-tab-general")) {?            $(this).addClass(nav-tab-active);?        }?    });?    $(.nav-tab-wrapper
-rw-r--r--  1 www-data www-data      0 Jan 30 00:52 a).removeClass(nav-tab-active);?    $(.nav-tab-wrapper
-rw-r--r--  1 www-data www-data      2 Feb  5 03:20 a2a51634fa6d2f7a8ecf0aa46e6982b1l1
-rw-r--r--  1 www-data www-data      2 Feb  5 03:20 a2a51634fa6d2f7a8ecf0aa46e6982b1l1b
-rw-r--r--  1 www-data www-data   3344 Jan 30 00:53 a:first).on(click, function(e){????e.preventDefault();???});??}???$(document).on(touchstart, #header
-rw-r--r--  1 www-data www-data   3374 Jan 30 00:52 a:first).on(click, function(e){????e.preventDefault();???});????$(document).on(touchstart, #header
-rw-r--r--  1 www-data www-data     58 Jan 28 15:23 adminer.invalid
-rw-rw----  1 www-data www-data     32 Oct 21 17:39 adminer.key
-rw-r--r--  1 www-data www-data    573 Jan 30 00:53 div).css(position, absolute);???var widt = false;???$(#colorSelector2).bind(click, function() {????$(#colorpickerHolder2).stop().animate({height: widt ? 0 : 173}, 500);????widt = !widt;???});???$(#colorpickerField1,
-rw-r--r--  1 www-data www-data    591 Jan 30 00:53 div).css(position, absolute);????var widt = false;????$(#colorSelector2).bind(click, function() {?????$(#colorpickerHolder2).stop().animate({height: widt ? 0 : 173}, 500);?????widt = !widt;????});????$(#colorpickerField1,
-rw-r--r--  1 www-data www-data   2764 Jan 30 00:52 h3
-rw-r--r--  1 www-data www-data    190 Jan 30 00:52 input:last,
-rw-r--r--  1 www-data www-data      0 Jan 30 00:51 li
-rw-------  1 www-data www-data 283805 Feb  8 12:37 php09RwQO
-rw-------  1 www-data www-data 402219 Feb  8 12:37 phpGVzBsC
-rw-------  1 www-data www-data 176860 Feb  8 17:14 phpTo8QKx
-rw-------  1 www-data www-data 402219 Feb  8 12:37 phpbz5Nj4
-rw-------  1 www-data www-data 283805 Feb  8 12:37 phpsHDeFH
-rw-------  1 www-data www-data 402219 Feb  8 12:37 phpwlkyB2
-rw-------  1 www-data www-data 283805 Feb  8 12:37 phpzxnv8x
-rw-r--r--  1 www-data www-data      0 Jan 30 00:53 td,
-rw-------  1 www-data www-data     53 Feb  8 12:38 tetqwqsad04ZDfM
-rw-------  1 www-data www-data      0 Feb  6 05:09 tetqwqsad06BSQJ
-rw-------  1 www-data www-data      0 Jan 30 17:20 tetqwqsad0A6rgN
-rw-------  1 www-data www-data  10054 Feb  5 18:24 tetqwqsad0D7KOh
-rw-------  1 www-data www-data      0 Feb  7 04:10 tetqwqsad0O5oum
-rw-------  1 www-data www-data      0 Feb  4 22:00 tetqwqsad0PGL9y
-rw-------  1 www-data www-data      0 Feb  6 15:23 tetqwqsad0jNTUd
-rw-------  1 www-data www-data      0 Feb  4 21:55 tetqwqsad0yXLVl
-rw-------  1 www-data www-data      0 Feb  7 03:37 tetqwqsad0zOhdv
-rw-------  1 www-data www-data  10235 Feb  3 19:14 tetqwqsad15r3ez
-rw-------  1 www-data www-data  14875 Feb  8 10:43 tetqwqsad1AGJ37
-rw-------  1 www-data www-data     51 Feb  8 12:38 tetqwqsad1OuLT3
-rw-------  1 www-data www-data      0 Feb  4 22:06 tetqwqsad1YJU3L
-rw-------  1 www-data www-data      0 Feb  8 06:39 tetqwqsad1hRG2c
-rw-------  1 www-data www-data      0 Feb  6 02:42 tetqwqsad26TVnn
-rw-------  1 www-data www-data      0 Feb  3 22:02 tetqwqsad2IpDw8
-rw-------  1 www-data www-data      0 Feb  5 01:25 tetqwqsad2KcTk3
-rw-------  1 www-data www-data      0 Feb  1 10:43 tetqwqsad2YM4Mk
-rw-------  1 www-data www-data      0 Feb  1 05:35 tetqwqsad2cKcWz
-rw-------  1 www-data www-data      0 Feb  1 18:59 tetqwqsad2lPQrb
-rw-------  1 www-data www-data      0 Feb  5 01:39 tetqwqsad2w5WZm
-rw-------  1 www-data www-data     53 Feb  8 12:38 tetqwqsad3Lzhnr
-rw-------  1 www-data www-data  14807 Feb  6 15:01 tetqwqsad3RN1z3
-rw-------  1 www-data www-data      0 Feb  1 14:13 tetqwqsad3aEbiC
-rw-------  1 www-data www-data      0 Feb  1 05:54 tetqwqsad3bF6aa
-rw-------  1 www-data www-data      0 Feb  5 01:51 tetqwqsad3chF9p
-rw-------  1 www-data www-data      0 Feb  3 13:57 tetqwqsad3uSed7
Je n'arrive pas à lire le comptenu:
Code:
# base64 --decode tetqwqsadyzA1mu
base64: invalid input
merci.

shirokoweb
08/02/2016, 15h28
Typique des corruptions de serveurs / sites.

base64_encode(), str_rot13() et gzinflate sont les moyens préférés des "pirates" pour obfursquer du code php malicieux dans les fichiers .php et les dossiers /tmp/ sont leurs dossier préférés pour stocker des fichiers prêts à être exploités.

Question(s) :

- site.com && site1.com sont des strings que TU as remplacé ?
- as-tu des fichiers tetqwqsadjcF0ZJ et tetqwqsadqERp0I dans ton dossier /tmp/ ? Si oui, que donne leur contenu ? (base64_decode pour mémoire).

nulos182
08/02/2016, 13h03
Bonjour,

Merci de ta réponse.
Avant de posté sur le forum, j'ai redémarré apache et tout est revenu dans l'ordre.
Code:
# cat /etc/debian_version 
8.2
Merci.

bbr18
08/02/2016, 12h27
ça sent le hack donc réinstallation...
quelle distribution et est-elle à jour ?

nulos182
08/02/2016, 12h03
Bonjour à tous,

Je trouvais mon serveur dédié très lent ce matin.
En regardant les processus j'ai pu voir qu'il y avait différents script qu'exécuté apache:

Code:
root     20391  0.0  0.1 140880 19156 ?        Ss    2015  33:54 /usr/sbin/apache2 -k start
www-data  8658  0.4  0.2 167804 29500 ?        S    04:36   2:01  \_ /usr/sbin/apache2 -k start
www-data 30949  0.0  0.0   1976   512 ?        S    12:35   0:00  |   \_ sh -c cd /tmp/; echo ' tetqwqsadqERp0I;ls -la
www-data 30963  6.3  0.0   7048  4740 ?        R    12:35   0:00  |       \_ ls -la
www-data 24135  0.4  0.2 168736 35576 ?        S    04:38   1:57  \_ /usr/sbin/apache2 -k start
www-data 30820  0.0  0.0   1976   516 ?        S    12:35   0:00  |   \_ sh -c cd /tmp/; echo ' tetqwqsadjcF0ZJ;ls -la
www-data 30836  6.1  0.0   7048  4716 ?        R    12:35   0:00  |       \_ ls -la
[...]


A quoi ça correspond? Est-ce de mauvais droits sur les sites?

D'avance merci de votre aide.

Cordialement,
Nulos