[Perl]Scanner de port des plus basique

Moderator: Mod

[Perl]Scanner de port des plus basique

Postby kmkz » Fri Feb 29, 2008 3:43 pm

Hello!
Je vous propose mon tout premier tools (codé a mes début en Perl ^^) .
Il s'agit de "Scanport" , un scanner de ports des plus basique mais néanmoins rapide .

Voila, tout est dit ^^!

(le code n'a pas été modifié depuis ,et présente pas mal de "laideur" niveau code ,c'est pourquoi je demanderai de ne pas me dire " utilise les ARGV ou autres , je débutai et je ne l'ai pas modifié volontairement ) Cependant d'autres remarques peuvent s'avéré utile , je les attends. :wink:

[code:1:4aa690ec3a]#!/usr/local/bin/perl

use strict;
use warnings;
use Tk;
my $fen;
$fen = MainWindow->new();
$fen ->minsize('295','85');
$fen -> title("Scanport V1 /By kmkZ! ");
my $texte=$fen -> Label( -text => "Scanport V1 /By kmkZ") -> pack;

use Net::Ping;
use IO::Socket::INET;

$|++; #pas de temporisation
print "+++++ → entrer une IP cible.. : \n";
my $base= <stdin>;
my $p = Net::Ping->new( 'icmp', 5);# délai d'attente sur le ping : 5 secondes



my $host = $base; # d'abord on essaye le ping
if ( $p->ping($host) )
{
print "\r$host : Actif!\n";
}

my @ports=(21,22,23,25,79,80,107,110,138,139,143,194,220,222,1433,1521,3306,5222,5223,5900,6667,6697,8080);# si ça marche, on tente une connexion sur chaque ports voulu (on peu en ajouter bien sur ;) )
for my $port (@ports) {
my $s = IO::Socket::INET->new(
PeerAddr => $host,
PeerPort => $port,
Timeout => 2, # en secondes possibilité de modifié le temps
);
next if !( $s && $s->connected() );
print " i)» port ouvert : $port\n";
close $s;
}


print "\n";
print " #@@@@@@@@@@@@@@@@@@@#\n";
print " @-#BY¤ KMKZ ¤@-#\n";
print " #@@@@@@@@@@@@@@@@@@@#\n";
my $bouton=$fen -> Button( -text => " Cliquer ici pour Fermer ", -command => sub {exit})-> pack;
MainLoop;[/code:1:4aa690ec3a]
User avatar
kmkz
Projets
 
Posts: 120
Joined: Wed Feb 06, 2008 1:25 pm
Location: Carcassonne, Toulouse

Postby Skorm » Fri Feb 29, 2008 4:57 pm

Salut !

tu pourrait en profiter pour faire un petit tuto de comment utiliser ce scrypt nan?
User avatar
Skorm
 
Posts: 792
Joined: Fri Feb 22, 2008 12:01 pm
Location: 127.0.0.1

Postby kmkz » Fri Feb 29, 2008 5:08 pm

Si tu veux , mais je le trouve vraiment simple. donc j'ai pas penser a le faire.

Tu le lance avec l'interpréteur ou la commande "perl" ( perl scanport.pl)
et tu lui donne l'ip a scanné , c'est tout ^^

ps: pour comprendre le code , j'ai pris soin de le commenter

Je suis ouvert au autres questions
User avatar
kmkz
Projets
 
Posts: 120
Joined: Wed Feb 06, 2008 1:25 pm
Location: Carcassonne, Toulouse

Postby Skorm » Fri Feb 29, 2008 5:22 pm

sois plus precis, je sais pas moi, ou tu met le script?
User avatar
Skorm
 
Posts: 792
Joined: Fri Feb 22, 2008 12:01 pm
Location: 127.0.0.1

Postby kmkz » Fri Feb 29, 2008 5:33 pm

-re
Tu fait un copié/collé sur ton bureau , tu le renomme en scanport.pl et ensuite si tu es sous nux tu va dans le terminal =>cd Bureau "entré" puis perl scanport.pl "entré"

Par contre sous Win , tu doit avoir l'interpréteur perl sinon tu ne peu pas exécuter de script perl.
Voili :wink:
User avatar
kmkz
Projets
 
Posts: 120
Joined: Wed Feb 06, 2008 1:25 pm
Location: Carcassonne, Toulouse

Postby Korigan » Fri Feb 29, 2008 5:37 pm

Yopyop,
Tu devrais utiliser des threads ainsi le scan serait N fois plus rapide si tu scan N adresses.

Pour les ports tu pourrais les stoquer dans un fichier de configuration. Ainsi tu pourrais lancer différents types de scan avec le meme script.

Prévoire également de filtrer les résultats interessant et de les atomiser pour qu'ils soient exploitable par un autre script qui pourrait par exemple enchainer avec le scan de failles correspondant aux service découvert sur chaques ip.
Un peu comme dans la logique metasploit, sauf que là tu pourrais te monter une petite plateforme perso :)
User avatar
Korigan
Site Admin
 
Posts: 1781
Joined: Tue May 29, 2007 6:57 pm

Postby kmkz » Fri Feb 29, 2008 5:46 pm

En ce qui concerne les threads : j'y ai pensé et je l'ai fait mais plus tard en Python car a l'époque ou j'ai codé ce scanner de port , je ne savais pas le faire^^.
-Si c'était a refaire ( mais j'ai horreur de recoder mes propres script 6 mois aprés) , je les utiliserai tout en indiquant les services sur les ports ouverts et j'en profiterai pour lancer mon scanner de failles , c'est clair :wink:

Mais comme je l'ai indiqué plus haut=>
[list:6bb7776b2d]Je vous propose mon tout premier tools (codé a mes début en Perl ^^) .
le code n'a pas été modifié depuis ,et présente pas mal de "laideur" niveau code ,c'est pourquoi je demanderai de ne pas me dire " utilise les ARGV ou autres , je débutai et je ne l'ai pas modifié volontairement [/list:u:6bb7776b2d]
User avatar
kmkz
Projets
 
Posts: 120
Joined: Wed Feb 06, 2008 1:25 pm
Location: Carcassonne, Toulouse

Postby Korigan » Fri Feb 29, 2008 6:01 pm

Ok ça marche :)

Tu aurais ton code en python?

J'avais posté un code à ce sujet il y a quelques temps, mais il n'avais pas sucité grandes réactions :P

http://hackbbs.org/phpBB2/viewtopic.php?t=693
User avatar
Korigan
Site Admin
 
Posts: 1781
Joined: Tue May 29, 2007 6:57 pm

Postby realN- » Sat Mar 01, 2008 9:27 pm

Pourquoi réinventer la roue ... en faire 1 pour comprendre le principe OK, mais après ... :)
realN-
Projets
 
Posts: 7
Joined: Mon Feb 25, 2008 2:14 pm


Return to Sécurité Intrusion

Who is online

Users browsing this forum: No registered users and 3 guests

cron