[Perl] Shodan Tool 0.6

  • 1 Respuestas
  • 4136 Vistas

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

Desconectado BigBear

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

[Perl] Shodan Tool 0.6

  • en: Abril 10, 2015, 11:31:25 am
Un simple script para hacer busquedas en Shodan con las siguientes opciones :

  • Buscar resultados por IP[/li]
  • Buscar resultados por cantidad[/li]
  • Busqueda normal[/li]
  • Listar los query guardados[/li]
  • Busca los query guardados que ya fueron buscados[/li]
  • Lista los tags mas populares[/li]
  • Lista todos los servicios que shodan encuentra[/li]
  • DNS Lookup[/li]
  • Reverse DNS Lookup[/li]
  • Te devuelve tu IP[/li]
  • Te da informacion sobre tu API[/li][/list]

    Es necesario que tengan una API Key suya para poder usar la API de Shodan.

    Un video con ejemplos de uso :



    El codigo :

    Código: Perl
    1. #!usr/bin/perl
    2. #Shodan Tool 0.6
    3. #(C) Doddy Hackman 2015
    4. #Based on : https://developer.shodan.io/api
    5. #ppm install http://www.eekboek.nl/dl/ppms/Crypt-SSLeay.ppd
    6. #ppm install http://www.bribes.org/perl/ppm/JSON.ppd
    7.  
    8. use LWP::UserAgent;
    9. use JSON;
    10. use Getopt::Long;
    11. use Color::Output;
    12. Color::Output::Init;
    13. use IO::Socket;
    14.  
    15. my $nave = LWP::UserAgent->new( ssl_opts => { verify_hostname => 1 } );
    16. $nave->agent(
    17. "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"
    18. );
    19. $nave->timeout(5);
    20.  
    21. my $api_key = "LY10TuYViggY3GXRzLOUxdp6Kk3Lu9sa";
    22.  
    23. GetOptions(
    24.     "ip=s"           => \$ip,
    25.     "count=s"        => \$count,
    26.     "search=s"       => \$search,
    27.     "query"          => \$query,
    28.     "query_search=s" => \$query_search,
    29.     "query_tags"     => \$query_tags,
    30.     "services"       => \$services,
    31.     "resolve=s"      => \$resolve,
    32.     "reverse=s"      => \$reverse,
    33.     "myip"           => \$myip,
    34.     "api_info"       => \$api_info
    35. );
    36.  
    37. head();
    38.  
    39. if ( $ip ne "" ) {
    40.     if ( $ip =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/ ) {
    41.         You are not allowed to view links. Register or Login by_ip($ip);
    42.     }
    43.     else {
    44.         my $get = You are not allowed to view links. Register or Login($ip);
    45.         my $ip  = inet_ntoa($get);
    46.         by_ip($ip);
    47.     }
    48. }
    49. elsif ( $count ne "" ) {
    50.     by_count($count);
    51. }
    52. elsif ( $search ne "" ) {
    53.     by_search($search);
    54. }
    55. elsif ( $query ne "" ) {
    56.     by_query();
    57. }
    58. elsif ($query_search) {
    59.     by_query_search($query_search);
    60. }
    61. elsif ($query_tags) {
    62.  
    63.     by_query_tags($query_tags);
    64.  
    65. }
    66. elsif ( $services ne "" ) {
    67.     list_services();
    68. }
    69. elsif ( $resolve ne "" ) {
    70.     resolve($resolve);
    71. }
    72. elsif ( $reverse ne "" ) {
    73.     reverse_now($reverse);
    74. }
    75. elsif ( $myip ne "" ) {
    76.     my_ip();
    77. }
    78. elsif ( $api_info ne "" ) {
    79.     api_info();
    80. }
    81. else {
    82.     sintax();
    83. }
    84.  
    85. copyright();
    86.  
    87. # Functions
    88.  
    89. sub by_query_tags {
    90.  
    91.     printear_titulo("\n</li><li type="square"> Listening the most popular tags  ...\n\n");[/li][/list]
    92.  
    93.     my $code =
    94.       toma( "https://api.shodan.io/shodan/query/tags?key=" . $api_key );
    95.  
    96.     $resultado = JSON->new->decode($code);
    97.  
    98.     my $total = $resultado->{'total'};
    99.  
    100.     if ( $total ne "" ) {
    101.         printear("</li><li type="square"> Total : ");[/li][/list]
    102.         You are not allowed to view links. Register or Login $total. "\n\n";
    103.     }
    104.     else {
    105.         printear("[-] WTF !");
    106.     }
    107.  
    108.     my $i = 0;
    109.  
    110.     my @encontrados = @{ $resultado->{'matches'} };
    111.     foreach my $encontrado (@encontrados) {
    112.         my $value = $encontrado->{"value"};
    113.         my $count = $encontrado->{"count"};
    114.  
    115.         $i++;
    116.         You are not allowed to view links. Register or Login "-------------------------------------\n\n";
    117.         if ( $value ne "" ) {
    118.             printear("</li><li type="square"> Value : ");[/li][/list]
    119.             You are not allowed to view links. Register or Login $value. "\n";
    120.         }
    121.  
    122.         if ( $count ne "" ) {
    123.             printear("</li><li type="square"> Count : ");[/li][/list]
    124.             You are not allowed to view links. Register or Login $count. "\n";
    125.         }
    126.  
    127.         You are not allowed to view links. Register or Login "\n-------------------------------------\n";
    128.  
    129.         if ( $i % 5 == 0 ) {
    130.             printear("\n</li><li type="square"> Press enter to show more\n");[/li][/list]
    131.             <STDIN>;
    132.         }
    133.  
    134.     }
    135.  
    136. }
    137.  
    138. sub by_query_search {
    139.  
    140.     my $query = $_[0];
    141.  
    142.     printear_titulo(
    143.         "\n</li><li type="square"> Searching in the directory of saved search queries ...\n\n");[/li][/list]
    144.  
    145.     my $code =
    146.       toma( "https://api.shodan.io/shodan/query/search?key="
    147.           . $api_key
    148.           . "&query="
    149.           . $query );
    150.  
    151.     $resultado = JSON->new->decode($code);
    152.  
    153.     my $total = $resultado->{'total'};
    154.  
    155.     if ( $total ne "" ) {
    156.         printear("</li><li type="square"> Total : ");[/li][/list]
    157.         You are not allowed to view links. Register or Login $total. "\n\n";
    158.     }
    159.     else {
    160.         printear("[-] WTF !");
    161.     }
    162.  
    163.     my $i = 0;
    164.  
    165.     my @encontrados = @{ $resultado->{'matches'} };
    166.     foreach my $encontrado (@encontrados) {
    167.         $i++;
    168.         You are not allowed to view links. Register or Login "-------------------------------------\n\n";
    169.         my $votes       = $encontrado->{"votes"};
    170.         my $description = $encontrado->{"description"};
    171.         my $title       = $encontrados->{"title"};
    172.         my $timestamp   = $encontrados->{"timestamp"};
    173.         my $query       = $encontrados->{"query"};
    174.  
    175.         if ( $votes ne "" ) {
    176.             printear("</li><li type="square"> Votes : ");[/li][/list]
    177.             You are not allowed to view links. Register or Login $votes. "\n";
    178.         }
    179.  
    180.         if ( $description ne "" ) {
    181.             printear("</li><li type="square"> Description : ");[/li][/list]
    182.             You are not allowed to view links. Register or Login $description. "\n\n";
    183.         }
    184.  
    185.         if ( $title ne "" ) {
    186.             printear("</li><li type="square"> Title : ");[/li][/list]
    187.             You are not allowed to view links. Register or Login $title. "\n";
    188.         }
    189.  
    190.         if ( $timestamp ne "" ) {
    191.             printear("</li><li type="square"> Timestamp : ");[/li][/list]
    192.             You are not allowed to view links. Register or Login $timestamp. "\n";
    193.         }
    194.  
    195.         if ( $query ne "" ) {
    196.             printear("</li><li type="square"> Query : ");[/li][/list]
    197.             You are not allowed to view links. Register or Login $query. "\n";
    198.         }
    199.  
    200.         printear("</li><li type="square"> Tags : ");[/li][/list]
    201.         my @tags = @{ $encontrado->{'tags'} };
    202.         foreach my $tag (@tags) {
    203.             You are not allowed to view links. Register or Login $tag. "\t";
    204.         }
    205.         You are not allowed to view links. Register or Login "\n";
    206.  
    207.         You are not allowed to view links. Register or Login "\n-------------------------------------\n";
    208.  
    209.         if ( $i % 5 == 0 ) {
    210.             printear("\n</li><li type="square"> Press enter to show more\n");[/li][/list]
    211.             <STDIN>;
    212.         }
    213.  
    214.     }
    215.  
    216. }
    217.  
    218. sub by_query {
    219.  
    220.     printear_titulo("\n</li><li type="square"> Listening the saved search queries ...\n\n");[/li][/list]
    221.  
    222.     my $code = toma( "https://api.shodan.io/shodan/query?key=" . $api_key );
    223.     $resultado = JSON->new->decode($code);
    224.  
    225.     my $total = $resultado->{'total'};
    226.  
    227.     if ( $total ne "" ) {
    228.         printear("</li><li type="square"> Total : ");[/li][/list]
    229.         You are not allowed to view links. Register or Login $total. "\n\n";
    230.     }
    231.     else {
    232.         printear("[-] WTF !");
    233.     }
    234.  
    235.     my $i = 0;
    236.  
    237.     my @encontrados = @{ $resultado->{'matches'} };
    238.     foreach my $encontrado (@encontrados) {
    239.         $i++;
    240.         You are not allowed to view links. Register or Login "-------------------------------------\n\n";
    241.         my $votes       = $encontrado->{"votes"};
    242.         my $description = $encontrado->{"description"};
    243.         my $title       = $encontrados->{"title"};
    244.         my $timestamp   = $encontrados->{"timestamp"};
    245.         my $query       = $encontrados->{"query"};
    246.  
    247.         if ( $votes ne "" ) {
    248.             printear("</li><li type="square"> Votes : ");[/li][/list]
    249.             You are not allowed to view links. Register or Login $votes. "\n";
    250.         }
    251.  
    252.         if ( $description ne "" ) {
    253.             printear("</li><li type="square"> Description : ");[/li][/list]
    254.             You are not allowed to view links. Register or Login $description. "\n\n";
    255.         }
    256.  
    257.         if ( $title ne "" ) {
    258.             printear("</li><li type="square"> Title : ");[/li][/list]
    259.             You are not allowed to view links. Register or Login $title. "\n";
    260.         }
    261.  
    262.         if ( $timestamp ne "" ) {
    263.             printear("</li><li type="square"> Timestamp : ");[/li][/list]
    264.             You are not allowed to view links. Register or Login $timestamp. "\n";
    265.         }
    266.  
    267.         if ( $query ne "" ) {
    268.             printear("</li><li type="square"> Query : ");[/li][/list]
    269.             You are not allowed to view links. Register or Login $query. "\n";
    270.         }
    271.  
    272.         printear("</li><li type="square"> Tags : ");[/li][/list]
    273.         my @tags = @{ $encontrado->{'tags'} };
    274.         foreach my $tag (@tags) {
    275.             You are not allowed to view links. Register or Login $tag. "\t";
    276.         }
    277.         You are not allowed to view links. Register or Login "\n";
    278.  
    279.         You are not allowed to view links. Register or Login "\n-------------------------------------\n";
    280.  
    281.         if ( $i % 5 == 0 ) {
    282.             printear("\n</li><li type="square"> Press enter to show more\n");[/li][/list]
    283.             <STDIN>;
    284.         }
    285.  
    286.     }
    287.  
    288. }
    289.  
    290. sub list_services {
    291.  
    292.     printear_titulo("\n</li><li type="square"> Listening all services that Shodan crawls ...\n\n");[/li][/list]
    293.  
    294.     my $code = toma( "https://api.shodan.io/shodan/services?key=" . $api_key );
    295.     if ( $code ne "" ) {
    296.         my $i = 0;
    297.         while ( $code =~ /"(.*?)": "(.*?)"/migs ) {
    298.             $i++;
    299.             my $port = $1;
    300.             my $name = $2;
    301.             printear("</li><li type="square"> Port : ");[/li][/list]
    302.             You are not allowed to view links. Register or Login $port. "\n";
    303.             printear("</li><li type="square"> Name : ");[/li][/list]
    304.             You are not allowed to view links. Register or Login $name. "\n\n";
    305.  
    306.             if ( $i % 20 == 0 ) {
    307.                 printear("\n</li><li type="square"> Press enter to show more\n");[/li][/list]
    308.                 <STDIN>;
    309.             }
    310.  
    311.         }
    312.     }
    313.     else {
    314.         You are not allowed to view links. Register or Login "[-] WTF !" . "\n";
    315.     }
    316.  
    317. }
    318.  
    319. sub resolve {
    320.  
    321.     my $hostnames = $_[0];
    322.  
    323.     printear_titulo("\n</li><li type="square"> Working in DNS Lookup ...\n\n");[/li][/list]
    324.  
    325.     my $code =
    326.       toma( "https://api.shodan.io/dns/resolve?hostnames="
    327.           . $hostnames . "&key="
    328.           . $api_key );
    329.     if ( $code ne "" ) {
    330.         while ( $code =~ /"(.*?)": "(.*?)"/migs ) {
    331.             my $host = $1;
    332.             my $ip   = $2;
    333.             printear("</li><li type="square"> Hostname : ");[/li][/list]
    334.             You are not allowed to view links. Register or Login $host. "\n";
    335.             printear("</li><li type="square"> IP : ");[/li][/list]
    336.             You are not allowed to view links. Register or Login $ip. "\n";
    337.         }
    338.     }
    339.     else {
    340.         printear( "[-] WTF !" . "\n" );
    341.     }
    342.  
    343. }
    344.  
    345. sub reverse_now {
    346.  
    347.     $ips = $_[0];
    348.  
    349.     printear_titulo("\n</li><li type="square"> Working in Reverse DNS Lookup ...\n\n");[/li][/list]
    350.  
    351.     my $code = toma(
    352.         "https://api.shodan.io/dns/reverse?ips=" . $ips . "&key=" . $api_key );
    353.     if ( $code ne "" ) {
    354.         while ( $code =~ /"(.*?)": \["(.*?)"\]/migs ) {
    355.             my $ip   = $1;
    356.             my $host = $2;
    357.             printear("</li><li type="square"> IP : ");[/li][/list]
    358.             You are not allowed to view links. Register or Login $ip. "\n";
    359.             printear("</li><li type="square"> Hostname : ");[/li][/list]
    360.             You are not allowed to view links. Register or Login $host. "\n";
    361.         }
    362.     }
    363.     else {
    364.         printear( "[-] WTF !" . "\n" );
    365.     }
    366. }
    367.  
    368. sub my_ip {
    369.     printear_titulo("\n</li><li type="square"> Getting your IP ...\n\n");[/li][/list]
    370.     my $code = toma( "https://api.shodan.io/tools/myip?key=" . $api_key );
    371.     if ( $code =~ /"(.*)"/ ) {
    372.         my $ip = $1;
    373.         printear("</li><li type="square"> IP : ");[/li][/list]
    374.         You are not allowed to view links. Register or Login $ip. "\n";
    375.     }
    376.     else {
    377.         printear( "[-] WTF !" . "\n" );
    378.     }
    379. }
    380.  
    381. sub api_info {
    382.  
    383.     printear_titulo("\n</li><li type="square"> Getting your API Info ...\n\n");[/li][/list]
    384.  
    385.     my $code = toma( "https://api.shodan.io/api-info?key=" . $api_key );
    386.  
    387.     $resultado = JSON->new->decode($code);
    388.     my $unlock_left = $resultado->{"unlocked_left"};
    389.     my $telnet      = $resultado->{"telnet"};
    390.     my $plan        = $resultado->{"plan"};
    391.     my $http        = $resultado->{"https"};
    392.     my $unlocked    = $resultado->{"unlocked"};
    393.  
    394.     if ( $unlock_left ne "" ) {
    395.         printear("</li><li type="square"> Unlocked left : ");[/li][/list]
    396.         You are not allowed to view links. Register or Login $unlock_left. "\n";
    397.     }
    398.     if ( $telnet ne "" ) {
    399.         printear("</li><li type="square"> Telnet : ");[/li][/list]
    400.         You are not allowed to view links. Register or Login $telnet. "\n";
    401.     }
    402.     if ( $plan ne "" ) {
    403.         printear("</li><li type="square"> Plan : ");[/li][/list]
    404.         You are not allowed to view links. Register or Login $plan. "\n";
    405.     }
    406.     if ( $http ne "" ) {
    407.         printear("</li><li type="square"> HTTPS : ");[/li][/list]
    408.         You are not allowed to view links. Register or Login $http. "\n";
    409.     }
    410.     if ( $unlocked ne "" ) {
    411.         printear("</li><li type="square"> Unlocked : ");[/li][/list]
    412.         You are not allowed to view links. Register or Login $unlocked. "\n";
    413.     }
    414.  
    415. }
    416.  
    417. sub by_count {
    418.  
    419.     my $query  = $_[0];
    420.     my $fecets = "";
    421.  
    422.     printear_titulo("\n</li><li type="square"> Searching in Shodan without Results ...\n\n");[/li][/list]
    423.  
    424.     my $code =
    425.       toma( "https://api.shodan.io/shodan/host/count?key="
    426.           . $api_key
    427.           . "&query="
    428.           . $query
    429.           . "&facets="
    430.           . $facets );
    431.  
    432.     $resultado = JSON->new->decode($code);
    433.     my $total = $resultado->{"total"};
    434.     if ( $total ne "" ) {
    435.         printear("</li><li type="square"> Total : ");[/li][/list]
    436.         You are not allowed to view links. Register or Login $total. "\n";
    437.     }
    438.     else {
    439.         printear( "[-] WTF !" . "\n" );
    440.     }
    441.  
    442. }
    443.  
    444. sub by_ip {
    445.  
    446.     my $target = $_[0];
    447.  
    448.     printear("\n</li><li type="square"> Target : ");[/li][/list]
    449.     You are not allowed to view links. Register or Login $target. "\n";
    450.  
    451.     printear_titulo("\n</li><li type="square"> Getting Host Information ...\n\n");[/li][/list]
    452.  
    453.     my $code = toma(
    454.         "https://api.shodan.io/shodan/host/" . $target . "?key=" . $api_key );
    455.     $resultado = JSON->new->decode($code);
    456.  
    457.     my $ip           = $resultado->{'ip'};
    458.     my $country_name = $resultado->{'country_name'};
    459.     my $country_code = $resultado->{'country_code'};
    460.     my $region_name  = $resultado->{'region_name'};
    461.     my $postal_code  = $resultado->{'postal_code'};
    462.  
    463.     if ( $ip ne "" ) {
    464.         printear("</li><li type="square"> IP : ");[/li][/list]
    465.         You are not allowed to view links. Register or Login $ip. "\n";
    466.     }
    467.     if ( $country_name ne "" ) {
    468.         printear("</li><li type="square"> Country Name : ");[/li][/list]
    469.         You are not allowed to view links. Register or Login $country_name. "\n";
    470.     }
    471.     if ( $country_code ne "" ) {
    472.         printear("</li><li type="square"> Country Code : ");[/li][/list]
    473.         You are not allowed to view links. Register or Login $country_code. "\n";
    474.     }
    475.     if ( $region_name ne "" ) {
    476.         printear("</li><li type="square"> Area Code : ");[/li][/list]
    477.         You are not allowed to view links. Register or Login $region_name. "\n";
    478.     }
    479.     if ( $postal_code ne "" ) {
    480.         printear("</li><li type="square"> Postal Code : ");[/li][/list]
    481.         You are not allowed to view links. Register or Login $postal_code. "\n";
    482.     }
    483.     printear("</li><li type="square"> Hostnames : ");[/li][/list]
    484.     my @hostnames = @{ $resultado->{'hostnames'} };
    485.     foreach my $host (@hostnames) {
    486.         You are not allowed to view links. Register or Login $host. "\t";
    487.     }
    488.     You are not allowed to view links. Register or Login "\n";
    489.     printear_titulo("\n</li><li type="square"> Getting Data ...\n\n");[/li][/list]
    490.     my $i           = 0;
    491.     my @encontrados = @{ $resultado->{'data'} };
    492.     foreach my $encontrado (@encontrados) {
    493.         $i++;
    494.         You are not allowed to view links. Register or Login "-------------------------------------\n\n";
    495.         my $ip           = $encontrado->{"ip_str"};
    496.         my $country      = $encontrado->{"location"}{"country_name"};
    497.         my $product      = $encontrado->{"product"};
    498.         my $version      = $encontrado->{"version"};
    499.         my $data         = $encontrado->{"data"};
    500.         my $cpe          = $encontrado->{"cpe"};
    501.         my $time         = $encontrado->{"timestamp"};
    502.         my $last_updated = $encontrado->{"last_update"};
    503.         my $port         = $encontrado->{"port"};
    504.         my $os           = $encontrado->{"os"};
    505.         my $isp          = $encontrado->{"isp"};
    506.         my $ans          = $encontrado->{"ans"};
    507.         my $banner       = $encontrado->{"banner"};
    508.  
    509.         if ( $ip ne "" ) {
    510.             printear("</li><li type="square"> IP : ");[/li][/list]
    511.             You are not allowed to view links. Register or Login $ip. "\n";
    512.         }
    513.         if ( $port ne "" ) {
    514.             printear("</li><li type="square"> Port : ");[/li][/list]
    515.             You are not allowed to view links. Register or Login $port. "\n";
    516.         }
    517.         printear("</li><li type="square"> Hostnames : ");[/li][/list]
    518.         my @hostnames2 = @{ $encontrado->{'hostnames'} };
    519.         foreach my $host2 (@hostnames2) {
    520.             You are not allowed to view links. Register or Login $host2. "\t";
    521.         }
    522.         You are not allowed to view links. Register or Login "\n";
    523.         if ( $country ne "" ) {
    524.             printear("</li><li type="square"> Country : ");[/li][/list]
    525.             You are not allowed to view links. Register or Login $country. "\n";
    526.         }
    527.         if ( $product ne "" ) {
    528.             printear("</li><li type="square"> Product : ");[/li][/list]
    529.             You are not allowed to view links. Register or Login $product. "\n";
    530.         }
    531.         if ( $version ne "" ) {
    532.             printear("</li><li type="square"> Version : ");[/li][/list]
    533.             You are not allowed to view links. Register or Login $version. "\n";
    534.         }
    535.         if ( $data ne "" ) {
    536.             printear("</li><li type="square"> Data : ");[/li][/list]
    537.             You are not allowed to view links. Register or Login "\n\n" . $data . "\n";
    538.         }
    539.         if ( $time ne "" ) {
    540.             printear("</li><li type="square"> Time : ");[/li][/list]
    541.             You are not allowed to view links. Register or Login $time. "\n";
    542.         }
    543.         if ( $last_updated ne "" ) {
    544.             printear("</li><li type="square"> Last Updated : ");[/li][/list]
    545.             You are not allowed to view links. Register or Login $last_updated. "\n";
    546.         }
    547.         if ( $cpe ne "" ) {
    548.             printear("</li><li type="square"> CPE : ");[/li][/list]
    549.             You are not allowed to view links. Register or Login $cpe. "\n";
    550.         }
    551.         if ( $os ne "" ) {
    552.             printear("</li><li type="square"> OS : ");[/li][/list]
    553.             You are not allowed to view links. Register or Login $os. "\n";
    554.         }
    555.         if ( $isp ne "" ) {
    556.             printear("</li><li type="square"> ISP : ");[/li][/list]
    557.             You are not allowed to view links. Register or Login $isp. "\n";
    558.         }
    559.         if ( $asn ne "" ) {
    560.             printear("</li><li type="square"> ASN : ");[/li][/list]
    561.             You are not allowed to view links. Register or Login $ans. "\n";
    562.         }
    563.         if ( $banner ne "" ) {
    564.             printear("</li><li type="square"> Banner : ");[/li][/list]
    565.             You are not allowed to view links. Register or Login $banner. "\n";
    566.         }
    567.         You are not allowed to view links. Register or Login "\n-------------------------------------\n";
    568.  
    569.         if ( $i % 5 == 0 ) {
    570.             printear("\n</li><li type="square"> Press enter to show more\n");[/li][/list]
    571.             <STDIN>;
    572.         }
    573.  
    574.     }
    575.  
    576. }
    577.  
    578. sub by_search {
    579.  
    580.     my $target = $_[0];
    581.  
    582.     printear("</li><li type="square"> Target : ");[/li][/list]
    583.     You are not allowed to view links. Register or Login $target. "\n";
    584.  
    585.     printear_titulo("\n</li><li type="square"> Searching in Shodan ...\n\n");[/li][/list]
    586.  
    587.     my $code =
    588.       toma( "https://api.shodan.io/shodan/host/search?key="
    589.           . $api_key
    590.           . "&query="
    591.           . $target
    592.           . "&facets=" );
    593.  
    594.     $resultado = JSON->new->decode($code);
    595.  
    596.     my $total = $resultado->{'total'};
    597.  
    598.     if ( $total ne "" ) {
    599.         printear("</li><li type="square"> Total : ");[/li][/list]
    600.         You are not allowed to view links. Register or Login $total. "\n";
    601.     }
    602.     else {
    603.         printear("[-] WTF !");
    604.     }
    605.  
    606.     my $ip           = $resultado->{'ip'};
    607.     my $country_name = $resultado->{'country_name'};
    608.     my $country_code = $resultado->{'country_code'};
    609.     my $region_name  = $resultado->{'region_name'};
    610.     my $postal_code  = $resultado->{'postal_code'};
    611.  
    612.     if ( $ip ne "" ) {
    613.         printear("</li><li type="square"> IP : ");[/li][/list]
    614.         You are not allowed to view links. Register or Login $ip. "\n";
    615.     }
    616.     if ( $country_name ne "" ) {
    617.         printear("</li><li type="square"> Country Name : ");[/li][/list]
    618.         You are not allowed to view links. Register or Login $country_name. "\n";
    619.     }
    620.     if ( $country_code ne "" ) {
    621.         printear("</li><li type="square"> Country Code : ");[/li][/list]
    622.         You are not allowed to view links. Register or Login $country_code. "\n";
    623.     }
    624.     if ( $region_name ne "" ) {
    625.         printear("</li><li type="square"> Area Code : ");[/li][/list]
    626.         You are not allowed to view links. Register or Login $region_name. "\n";
    627.     }
    628.     if ( $postal_code ne "" ) {
    629.         printear("</li><li type="square"> Postal Code : ");[/li][/list]
    630.         You are not allowed to view links. Register or Login $postal_code. "\n";
    631.     }
    632.  
    633.     if ( $resultado->{'hostnames'}[0] ne "" ) {
    634.         printear("</li><li type="square"> Hostnames : ");[/li][/list]
    635.         my @hostnames = @{ $resultado->{'hostnames'} };
    636.         foreach my $host (@hostnames) {
    637.             You are not allowed to view links. Register or Login $host. "\t";
    638.         }
    639.         You are not allowed to view links. Register or Login "\n";
    640.     }
    641.  
    642.     printear_titulo("\n</li><li type="square"> Getting Data ...\n\n");[/li][/list]
    643.  
    644.     my $i = 0;
    645.  
    646.     my @encontrados = @{ $resultado->{'matches'} };
    647.     foreach my $encontrado (@encontrados) {
    648.         $i++;
    649.         You are not allowed to view links. Register or Login "-------------------------------------\n\n";
    650.         my $ip           = $encontrado->{"ip_str"};
    651.         my $country      = $encontrado->{"location"}{"country_name"};
    652.         my $product      = $encontrado->{"product"};
    653.         my $version      = $encontrado->{"version"};
    654.         my $data         = $encontrado->{"data"};
    655.         my $cpe          = $encontrado->{"cpe"};
    656.         my $time         = $encontrado->{"timestamp"};
    657.         my $last_updated = $encontrado->{"last_update"};
    658.         my $port         = $encontrado->{"port"};
    659.         my $os           = $encontrado->{"os"};
    660.         my $isp          = $encontrado->{"isp"};
    661.         my $ans          = $encontrado->{"ans"};
    662.         my $banner       = $encontrado->{"banner"};
    663.  
    664.         if ( $ip ne "" ) {
    665.             printear("</li><li type="square"> IP : ");[/li][/list]
    666.             You are not allowed to view links. Register or Login $ip. "\n";
    667.         }
    668.         if ( $port ne "" ) {
    669.             printear("</li><li type="square"> Port : ");[/li][/list]
    670.             You are not allowed to view links. Register or Login $port. "\n";
    671.         }
    672.         printear("</li><li type="square"> Hostnames : ");[/li][/list]
    673.         my @hostnames2 = @{ $encontrado->{'hostnames'} };
    674.         foreach my $host2 (@hostnames2) {
    675.             You are not allowed to view links. Register or Login $host2. "\t";
    676.         }
    677.         You are not allowed to view links. Register or Login "\n";
    678.         if ( $country ne "" ) {
    679.             printear("</li><li type="square"> Country : ");[/li][/list]
    680.             You are not allowed to view links. Register or Login $country. "\n";
    681.         }
    682.         if ( $product ne "" ) {
    683.             printear("</li><li type="square"> Product : ");[/li][/list]
    684.             You are not allowed to view links. Register or Login $product. "\n";
    685.         }
    686.         if ( $version ne "" ) {
    687.             printear("</li><li type="square"> Version : ");[/li][/list]
    688.             You are not allowed to view links. Register or Login $version. "\n";
    689.         }
    690.         if ( $data ne "" ) {
    691.             printear("</li><li type="square"> Data : ");[/li][/list]
    692.             You are not allowed to view links. Register or Login "\n\n" . $data . "\n";
    693.         }
    694.         if ( $time ne "" ) {
    695.             printear("</li><li type="square"> Time : ");[/li][/list]
    696.             You are not allowed to view links. Register or Login $time. "\n";
    697.         }
    698.         if ( $last_updated ne "" ) {
    699.             printear("</li><li type="square"> Last Updated : ");[/li][/list]
    700.             You are not allowed to view links. Register or Login $last_updated. "\n";
    701.         }
    702.         if ( $cpe ne "" ) {
    703.             printear("</li><li type="square"> CPE : ");[/li][/list]
    704.             You are not allowed to view links. Register or Login $cpe. "\n";
    705.         }
    706.         if ( $os ne "" ) {
    707.             printear("</li><li type="square"> OS : ");[/li][/list]
    708.             You are not allowed to view links. Register or Login $os. "\n";
    709.         }
    710.         if ( $isp ne "" ) {
    711.             printear("</li><li type="square"> ISP : ");[/li][/list]
    712.             You are not allowed to view links. Register or Login $isp. "\n";
    713.         }
    714.         if ( $asn ne "" ) {
    715.             printear("</li><li type="square"> ASN : ");[/li][/list]
    716.             You are not allowed to view links. Register or Login $ans. "\n";
    717.         }
    718.         if ( $banner ne "" ) {
    719.             printear("</li><li type="square"> Banner : ");[/li][/list]
    720.             You are not allowed to view links. Register or Login $banner. "\n";
    721.         }
    722.         You are not allowed to view links. Register or Login "\n-------------------------------------\n";
    723.  
    724.         if ( $i % 5 == 0 ) {
    725.             printear("\n</li><li type="square"> Press enter to show more\n");[/li][/list]
    726.             <STDIN>;
    727.         }
    728.  
    729.     }
    730.  
    731. }
    732.  
    733. sub printear {
    734.     cprint( "\x036" . $_[0] . "\x030" );
    735. }
    736.  
    737. sub printear_logo {
    738.     cprint( "\x037" . $_[0] . "\x030" );
    739. }
    740.  
    741. sub printear_titulo {
    742.     cprint( "\x0310" . $_[0] . "\x030" );
    743. }
    744.  
    745. sub toma {
    746.     You are not allowed to view links. Register or Login $nave->get( $_[0] )->content;
    747. }
    748.  
    749. sub sintax {
    750.     printear("\n</li><li type="square"> Sintax : ");[/li][/list]
    751.     You are not allowed to view links. Register or Login "perl $0 <option> <value>\n";
    752.     printear("\n</li><li type="square"> Options : \n\n");[/li][/list]
    753.     You are not allowed to view links. Register or Login "-ip <ip> : Host Information\n";
    754.     You are not allowed to view links. Register or Login "-count <query> : Search Shodan without Results\n";
    755.     You are not allowed to view links. Register or Login "-search <query> : Search Shodan\n";
    756.     You are not allowed to view links. Register or Login "-query : List the saved search queries\n";
    757.     You are not allowed to view links. Register or Login
    758.       "-query_search <query> : Search the directory of saved search queries\n";
    759.     You are not allowed to view links. Register or Login "-query_tags : List the most popular tags\n";
    760.     You are not allowed to view links. Register or Login "-services : List all services that Shodan crawls\n";
    761.     You are not allowed to view links. Register or Login "-resolve <host> : DNS Lookup\n";
    762.     You are not allowed to view links. Register or Login "-reverse <ip> : Reverse DNS Lookup\n";
    763.     You are not allowed to view links. Register or Login "-myip : My IP Address\n";
    764.     You are not allowed to view links. Register or Login "-api_info : API Plan Information\n";
    765.     printear("\n</li><li type="square"> Example : ");[/li][/list]
    766.     You are not allowed to view links. Register or Login "perl shodan.pl -search petardas\n";
    767.     copyright();
    768. }
    769.  
    770. sub head {
    771.     printear_logo("\n-- == Shodan Tool 0.6 == --\n\n");
    772. }
    773.  
    774. sub copyright {
    775.     printear_logo("\n\n-- == (C) Doddy Hackman 2015 == --\n\n");
    776.     You are not allowed to view links. Register or Login(1);
    777. }
    778.  
    779. # The End ?
    780.  

    Si quieren bajar el programa lo pueden hacer de aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

Desconectado .:UND3R:.

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

Re:[Perl] Shodan Tool 0.6

  • en: Abril 16, 2015, 11:37:49 am
Que bueno verte por acá, excelente tools, saludos.

 

Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 5210
Ú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: 3426
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
[Perl] Counter Strike 1.6 Servers List

Iniciado por BigBear

Respuestas: 0
Vistas: 2510
Último mensaje Noviembre 12, 2012, 07:32:11 pm
por BigBear
[Perl] Search in google for scan SQLI

Iniciado por BigBear

Respuestas: 0
Vistas: 2568
Último mensaje Julio 03, 2011, 09:49:49 pm
por BigBear
[Perl] Half Life Servers List 0.1

Iniciado por BigBear

Respuestas: 0
Vistas: 2573
Último mensaje Noviembre 12, 2012, 07:31:50 pm
por BigBear