[Perl] Emails Extractor 0.2

  • 3 Respuestas
  • 5516 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Perl] Emails Extractor 0.2

  • en: Diciembre 27, 2013, 11:35:38 am
Un simple script en Perl para buscar direcciones de correo en :

  • Un archivo de texto cualquiera[/li]
  • Una pagina[/li]
  • Usando un dork en google para scanear todas las paginas encontradas con el dork[/li]
  • Lo mismo que el anterior pero en bing[/li][/list]

    El codigo.

    Código: Perl
    1.  #!usr/bin/perl
    2. #Email Extractor 0.2
    3. #(C) Doddy Hackman 2013
    4. #Credits : Regex based on
    5. #http://stackoverflow.com/questions/15710275/print-email-addresses-to-a-file-in-perl
    6. #Thanks to motherconfessor & amon
    7.  
    8. use LWP::UserAgent;
    9. use URI::Escape;
    10.  
    11. my $nave = LWP::UserAgent->new;
    12. $nave->agent(
    13. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
    14. );
    15. $nave->timeout(10);
    16.  
    17. my $buscador = qr/[A-Z0-9._%+-]+\@[A-Z0-9.-]+\.[A-Z]{2,4}/i
    18.   ;    # Thanks to motherconfessor & amon
    19. my @emails;
    20.  
    21. head();
    22.  
    23. if ( $ARGV[0] eq "-file" ) {
    24.  
    25.     print "\n</li><li type="square"> Opening file ...\n";[/li][/list]
    26.  
    27.     if ( -f $ARGV[1] ) {
    28.  
    29.         my $code = openfile( $ARGV[1] );
    30.  
    31.         while ( $code =~ /($buscador)/g ) {
    32.             my $email = $1;
    33.             push( @emails, $email );
    34.         }
    35.  
    36.         my @emails = repes(@emails);
    37.  
    38.         print "\n</li><li type="square"> Mails Found : " . int(@emails) . "\n";[/li][/list]
    39.  
    40.         for (@emails) {
    41.             savefile( $ARGV[2], $_ );
    42.         }
    43.  
    44.     }
    45.     else {
    46.         print "\n[-] File not found\n";
    47.     }
    48.  
    49. }
    50. elsif ( $ARGV[0] eq "-google" ) {
    51.  
    52.     print "\n</li><li type="square"> Searching in Google ...\n";[/li][/list]
    53.  
    54.     my @links = google( $ARGV[1], $ARGV[2] );
    55.  
    56.     print "</li><li type="square"> Scanning [" . int(@links) . "] pages ...\n";[/li][/list]
    57.  
    58.     for my $ink (@links) {
    59.         my $code = toma($ink);
    60.  
    61.         while ( $code =~ /($buscador)/g ) {
    62.             my $email = $1;
    63.             push( @emails, $email );
    64.         }
    65.  
    66.     }
    67.  
    68.     my @emails = repes(@emails);
    69.  
    70.     print "\n</li><li type="square"> Mails Found : " . int(@emails) . "\n";[/li][/list]
    71.  
    72.     for (@emails) {
    73.         savefile( $ARGV[2], $_ );
    74.     }
    75.  
    76. }
    77. elsif ( $ARGV[0] eq "-bing" ) {
    78.  
    79.     print "\n</li><li type="square"> Searching in Bing ...\n";[/li][/list]
    80.  
    81.     my @links = bing( $ARGV[1], $ARGV[2] );
    82.  
    83.     print "</li><li type="square"> Scanning [" . int(@links) . "] pages ...\n";[/li][/list]
    84.  
    85.     for my $ink (@links) {
    86.         my $code = toma($ink);
    87.  
    88.         while ( $code =~ /($buscador)/g ) {
    89.             my $email = $1;
    90.             push( @emails, $email );
    91.         }
    92.  
    93.     }
    94.  
    95.     my @emails = repes(@emails);
    96.  
    97.     print "\n</li><li type="square"> Mails Found : " . int(@emails) . "\n";[/li][/list]
    98.  
    99.     for (@emails) {
    100.         savefile( $ARGV[3], $_ );
    101.     }
    102.  
    103. }
    104. elsif ( $ARGV[0] eq "-page" ) {
    105.  
    106.     my $code = toma( $ARGV[1] );
    107.  
    108.     print "\n</li><li type="square"> Loading page ...\n";[/li][/list]
    109.  
    110.     while ( $code =~ /($buscador)/g ) {
    111.         my $email = $1;
    112.         push( @emails, $email );
    113.     }
    114.  
    115.     my @emails = repes(@emails);
    116.  
    117.     print "\n</li><li type="square"> Mails Found : " . int(@emails) . "\n";[/li][/list]
    118.  
    119.     for (@emails) {
    120.         savefile( $ARGV[2], $_ );
    121.     }
    122.  
    123. }
    124. else {
    125.     sintax();
    126. }
    127.  
    128. copyright();
    129.  
    130. # Functions
    131.  
    132. sub bing {
    133.  
    134.     my ( $a, $b ) = @_;
    135.     for ( $pages = 10 ; $pages <= $b ; $pages = $pages + 10 ) {
    136.         my $code =
    137.           toma( "http://www.bing.com/search?q=" . $a . "&first=" . $pages );
    138.  
    139.         while ( $code =~ /<h3><a href="(.*?)"/mig ) {
    140.             push( @founds, $1 );
    141.         }
    142.     }
    143.     my @founds = repes( cortar(@founds) );
    144.     return @founds;
    145. }
    146.  
    147. sub google {
    148.     my ( $a, $b ) = @_;
    149.     my @founds;
    150.     for ( $pages = 10 ; $pages <= $b ; $pages = $pages + 10 ) {
    151.         $code = toma(
    152.             "http://www.google.com.ar/search?hl=&q=" . $a . "&start=$pages" );
    153.         while ( $code =~ /(?<="r"><. href=")(.+?)"/mig ) {
    154.             my $url = $1;
    155.             if ( $url =~ /\/url\?q\=(.*?)\&amp\;/ ) {
    156.                 push( @founds, uri_unescape($1) );
    157.             }
    158.         }
    159.     }
    160.     my @founds = repes( cortar(@founds) );
    161.     return @founds;
    162. }
    163.  
    164. sub cortar {
    165.     my @nuevo;
    166.     for (@_) {
    167.         if ( $_ =~ /=/ ) {
    168.             @tengo = split( "=", $_ );
    169.             push( @nuevo, @tengo[0] . "=" );
    170.         }
    171.         else {
    172.             push( @nuevo, $_ );
    173.         }
    174.     }
    175.     return @nuevo;
    176. }
    177.  
    178. sub toma {
    179.     return $nave->get( $_[0] )->content;
    180. }
    181.  
    182. sub savefile {
    183.  
    184.     if ( $_[0] eq "" ) {
    185.         open( SAVE, ">>logs.txt" );
    186.     }
    187.     else {
    188.         open( SAVE, ">>" . $_[0] );
    189.     }
    190.  
    191.     print SAVE $_[1] . "\n";
    192.     close SAVE;
    193. }
    194.  
    195. sub openfile {
    196.     open my $FILE, q[<], $_[0];
    197.     my $word = join q[], <$FILE>;
    198.     close $FILE;
    199.     return $word;
    200. }
    201.  
    202. sub repes {
    203.     my @limpio;
    204.     foreach $test (@_) {
    205.         push @limpio, $test unless $repe{$test}++;
    206.     }
    207.     return @limpio;
    208. }
    209.  
    210. sub sintax {
    211.     print "\n</li><li type="square"> Sintax : $0 <options> <logs>\n";[/li][/list]
    212.     print "\n</li><li type="square"> Examples : \n\n";[/li][/list]
    213.     print "</li><li type="square"> $0 -file test.txt logs.txt\n";[/li][/list]
    214.     print "</li><li type="square"> $0 -google 50 mailist logs.txt\n";[/li][/list]
    215.     print "</li><li type="square"> $0 -bing 50 mailist logs.txt\n";[/li][/list]
    216.     print "</li><li type="square"> $0 -page http://localhost/index.php logs.txt\n";[/li][/list]
    217. }
    218.  
    219. sub head {
    220.     print "\n-- == Email Extractor 0.2 == --\n";
    221. }
    222.  
    223. sub copyright {
    224.     print "\n-- == (C) Doddy Hackman 2013 == --\n\n";
    225.     exit(1);
    226. }
    227.  
    228. #The End ?
    229.  

    Mostraria un ejemplo de uso pero puedo tener problemas cuando el script devuelve como 500 mails ajenos claramente para spam xD.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5704
  • Actividad:
    36.67%
  • Country: ar
  • Reputación 37
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Re:[Perl] Emails Extractor 0.2

  • en: Diciembre 27, 2013, 11:40:09 am
jojojo! Que buena tool Doddy!
Felicitaciones! Vere si la pruebo en estos dias


Desconectado mayer

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email

Re:[Perl] Emails Extractor 0.2

  • en: Marzo 17, 2015, 12:22:54 pm
nice too see this sadsadadwdadw


 

Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 5331
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 3474
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
[Perl] Counter Strike 1.6 Servers List

Iniciado por BigBear

Respuestas: 0
Vistas: 2560
Último mensaje Noviembre 12, 2012, 07:32:11 pm
por BigBear
[Perl] Iframe DDos Attack Tool

Iniciado por BigBear

Respuestas: 0
Vistas: 2445
Último mensaje Julio 03, 2011, 10:06:45 pm
por BigBear
[Perl] Search in google for scan SQLI

Iniciado por BigBear

Respuestas: 0
Vistas: 2599
Último mensaje Julio 03, 2011, 09:49:49 pm
por BigBear