Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Borito30

#61
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:

Me.Hide()
Como podría hacer para que no sea visible.

Saludos.
#62
Cita de: animanegra en 29 Mayo 2017, 18:28 PM
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?
#63
Basicamente es lo mismo:
[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.
#64
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.
#65
Algo así pero me devuelve excepcion:
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();
        }
    }
}


CitarPor otro lado, no necesitas ni usar OpenProcess, WriteProcessMemory, etc, etc. pues estás en tu propio proceso.
Tienes razón me pase cinco pueblos.
Citarhttp://www.mpgh.net/forum/showthread.php?t=743307
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

#66
Hola estoy intentando borrar la cabecera en .NET el método que encontré por internet y que usan es:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication9
{
   class Program
   {
       [DllImport("kernel32.dll")]
       public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
       [DllImport("kernel32.dll", SetLastError = true)]
       static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead);
       [DllImport("kernel32.dll", SetLastError = true)]
       //static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);
       static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);
       [DllImport("kernel32.dll")]
       public static extern IntPtr GetModuleHandle(string lpModuleName);
       private static int ErasePEHeader() // hModule = Handle to the module, procName = Process name (eg. "notepad")
{
   byte[] imagentheaderptr = new byte[4];
   byte[] Stub = new byte[120];
   byte[] Stub2 = new byte[0x108];
   int Out=0, Out2=0;

           IntPtr hModule = GetModuleHandle(null);
           
           string procName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
           procName = procName;
           Console.WriteLine(hModule + "," + procName);

           IntPtr proc = OpenProcess(0x001F0FFF, false, System.Diagnostics.Process.GetProcessesByName(procName)[0].Id);
   IntPtr IMAGE_NT_HEADER = new IntPtr((hModule.ToInt32() + 60)), out2 = IntPtr.Zero;
   ReadProcessMemory(proc, IMAGE_NT_HEADER, imagentheaderptr, 4, out out2);
   if ((WriteProcessMemory(proc, hModule, Stub, 120, ref Out) == true) && (WriteProcessMemory(proc, hModule, Stub2, 0x100, ref Out2) == true)) return Out + Out2;
   else return 0;
}
       static void Main(string[] args)
       {
           int a = ErasePEHeader();
           Console.WriteLine(a);
           Console.ReadKey();
       }
   }
}

Pero siempre me devuelve 0 o falso. ¿Alguien que me pueda explicar porque nunca la borra?
#67
Cita de: MCKSys Argentina en 26 Mayo 2017, 01:55 AM
El código ya encuentra el inicio del ejecutable (con GetModuleHandle). Sólo tienes que llamar la función.

Saludos!
Ups se me paso tienes razón..

Citar
No te limites a coger codigo y ejecutarlo tal cual, por lo que veo sabes poco del tema, te recomiendo que primero aprendas: https://www.youtube.com/playlist?list=PLUFkSN0XLZ-n_Na6jwqopTt1Ki57vMIc3

Gracias intentaré entenderlo.
#68
Hola estaba viendo una pequeña función por internet que me permite borrar la cabecera, el fichero.cpp es:
VOID ErasePEHeaderFromMemory()
{
_tprintf(_T("[*] Erasing PE header from memory\n"));
DWORD OldProtect = 0;

// Get base address of module
char *pBaseAddr = (char*)GetModuleHandle(NULL);

// Change memory protection
VirtualProtect(pBaseAddr, 4096, // Assume x86 page size
PAGE_READWRITE, &OldProtect);

// Erase the header
SecureZeroMemory(pBaseAddr, 4096);
}

int main(){
// como puedo borrar mi cabecera en base a mi función
}


Y luego el fichero.h:
VOID ErasePEHeaderFromMemory();

Pero mi pregunta es como puedo aplicarlo a un ejemplo práctico. Supongo que tendré que obtener el base address de mi ejecutable y después usarlo en mi funcion?? Alguna sugerencia??
#69
Seguridad / Re: 0xword
26 Mayo 2017, 01:12 AM
Cita de: 1days en 26 Mayo 2017, 01:08 AM
Aqui puedes conseguirlo script kiddie......    http://0xword.com/es/

Ya los tengo y gratis.
#70
Cita de: Chuidiang en 25 Mayo 2017, 20:55 PM
Hola:

No entiendo ...."Así funciona pero solo se arranca cuando lanza la excepción" es bastante críptico y el resto cuesta todavía más entenderlo :)

Imagino que quieres decir que con google arranca pero la aplicación no va porque necesita lo que sea que esté en "www.girionjava.com"

Si ese dominio es de internet, tendrás que reigstrarlo y que esté de alta y tu aplicación lo encuentre.

Si no puedes o quieres registrarlo, o es un dominio interno de vuestra red, entonces en el móvil tienes que decir qué IP corresponde a ese dominio. Esto puede ayudarte https://www.adslzone.net/moviles/android/como-modificar-el-archivo-hosts-de-android/

Saludos.
Hola el foro de java es el que mas me gusta, y lo que queria decir es que si le quito el throws UnknownHostException me devuelve error de unhandled exception el error es:
Description Resource Path Location Type
Unhandled exception type UnknownHostException LauncherActivity.java /src/my/app/client line 33 Java Problem

Era eso lo que intentaba decir