Perl Multi Tool (MD5/SHA1/Base64/Text-Hex - Web Directory scanner + More) 10-16-2011, 03:36 PM
#1
Hey everyone, here is my simple perl hacking tool i made myself just to save time on alot of boring tasks. it includes:
To find the commands, run the script and type - help
Please not i did not make the Admin finder, i was going to but this one was free and very good so i just edited for my needs. All the rest is made by me. So here is the code.
- Text - MD5
- Text - SHA1
- Base64 - Encode/Decode
- Text - Hex Value
- Web Directory Scanner
- Admin Finder
- Extremely Simple SQL finder
To find the commands, run the script and type - help
Please not i did not make the Admin finder, i was going to but this one was free and very good so i just edited for my needs. All the rest is made by me. So here is the code.
Code:
#!/usr/local/bin/perl -w
use Digest::MD5;
use Digest::SHA1;
use LWP::Simple;
use IO::Socket::INET;
use IO::Socket;
use HTTP::Request;
use LWP::UserAgent;
use MIME::Base64;
$loop = 5;
while($loop < 6){
print "\n:/ ";
chomp($menu = <STDIN>);
if($menu eq "help"){
print "\t \n\n[ Commands/Explain ]\n";
print "\n(Web Info Gathering)\n";
print "\t \n -- dir_find - Website directory Finder\n";
print "\t \n -- login_find - Website login Finder\n";
print "\t \n -- sql_scan -s - URL Scanner\n";
print "\n\n(System Info)\n";
print "\t \n -- ip_inf - Show local/Network IP\n";
print "\n\n(Text - Encryption)\n";
print "\t \n -- hex - Text > Hexidecimal\n";
print "\t \n -- md5 - Text > MD5 Hash\n";
print "\t \n -- sha1 - Text > SHA1 Hash\n";
print "\t \n -- base64_ed - Base64 - Encode and Decode\n";
}elsif($menu eq "base64-ed"){
print "\n\nEncode";
print "\n\nDecode\n";
print ":> ";
chomp($baseop = <STDIN>);
if($baseop eq "Encode"){
print "\nEncoded String:> ";
chomp($baseen = <STDIN>);
$encoded = MIME::Base64::encode($baseen);
print $encoded;
} elsif($baseop eq "Decode"){
print "\nDecoded String:> ";
chomp($basede = <STDIN>);
$decoded = MIME::Base64::decode($basede);
print $decoded;
} else {
print "\nInvalid Command/Option.";
}
} elsif($menu eq "hex"){
print "\nHex/";
chomp($string = <STDIN>);
$hex = unpack('H*', "$string");
print "\n\n$string >> ";
for ($i = 0; $i < length $hex; $i += 1) {
print substr $hex, $i, 1;
}
print "\n";
} elsif($menu eq "clear"){
system('cls');
} elsif ($menu eq "ip_inf"){
$hostname="collispuro.net"; #change this to your hostname
my($addr)=inet_ntoa((gethostbyname($hostname))[4]);
my $sock = IO::Socket::INET->new(
PeerAddr=> "example.com",
PeerPort=> 80,
Proto => "tcp");
my $localip = $sock->sockhost;
print "Local IP Address :: [$localip]\n\n";
print "Network IP Address :: [$addr]\n";
} elsif ($menu eq "md5"){
print "\t\nMD5/> ";
chomp($mdtext = <STDIN>);
$md5 = Digest::MD5->new;
$md5->add($mdtext);
$hash = $md5->hexdigest;
print "$mdtext >> $hash\n";
} elsif ($menu eq "sha1"){
print "\t\nSHA1/> ";
chomp($shatext = <STDIN>);
$sha1 = Digest::SHA1->new;
$sha1->add($shatext);
$shahash = $sha1->hexdigest;
print "$shatext >> $shahash\n";
} elsif ($menu eq "sql_scan -s"){
print "Enter URL: ";
chomp($url = <STDIN>);
$newurl = "$url'";
$content = get($newurl);
if($content =~ "WARNING:", "SQL"){
print "SQL ERROR Located >> $newurl";
} else {
print "Unable to find SQL Error.";
}
} elsif($menu eq "dir_find"){
print "URL must contain http://\n\n\n";
print "Website: ";
chomp ($url = <STDIN>);
@directorys = ("/css", "/images", "/php", "/js", "/html", "/admin", "/name", "/users", "/profile", "/style", "/pages", "/page", "/inc", "/back_up",
"/backup", "/usr", "/share", "/lib", "/root", "/toor", "/command", "/pass", "/pwd", "/user", "/errors", "/cgi-bin", "/bin", "/pictures", "/Python",
"/ruby", "/logs", "/log", "/error", "/errors", "/SQL", "/sql", "/data", "/scripts" ,"/files" ,"/downloads" ,"/passwords" ,"/ftp" ,"/https" ,"/mail",
"/resources", "/article", "/post", "/Post", "/uploads", "/Upload", "/Uploads", "/theme", "/forum", "/documents", "/xml", "/src", "/main", "/java",
"/site", "/config", "/test", "/tmp", "/temp", "/themes", "/modules", "/path", "/news", "/design", "/2000", "/2001", "/2002", "/2003", "/2004", "/2005",
"/2006", "/2007", "/2008", "/2009", "/2010", "/2011", "/guides", "/about-us", "/en-us", "/library", "/students", "/includes", "/assets", "/support",
"/press", "/docs", "/web", "/Cat", "/prod", "/ect", "/www", "/install", "/fileadmin", "/pdf", "/emc", "/no_cache", "/typo3temp", "/pics");
foreach $ways(@directorys){
my $web=$url.$ways;
my $req=HTTP::Request->new(GET=>$web);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Apache/ ||
$response->content =~ /Server/ ||
$response->content =~ /Parent Directory/ ||
$response->content =~ /Port/){
print "\n\t+ $web - Directory Found";
}
}
} elsif($menu eq "login_find"){
print "~# enter site to scan\n* ex: [url=http://www.domaine.com]www.domaine.com[/url] ou [url=http://www.domaine.com/path\n-]www.domaine.com/path\n-[/url]> ";
$site=<STDIN>;
chomp $site;
print "\n";
print "~ Enter coding language of the website \n* ex: asp, php, cfm\n-> ";
$code=<STDIN>;
chomp($code);
if ( $site !~ /^http:/ ) {
$site = 'http://' . $site;
}
if ( $site !~ /\/$/ ) {
$site = $site . '/';
}
print "\n";
print "->Le site: $site\n";
print "->Source du site: $code\n";
print "->Scan de l'admin control panel en cours...\n\n\n";
if($code eq "asp"){
@path1=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','account.asp','admin/account.asp','admin/index.asp','admin/login.asp','admin/admin.asp',
'admin_area/admin.asp','admin_area/login.asp','admin/account.html','admin/index.html','admin/login.html','admin/admin.html',
'admin_area/admin.html','admin_area/login.html','admin_area/index.html','admin_area/index.asp','bb-admin/index.asp','bb-admin/login.asp','bb-admin/admin.asp',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','admin/controlpanel.html','admin.html','admin/cp.html','cp.html',
'administrator/index.html','administrator/login.html','administrator/account.html','administrator.html','login.html','modelsearch/login.html','moderator.html',
'moderator/login.html','moderator/admin.html','account.html','controlpanel.html','admincontrol.html','admin_login.?html','panel-administracion/login.html',
'admin/home.asp','admin/controlpanel.asp','admin.asp','pages/admin/admin-login.asp','admin/admin-login.asp','admin-login.asp','admin/cp.asp','cp.asp',
'administrator/account.asp','administrator.asp','login.asp','modelsearch/login.asp','moderator.asp','moderator/login.asp','administrator/login.asp',
'moderator/admin.asp','controlpanel.asp','admin/account.html','adminpanel.html','webadmin.html','pages/admin/admin-login.html','admin/admin-login.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','user.asp','user.html','admincp/index.asp','admincp/login.asp','admincp/index.html',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','adminarea/index.html','adminarea/admin.html','adminarea/login.html',
'panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admin/admin_login.html',
'admincontrol/login.html','adm/index.html','adm.html','admincontrol.asp','admin/account.asp','adminpanel.asp','webadmin.asp','webadmin/index.asp',
'webadmin/admin.asp','webadmin/login.asp','admin/admin_login.asp','admin_login.asp','panel-administracion/login.asp','adminLogin.asp',
'admin/adminLogin.asp','home.asp','admin.asp','adminarea/index.asp','adminarea/admin.asp','adminarea/login.asp','admin-login.html',
'panel-administracion/index.asp','panel-administracion/admin.asp','modelsearch/index.asp','modelsearch/admin.asp','administrator/index.asp',
'admincontrol/login.asp','adm/admloginuser.asp','admloginuser.asp','admin2.asp','admin2/login.asp','admin2/index.asp','adm/index.asp',
'adm.asp','affiliate.asp','adm_auth.asp','memberadmin.asp','administratorlogin.a?sp','siteadmin/login.asp','siteadmin/index.asp','siteadmin/login.html'
);
foreach $ways(@path1){
$final=$site.$ways;
my $req=HTTP::Request->new(GET=>$final);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
print " \n [+] Found -> $final\n\n";
}else{
print "[-] Not Found <- $final\n";
}
}
}
# -------------------------------------------------------
# -------------------test cfm ---------------------------|
# -------------------------------------------------------
if($code eq "cfm"){
@path1=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','account.cfm','admin/account.cfm','admin/index.cfm','admin/login.cfm','admin/admin.cfm',
'admin_area/admin.cfm','admin_area/login.cfm','admin/account.html','admin/index.html','admin/login.html','admin/admin.html',
'admin_area/admin.html','admin_area/login.html','admin_area/index.html','admin_area/index.cfm','bb-admin/index.cfm','bb-admin/login.cfm','bb-admin/admin.cfm',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','admin/controlpanel.html','admin.html','admin/cp.html','cp.html',
'administrator/index.html','administrator/login.html','administrator/account.html','administrator.html','login.html','modelsearch/login.html','moderator.html',
'moderator/login.html','moderator/admin.html','account.html','controlpanel.html','admincontrol.html','admin_login.?html','panel-administracion/login.html',
'admin/home.cfm','admin/controlpanel.cfm','admin.cfm','pages/admin/admin-login.cfm','admin/admin-login.cfm','admin-login.cfm','admin/cp.cfm','cp.cfm',
'administrator/account.cfm','administrator.cfm','login.cfm','modelsearch/login.cfm','moderator.cfm','moderator/login.cfm','administrator/login.cfm',
'moderator/admin.cfm','controlpanel.cfm','admin/account.html','adminpanel.html','webadmin.html','pages/admin/admin-login.html','admin/admin-login.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','user.cfm','user.html','admincp/index.cfm','admincp/login.cfm','admincp/index.html',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','adminarea/index.html','adminarea/admin.html','adminarea/login.html',
'panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admin/admin_login.html',
'admincontrol/login.html','adm/index.html','adm.html','admincontrol.cfm','admin/account.cfm','adminpanel.cfm','webadmin.cfm','webadmin/index.cfm',
'webadmin/admin.cfm','webadmin/login.cfm','admin/admin_login.cfm','admin_login.cfm','panel-administracion/login.cfm','adminLogin.cfm',
'admin/adminLogin.cfm','home.cfm','admin.cfm','adminarea/index.cfm','adminarea/admin.cfm','adminarea/login.cfm','admin-login.html',
'panel-administracion/index.cfm','panel-administracion/admin.cfm','modelsearch/index.cfm','modelsearch/admin.cfm','administrator/index.cfm',
'admincontrol/login.cfm','adm/admloginuser.cfm','admloginuser.cfm','admin2.cfm','admin2/login.cfm','admin2/index.cfm','adm/index.cfm',
'adm.cfm','affiliate.cfm','adm_auth.cfm','memberadmin.cfm','administratorlogin.c?fm','siteadmin/login.cfm','siteadmin/index.cfm','siteadmin/login.html'
);
foreach $ways(@path1){
$final=$site.$ways;
my $req=HTTP::Request->new(GET=>$final);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
print " \n [+] Found -> $final\n\n";
}
}
}
# -------------------------------------------------------
#--------------------------/test-------------------------|
# -------------------------------------------------------
if($code eq "php"){
@path2=('admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/',
'memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php',
'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html',
'admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html',
'admin/controlpanel.php','admin.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html',
'webadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html',
'admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php',
'administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php',
'bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','login.php','modelsearch/login.php','moderator.php','moderator/login.php',
'moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html',
'webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.html',
'administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','modelsearch/login.html',
'moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html',
'admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpanel.html','admincontrol.html',
'panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','admin.php','adminarea/index.php',
'adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php',
'modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php','admin2/login.php','admin2/index.php',
'adm/index.php','adm.php','affiliate.php','adm_auth.php','memberadmin.php','administr?atorlogin.php'
);
foreach $ways(@path2){
$final=$site.$ways;
my $req=HTTP::Request->new(GET=>$final);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
my $response=$ua->request($req);
if($response->content =~ /Username/ ||
$response->content =~ /Password/ ||
$response->content =~ /username/ ||
$response->content =~ /password/ ||
$response->content =~ /USERNAME/ ||
$response->content =~ /PASSWORD/ ||
$response->content =~ /Senha/ ||
$response->content =~ /senha/ ||
$response->content =~ /Personal/ ||
$response->content =~ /Usuario/ ||
$response->content =~ /Clave/ ||
$response->content =~ /Usager/ ||
$response->content =~ /usager/ ||
$response->content =~ /Sing/ ||
$response->content =~ /passe/ ||
$response->content =~ /P\/W/ ||
$response->content =~ /Admin Password/
){
print " \n [+] Found -> $final\n\n";
}
}
}
}
}


![[Image: 6caf54.gif]](http://i25.lulzimg.com/6caf54.gif)
![[+]](https://sinister.li/images/modern/collapse_collapsed.png)