#!/usr/bin/perl # # Usage : # # sockscan2.pl # # # written by SnakeByte [ SnakeByte@kryptocrew.de ] # www.kryptocrew.de/snakebyte/ # use Net::SOCKS; if ( @ARGV != 4 ) { print "\nThis tool performs a portscan on a host,\n"; print "and to make it possible, to defeat an IDS , which\n"; print "by scanning from various socks proxies\n"; print "written by SnakeByte [Snakebyte\@kryptocrew.de]\n\n"; print "Usage : \n"; print "sockscan2 \n\n"; exit; } print "sockscan2 by SnakeByte [ SnakeByte\@kryptocrew.de ]\n"; $proxyfile = @ARGV[0]; $target = @ARGV[1]; $startport = @ARGV[2]; $endport = @ARGV[3]; print "scanning $target ...\n"; open( FILE, "<$proxyfile" ); @proxylist = ; close FILE; $a = -1; for ( $i = $startport ; $i <= $endport ; $i++ ) { $a++; if ( $a <= (@proxylist) ) { $a = 0; } ( $proxy, $proxyport ) = split( ":", @proxylist[$a] ); my $sock = new Net::SOCKS( socks_addr => $proxy, socks_port => $proxyport, protocol_version => 4 ); $f = $sock->connect( peer_addr => $target, peer_port => $i ); if ( $sock->param('status_num') == SOCKS_OKAY ) { print "--- Port $i open ! --- \n"; } $sock->close(); } print "\nScan finished..\n";