Coder Profile - Show off your skills, get a coder profile.
 
 
 
code pin board GENesis [IRC - Bot] Download Source Code
Author Details Code Information
Perforin

Pinned 2 Codes
Posted 0 Coding Articles

Send A Message
View Coders Profile
Language Perl
Expires Never
Length 11,029 Characters (409 Lines)
Password no password
Description

Simple IRC Bot from me.
Silly code but it´s running^^

Some Functions are:

Cracking md5 hashes
Show the newst Exploits on milw0rm
Scan single IP for anonymous FTP login, and SQL...

And some other things you can check out yourself :P
  1. #!/usr/bin/perl
  2. #############################
  3. # Name: GENesis
  4. # Beschreibung: IRC BOT
  5. # Coder: Perforin
  6. # Sites: dark-codez.org / perforins-software.de.vu
  7. #
  8. # Welcome to the dark side of coding!
  9. ##############################
  10.  
  11. use Socket;
  12. use IO::Socket;
  13. use IO::Socket::INET;
  14. use LWP::UserAgent;
  15. use LWP::Simple;
  16. use Digest::MD5 qw(md5 md5_hex md5_base64);
  17. use Net::Ping;
  18. use Net::hostent;
  19. use Net::FTP;
  20.  
  21. $BotnameKOMMA1 = rand(1001);
  22. $BotnameGANZ1 = int($BotnameKOMMA1);
  23.  
  24. $Host = "irc.seilen.de";
  25. $channel = "#dc";
  26. $Port = 8067;
  27. $version = "1.9";
  28. $nick = "GENesis$BotnameGANZ1";
  29. $email = "code 8 * :dark-codez.org";
  30.  
  31. print <<EOF;
  32.                ___________________ _______ .__
  33.               / _____/\\_ _____/ \\ \\ ____ _____|__| ______
  34.              / \\ ___ | __)_ / | \\_/ __ \\ / ___/ |/ ___/
  35.              \\ \\_\\ \\| \\/ | \\ ___/ \\___ \\| |\\___ \\
  36.               \\______ /_______ /\\____|__ /\\___ >____ >__/____ >
  37.                      \\/ \\/ \\/ \\/ \\/ \\/
  38.  
  39. Ich werde niemals vergessen,was ich in Dark-Codez gesehen habe.
  40. Die Knochen von fuenftausend tapferen Männern lagen verstreut in den gewundenen Korridoren der Station.
  41. Ihr Blut war an die Waende und auf den Boden der Schlafsaele geschmiert.
  42. Ihre Innerein hingen von den Kontrollpanelen, wie die grotesken Dekorationen eines Festes des Wahnsinns.
  43. Und doch wurde nicht ein einziger Schaedel gefunden!
  44. Alle waren sie durch diese verachtenswerten Angreifer als Trophaeen entwendet worden.
  45.  
  46. GENesis Version $version coded by Perforin
  47.  
  48. Welcome to the dark side of coding!
  49. EOF
  50.  
  51. @welcome = ("Ihr Blut war an die Wände und auf den Boden der Schlafsäle geschmiert.",
  52. "Ihre Innerein hingen von den Kontrollpanelen,",
  53. "wie die grotesken Dekorationen eines Festes des Wahnsinns!");
  54. @alternate = ('bunny_funny',
  55.                '7even',
  56.                'scr3am');
  57. @spam = ('The Dark side of Coding!',
  58.           'Visit http://dark-codez.org',
  59.           'Visit http://perforins-software.de.vu',
  60.           'Bots rulen',
  61.           'Perforin goes H4xxx',
  62.           'Cant fuck me up dude :)',
  63.           'GENesis Bot is here!');
  64. @credits = ("Name: GENesis\n",
  65. "Beschreibung: IRC BOT\n",
  66. "Coder: Perforin",
  67. "Sites: dark-codez.org / perforins-software.dl.am\n",
  68. "Welcome to the dark side of coding!");
  69. @help = ("-spam- [Spamt im Channel]\n",
  70. "-kill- [Killt den Bot]\n",
  71. "-credits- [Zeigt euch die Credits]\n",
  72. "-from- [Zeigt die IP]\n",
  73. "-version- [Zeigt die Bot Version]\n",
  74. "-mille- [Zeigt die neusten Exploits]\n",
  75. "-crack- [Crackt einen MD5 Hash]\n",
  76. "-md5gen- [Erstellt euch einen MD5 Hash]\n",
  77. "-ipgen- [Generiert eine IP]",
  78. "-ping- [Pingt einen Server]",
  79. "-pub- [Versucht anonymous login]",
  80. "-dns- [Löst die DNS in eine IP auf]",
  81. "-sql- [Scannt eine IP nach MS SQL ab]\n",
  82. "-update- [Ziel URL mit Update]",
  83. "-help- [Zeigt die Hilfe an]");
  84.  
  85. my $sock = new IO::Socket::INET(
  86.                                  PeerAddr => $Host,
  87.                                  PeerPort => $Port,
  88.                                  Proto => 'tcp',
  89.                                 ) || die "No connection $!\n";
  90.  
  91. print $sock "NICK $nick\r\n";
  92. print $sock "USER $email\r\n";
  93.  
  94. while ($input = <$sock>)
  95. {
  96.    if ($input =~ /004/){
  97.      last;
  98.    }
  99.    elsif ($input =~ /433/){
  100.                      $a = int(rand($#alternate));
  101.                      $newnick = $alternate[$a+1];
  102.                      print $sock "NICK $newnick\r\n";
  103.    }
  104.  
  105. }
  106. print $sock "JOIN $channel\r\n";
  107. for $zeile (@welcome) {
  108. print $sock "PRIVMSG $channel :$zeile\r\n";
  109. }
  110. while ($input = <$sock>)
  111. {
  112. if ($input =~ /-help-/i){
  113. for $help (@help) {
  114. print $sock "PRIVMSG $channel :$help\r\n";
  115. }
  116. } elsif ($input =~ /-credits-/i) {
  117. for $credit (@credits) {
  118. print $sock "PRIVMSG $channel :$credit\r\n";
  119. }
  120. } elsif ($input =~ /-spam-/i){
  121.  
  122.          for ($i = 0; $i < 20; ++$i)
  123.          {
  124.          $r = int(rand($#spam));
  125.          $message = $spam[$r+1];
  126.          print $sock "PRIVMSG $channel :$message\r\n";
  127.          }
  128.  
  129.      } elsif ($input =~ /-kill-/i) {
  130.           print $sock "PRIVMSG $channel :Bye :)\r\n";
  131.           close($sock);
  132.           exit;
  133.           } elsif ($input =~ /-from-/i) {
  134. $getTHEip = 'http://www.wieistmeineip.de';
  135. $agent = new LWP::UserAgent;
  136. $request = HTTP::Request->new('GET',$getTHEip);
  137. $result = $agent->request($request);
  138. $getTHEip =~ s/.*\///;
  139. $getTHEip = 'ip.txt';
  140. open(lookME, ">$getTHEip");
  141. print lookME $result->content();
  142. close(lookME);
  143. $need = "ip.txt";
  144. open(IN,"<$need") || print "NOT FOUND BIATCH!"."\n";
  145. @IN = <IN>;
  146. close(IN);
  147. @iplist = ();
  148. unlink "ip.txt";
  149. foreach $line(@IN){
  150.   if($line =~ /(\d+\.\d+\.\d+\.\d+)/){
  151. $message = $1;
  152.   }
  153. }
  154.           print $sock "PRIVMSG $channel :I am from $message\r\n";
  155.  
  156.           } elsif ($input =~ /-version-/i) {
  157.           print $sock "PRIVMSG $channel :GENesis Bot Version: $version\r\n";
  158.           } elsif ($input =~ /-mille-/i) {
  159. $getMILLE = 'http://milw0rm.com/rss.php';
  160. $agent = new LWP::UserAgent;
  161. $request = HTTP::Request->new('GET',$getMILLE);
  162. $result = $agent->request($request);
  163. $getit =~ s/.*\///;
  164. @result = $result->content();
  165. open(RES,">","mille.txt");
  166. print RES @result;
  167. close(RES);
  168. open(RES,"<","mille.txt");
  169. @inhalt = <RES>;
  170. close(RES);
  171. unlink ("mille.txt");
  172. foreach $shit (@inhalt) {
  173. $shit =~ tr/</ /;
  174. $shit =~ tr/>/ /;
  175. $shit =~ tr/\// /;
  176. $shit =~ s/milw0rm.com//ig;
  177. $shit =~ s/&lt;=/<=/ig;
  178. if ($shit =~ m/title/i) {
  179. $shit =~ s/title/ /ig;
  180. push(@sploits,"$shit");
  181. }
  182. }
  183. foreach $sploit (@sploits) {
  184. print $sock "PRIVMSG $channel :$sploit\r\n";
  185. }
  186.           } elsif($input =~ /-SQL-/i) {
  187. open(TMP,">","tmp.temp");
  188. print TMP "$input";
  189. close(TMP);
  190. open(TMP,"<","tmp.temp");
  191. @input = <TMP>;
  192. close(TMP);
  193. open(TMP,">","tmp.temp");
  194.           for $ok (@input) {
  195.           $ok =~ tr/ /\n/;
  196.           print TMP "$ok";
  197.           }
  198. close(TMP);
  199. open(TMP,"<","tmp.temp");
  200. @input = <TMP>;
  201. close(TMP);
  202. unlink "tmp.temp";
  203. foreach $ok (@input) {
  204.           if ($ok =~ m/(\d\d\d?).(\d\d?\d?).(\d\d?\d?).(\d\d?\d?)/) {
  205.           $ip = $ok;
  206.           }
  207.           }
  208.           if ($check = new IO::Socket::INET (
  209. PeerAddr => $ip,
  210. PeerPort => "1433",
  211. Proto => 'tcp',
  212. Timeout => '1'))
  213. {
  214. $port = 1433;
  215. print $sock "PRIVMSG $channel :OFFENER Port $port auf $ip\r\n";
  216. } else {
  217. print $sock "PRIVMSG $channel :Kein MS SQL auf $ip am laufen!\r\n";
  218. }
  219.           } elsif ($input =~ /-crack-/i) {
  220.           $content=getstore('http://www.milw0rm.com/mil-dic.php','mil-dic.txt');
  221.           open(TMP,">","tmp.temp");
  222. print TMP "$input";
  223. close(TMP);
  224. open(TMP,"<","tmp.temp");
  225. @input = <TMP>;
  226. close(TMP);
  227. open(TMP,">","tmp.temp");
  228.           for $ok (@input) {
  229.           $ok =~ tr/ /\n/;
  230.           print TMP "$ok";
  231.           }
  232. close(TMP);
  233. open(TMP,"<","tmp.temp");
  234. @input = <TMP>;
  235. close(TMP);
  236. unlink "tmp.temp";
  237. $hash = "@input[4]";
  238. $hash =~ s/\r\n//;
  239. open(MILLE,"<","mil-dic.txt");
  240. @passes = <MILLE>;
  241. close(MILLE);
  242. foreach $string (@passes) {
  243. chomp($string);
  244. $md5 = Digest::MD5->new;
  245. $md5->add("$string");
  246. $digest = $md5->hexdigest;
  247. if ($digest eq $hash) {
  248. $md5FOUND = "DECRYPT: $string";
  249. print $sock "PRIVMSG $channel :$md5FOUND\r\n";
  250. }
  251. }
  252. print $sock "PRIVMSG $channel :Wordlist duchgecheckt!\r\n";
  253. } elsif ($input =~ /-md5gen-/i) {
  254. open(TMP,">","tmp.temp");
  255. print TMP "$input";
  256. close(TMP);
  257. open(TMP,"<","tmp.temp");
  258. @input = <TMP>;
  259. close(TMP);
  260. open(TMP,">","tmp.temp");
  261.           for $gen (@input) {
  262.           $gen =~ tr/ /\n/;
  263.           print TMP "$gen";
  264.           }
  265. close(TMP);
  266. open(TMP,"<","tmp.temp");
  267. @input = <TMP>;
  268. close(TMP);
  269. unlink "tmp.temp";
  270. $word = "@input[4]";
  271. $word =~ s/\r\n//;
  272. $md5 = Digest::MD5->new;
  273. $md5->add("$word");
  274. $digest = $md5->hexdigest;
  275. $out = "$word => $digest";
  276. print $sock "PRIVMSG $channel :$out\r\n";
  277. } elsif ($input =~ /-update-/i) {
  278. open(TMP,">","tmp.temp");
  279. print TMP "$input";
  280. close(TMP);
  281. open(TMP,"<","tmp.temp");
  282. @input = <TMP>;
  283. close(TMP);
  284. open(TMP,">","tmp.temp");
  285.           for $ok (@input) {
  286.           $ok =~ tr/ /\n/;
  287.           print TMP "$ok";
  288.           }
  289. close(TMP);
  290. open(TMP,"<","tmp.temp");
  291. @input = <TMP>;
  292. close(TMP);
  293. unlink "tmp.temp";
  294. foreach $chars (@input) {
  295.           if ($chars =~ m/http:/) {
  296.           $adresse = $chars;
  297.           }
  298.           }
  299. if ($adresse != m/(perforin.coderz-heaven.de\/GENesis\/*)/gi) {
  300. print $sock "PRIVMSG $channel :Nananana!\r\n";
  301. } elsif ($adresse =~ m/(perforin.coderz-heaven.de\/GENesis\/*)/gi) {
  302. my $content=get("$adresse");
  303. my @CODE = $content;
  304. $kommazahlXXX = rand(1001);
  305. $ganzzahlXXX = int($kommazahlXXX);
  306. open(IN,">GENesis$ganzzahlXXX.pl");
  307. print IN @CODE;
  308. close(IN);
  309. print $sock "PRIVMSG $channel :Update erfolgreich!\r\n";
  310. system("GENesis$ganzzahlXXX.pl");
  311. exit;
  312. }
  313. } elsif ($input =~ /-ipgen-/i) {
  314. $kommazahl1 = rand(256);
  315. $ganzzahl1 = int($kommazahl1);
  316. if ($ganzzahl1 <= 128) {
  317. do {
  318. $ganzzahl1++;
  319. } until($ganzzahl1 =~ 128);
  320. }
  321. $kommazahl2 = rand(256);
  322. $ganzzahl2 = int($kommazahl2);
  323. $kommazahl3 = rand(256);
  324. $ganzzahl3 = int($kommazahl3);
  325. $kommazahl4 = rand(256);
  326. $ganzzahl4 = int($kommazahl4);
  327. $GENIP = "$ganzzahl1".'.'."$ganzzahl2".'.'."$ganzzahl3".'.'."$ganzzahl4";
  328. print $sock "PRIVMSG $channel :Generierte IP => $GENIP\r\n";
  329. } elsif ($input =~ /-ping-/i) {
  330. open(TMP,">","tmp.temp");
  331. print TMP "$input";
  332. close(TMP);
  333. open(TMP,"<","tmp.temp");
  334. @input = <TMP>;
  335. close(TMP);
  336. open(TMP,">","tmp.temp");
  337.           for $ok (@input) {
  338.           $ok =~ tr/ /\n/;
  339.           print TMP "$ok";
  340.           }
  341. close(TMP);
  342. open(TMP,"<","tmp.temp");
  343. @input = <TMP>;
  344. close(TMP);
  345. unlink "tmp.temp";
  346. $URL = "@input[4]";
  347. $URL =~ s/\r\n//;
  348. $ping = Net::Ping->new();
  349. if ($ping->ping($URL)) {
  350. print $sock "PRIVMSG $channel :ON => $URL\r\n";
  351. } else {
  352. print $sock "PRIVMSG $channel :OFF => $URL\r\n";
  353. }
  354. $ping->close();
  355. } elsif ($input =~ /-DNS-/i) {
  356. open(TMP,">","tmp.temp");
  357. print TMP "$input";
  358. close(TMP);
  359. open(TMP,"<","tmp.temp");
  360. @input = <TMP>;
  361. close(TMP);
  362. open(TMP,">","tmp.temp");
  363.           for $char (@input) {
  364.           $char =~ tr/ /\n/;
  365.           print TMP "$char";
  366.           }
  367. close(TMP);
  368. open(TMP,"<","tmp.temp");
  369. @input = <TMP>;
  370. close(TMP);
  371. unlink "tmp.temp";
  372. $URL = "@input[4]";
  373. $URL =~ s/\r\n//;
  374. if ($URL != m/(.*)/g) {
  375. print $sock "PRIVMSG $channel :Das ist keine Domain du Spacken!\r\n";
  376. } elsif ($URL =~ m/(.*)/g) {
  377. $ip = inet_ntoa(gethost("$URL")->addr);
  378. print $sock "PRIVMSG $channel :DNS aufgelöst in $ip\r\n";
  379. }
  380. } elsif ($input =~ m/^PING (.*?)$/gi) {
  381. print $sock "PONG ".$1."\n";
  382. } elsif ($input =~ /-PUB-/i) {
  383. open(TMP,">","tmp.temp");
  384. print TMP "$input";
  385. close(TMP);
  386. open(TMP,"<","tmp.temp");
  387. @input = <TMP>;
  388. close(TMP);
  389. open(TMP,">","tmp.temp");
  390.           for $given (@input) {
  391.           $given =~ tr/ /\n/;
  392.           print TMP "$given";
  393.           }
  394. close(TMP);
  395. open(TMP,"<","tmp.temp");
  396. @input = <TMP>;
  397. close(TMP);
  398. unlink "tmp.temp";
  399. $location = "@input[4]";
  400. $location =~ s/\r\n//;
  401. $ftp = Net::FTP->new("$location", Debug => 0) || print $sock "PRIVMSG $channel :DOWN => $location\r\n";
  402. if ($ftp->login("anonymous","welcome@hell.com")) {
  403. print $sock "PRIVMSG $channel :Pub! => $location \r\n";
  404. $ftp->quit;
  405. } else {
  406. print $sock "PRIVMSG $channel :Kein Pub! => $location \r\n";
  407. }
  408. }
  409. }
code pin board Back To Code Pin Board Post New Code
Please login to post comments.
Page 1 of 1
 
 
Part of the MyPingle Network
Development Blog :: Make A Donation :: Contact Me
Terms & Conditions :: Privacy Policy :: Documents
Version 1.44.00
Copyright © 2007 - 2008, Scott Thompson, All Rights Reserved