#!/usr/bin/perl
# DataPAC Seyon BruteForce Scanning Script - semen@0x90.org || Sun Jul 4 23:36:11 EDT 2004
# This script is provided for educational usage only. It will run on anything with perl. 
# It is only useful in conjunction with `seyon` (2 rev. 20c) for Linux. 
# Having say that. Go scan a range of NUA's that haven't been already and submit them to 
# theclone (theclone@hackcanada.com)
# Running me, perl gen-nua.pl RANGE > NUASCRIPT- RANGE is limited to 3 digit prefix from an 8 digit NUA
# (+5 sequential just gets ridiculously large) and NUASCRIPT is to feed into seyon.
# Replace the phonenumber with your local DATAPAC line and the DATAPAC NUA spitback listed below
$yourNUA = $ARGV[0];
my $nua;
print "capture on\ntty off\ndebug on\n";
print "dial *67,905-430-2944"; # CHANGE THIS TO YOUR LOCAL DATAPAC DIAL-IN
print "\nwaitfor \"CONNECT 9600\"\ntransmit \.^M";
print "\nwaitfor \"DATAPAC: 4200 0019\"\n"; # CHANGE `4200 0019` TO YOUR LOCAL SPITBACK NUA
for ($i=0;$i<10;$i++){
$nua = $yourNUA . "0000" . $i;
print "transmit $nua^M\n";
print "echo $nua\n";
print "waitfor \"DATAPAC: call cleared - address not in service\"\n";
print "pause 1\n";
}
for ($i=10;$i<100;$i++){
$nua = $yourNUA . "000" . $i;
print "transmit $nua^M\n";
print "echo $nua\n";
print "waitfor \"DATAPAC: call cleared - address not in service\"\n";
print "pause 1\n";
}
for ($i=100;$i<1000;$i++){
$nua = $yourNUA . "00" . $i;
print "transmit $nua^M\n";
print "echo $nua\n";
print "waitfor \"DATAPAC: call cleared - address not in service\"\n";
print "pause 1\n";
}
for ($i=1000;$i<10000;$i++){
$nua = $yourNUA . "0" . $i;
print "transmit $nua^M\n";
print "echo $nua\n";
print "waitfor \"DATAPAC: call cleared - address not in service\"\n";
print "pause 1\n";
}
for ($i=10000;$i<100000;$i++){
$nua = $yourNUA . $i;
print "transmit $nua^M\n";
print "echo $nua\n";
print "waitfor \"DATAPAC: call cleared - address not in service\"\n";
print "pause 1\n";
}

