Jan 17, 2025 03:00 PM (This post was last modified: Jan 17, 2025 03:12 PM by Py_Dev.)
Encryption for a file is as simple as converting a file into a byte array, obfuscating the array. Taking the array and putting it into some sort of loader. This loader should have the decryption logic of the array to decrypt, then execute. IT AINT HARD! Dont use a simple XOR off the internet do a custom one that is not known yet. Its really just that easy guys. If you are using .net or native make sure the loader can handle it.
Code
//ENCRYPT
public static (byte[] encryptedData, byte[] iv) Encrypt(byte[] data, byte[] key)
{
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = key;
byte[] iv = new byte[16];
using (RandomNumberGenerator rng = RandomNumberGenerator.Create())
{
rng.GetBytes(iv);
}
aesAlg.IV = iv;
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
{
cs.Write(data, 0, data.Length);
}
return (ms.ToArray(), iv);
}
}
}
// Byte shuffling
public static byte[] ShuffleBytes(byte[] data, byte[] key)
{
int[] indices = new int[data.Length];
byte[] shuffled = new byte[data.Length];
Random rng = new Random(BitConverter.ToInt32(key, 0));
for (int i = 0; i < data.Length; i++) indices[i] = i;
for (int i = indices.Length - 1; i > 0; i--)
{
int swapIndex = rng.Next(i + 1);
(indices[i], indices[swapIndex]) = (indices[swapIndex], indices[i]);
}
for (int i = 0; i < data.Length; i++)
{
shuffled[i] = data[indices[i]];
}
return shuffled;
}
using (MemoryStream ms = new MemoryStream(data))
{
using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
{
using (MemoryStream output = new MemoryStream())
{
cs.CopyTo(output);
return output.ToArray();
}
}
}
}
}
public static byte[] UnshuffleBytes(byte[] data, byte[] key)
{
int[] indices = new int[data.Length];
byte[] unshuffled = new byte[data.Length];
Random rng = new Random(BitConverter.ToInt32(key, 0));
for (int i = 0; i < data.Length; i++) indices[i] = i;
for (int i = indices.Length - 1; i > 0; i--)
{
int swapIndex = rng.Next(i + 1);
(indices[i], indices[swapIndex]) = (indices[swapIndex], indices[i]);
}
for (int i = 0; i < data.Length; i++)
{
unshuffled[indices[i]] = data[i];
}
return unshuffled;
}
encryption is not difficult, you can target correctly in Base64 and it becomes undetectable, the problem is during injection and addition to the Startup.
Actually a crazy insightful post.. this logic only seems to apply to the file itself upon download and such - for example, if the file is running (a rat for example) wont the AVs pick them up..?
also, know of any free companies / tools offering obfuscation for py scripts? how will this structure look?
(Jan 23, 2025 07:11 AM)ProfessorPy Wrote: Actually a crazy insightful post.. this logic only seems to apply to the file itself upon download and such - for example, if the file is running (a rat for example) wont the AVs pick them up..?
also, know of any free companies / tools offering obfuscation for py scripts? how will this structure look?
Jan 23, 2025 01:07 PM (This post was last modified: Jan 23, 2025 01:08 PM by DramaKing.)
(Jan 18, 2025 10:42 PM)Horus_Protector Wrote: encryption is not difficult, you can target correctly in Base64 and it becomes undetectable, the problem is during injection and addition to the Startup.
Base64 encoding to avoid static detection? You're so funny. 🤭
(Jan 23, 2025 07:11 AM)ProfessorPy Wrote: Actually a crazy insightful post.. this logic only seems to apply to the file itself upon download and such - for example, if the file is running (a rat for example) wont the AVs pick them up..?
Jan 26, 2025 11:30 AM (This post was last modified: Jan 26, 2025 11:34 AM by padreN8.)
Mitnick comenzó como un hacker adolescente, explorando sistemas de telecomunicaciones y computadoras por pura curiosidad intelectual. En los años 80 y 90, se convirtió en una figura legendaria, capaz de acceder a sistemas corporativos aparentemente impenetrables. Su habilidad con la "ingeniería social" lo diferenciaba de otros hackers: más que herramientas avanzadas, utilizaba su capacidad para persuadir a las personas.
Sin embargo, su talento lo llevó a estar en la mira de las autoridades, y en 1995 fue arrestado por cargos de fraude informático. Su tiempo en prisión marcó un punto de inflexión en su vida. Tras cumplir su condena, decidió usar su experiencia para bien. Mitnick se reinventó como consultor de seguridad, fundando su propia empresa, Mitnick Security Consulting ,
Hoy en día, Mitnick es autor de varios libros sobre ciberseguridad, como The Art of Deceptiony *Fantasma en la WFantasma en los cables
Su historia nos recuerda que el conocimiento, usado con ética y responsabilidad, tiene el poder de transformar vidas. Lo que alguna vez fue una actividad que provocó controversia, ahora es una herramienta para proteger y ed
Gary
McKinnon afirmó que su objetivo principal no era causar daño, sino descubrir información sobre ovnis, tecnologías ocultas y posibles fuentes de energía libre que, según él, los gobiernos estaban escondiendo. A pesar de sus intenciones, las autoridades estadounidenses lo acusaron de causar daños significativos en las redes informáticas, incluyendo la pérdida de datos críticos y la interrupción de operaciones.
El caso de McKinnon se volvió polémico debido a su diagnóstico de síndrome de Asperger. Muchas personas, incluidos activistas y políticos, argumentaron que su extradición a Estados Unidos sería un castigo desproporcionado. Después de una batalla legal de 10 años, el gobierno del Reino Unido decidió no extraditarlo, citando preocupaciones sobre su salud mental y bienestar.
Hoy en día, la historia de Gary McKinnon es vista como un recordatorio de cómo la ética y la curiosidad pueden entrar en conflicto con las leyes. Si bien la exploración del conocimiento es importante, también subraya la necesidad de equilibrar el deseo de descubrir con el respeto a las normas y la seguridad global.
Feb 25, 2025 10:46 PM (This post was last modified: Feb 25, 2025 10:50 PM by Voidlight.)
Some other tips to add to this:
- Use AI to create custom encryption methods on the fly
- Any features that would be static detected in your stub like startup, bypasses, ect, put inside another exe that you will embed and inject alongside the payload so it wont be detected on scantime. you should only have the decryption and injection logic inside the stub, the rest of the features can be done in later stages.
- use staging: layer 3-4 powershell scripts inside each other with base64 encoding, reversed strings
- get creative with how you store the encrypted bytes think outside the box