
NØW es una herramienta de codificación y ofuscación de shellcode basada en palabras que transforma bytes de shellcode crudo en prosa en inglés de apariencia natural.
Codifica shellcode como prosa en inglés de aspecto natural. Descifralo con la frase y contraseña correctas.
NØW (Natural Output Words) es una herramienta en C que convierte bytes de shellcode sin procesar en texto inglés legible por humanos — ya sea una lista simple de palabras clave o prosa natural con oraciones y párrafos. La salida parece escritura común, no volcados hexadecimales ni blobs base64.
Cada valor de byte (0x00–0xFF) se asigna a una palabra única, derivada de una frase secreta que proporciones. Un cifrado de flujo (RC4 o AES-256-CTR) baraja las asignaciones byte a palabra basándose en una contraseña. Sin la frase y la contraseña, el texto codificado es solo ruido.
Donde el shellcode se convierte en prosa.
NØW es una herramienta de codificación y ofuscación de shellcode basada en palabras que transforma bytes de shellcode sin procesar en prosa inglesa de aspecto natural. Usando una frase secreta, contraseña y cifrado de flujo (RC4 o AES-256-CTR), el shellcode original puede codificarse en texto legible y luego recuperarse mediante el proceso inverso.
Destinado a investigación en seguridad, análisis de malware, experimentación de equipos rojos y desarrollo de CTF.
Shellcode bytes
│
▼
Stream cipher (RC4 or AES-256-CTR) shuffles byte→word table
│
▼
Each byte → one codeword from your secret sentence (padded to 256 unique words)
│
▼
Optional: wrap in natural prose with connectors, punctuation, paragraph breaks
│
▼
Output text file (looks like an essay or paragraph)
El descifrado invierte el proceso: lee el texto, elimina puntuación y palabras conectoras, y asigna cada palabra clave de nuevo a su valor de byte.
En la imagen de arriba, ciframos un shellcode usando la Herramienta de Shellcode Basada en Palabras NØW. El shellcode original se cifró primero usando el cifrado de flujo seleccionado (RC4 en este ejemplo) con la contraseña "nirvana". Después del cifrado, cada byte cifrado se asignó a palabras de un conjunto de palabras predefinido, produciendo un bloque de texto de aspecto natural en lugar de bytes de shellcode obvios.
La salida generada aparece como prosa normal que contiene palabras como hope, bottle, spiral, fog, ink y snow. Sin embargo, este texto no está destinado a leerse como un párrafo significativo. Cada palabra representa un valor de byte cifrado, y la secuencia de palabras conserva los datos del shellcode cifrado.
Durante el descifrado, la herramienta realiza el proceso inverso:
Esta técnica transforma el shellcode en texto legible por humanos, haciendo que la carga útil parezca menos sospechosa que una matriz de bytes hexadecimales sin procesar, mientras que aún permite reconstruir el shellcode original cuando se proporcionan la contraseña y la configuración de cifrado correctas.
Nota: Solo se deben usar palabras en inglés en la frase secreta. Los caracteres no ingleses (chinos, japoneses, árabes, emojis, etc.) pueden causar problemas de codificación o análisis y pueden romper el proceso de cifrado/descifrado. Usa texto ASCII estándar en inglés para resultados confiables.
Probably, laughed hope polishing, how most perhaps sleep would bottle, additionally, somewhere bottle, immediately bottle me spiral me time fog. Immediately, spiral animal certainly hope all by, previously do elsewhere hope perhaps ink fog, also hope ink, consequently fog? Door hope ink, meanwhile fog equally snow hope ink, recently room time hope get then immediately house, importantly house. Written all window hope all would, eventually vanished fire notably one he, elsewhere than?
Accordingly, roof snow me waves window, somewhere into me obviously now waves great, particularly ago fog. Nonetheless, me spiral hope ink, regardless fog snow consequently ink shore, fire moreover hope now birds, indirectly ink. Probably, peace floor bottle, everywhere bottle, everywhere bottle hope never would earth, white hope. Now birds time, ink hope door black, ink faded consequently snow.
About now birds moon animal, hope us window however me, currently ink similarly leaving floor. Regardless, hope now map written all window, hope all would vanished me waves? Probably, window into me furthermore now waves calm, there bucket basically horse ceiling star ceiling, dying. Furthermore, which evening pig because, bucket even word black ink!
Additionally, faded dying about now, however birds specifically used me, ink revolver hope, black ink originally faded, equally see. About now consequently birds certainly me ink two, floor particularly hope obviously now birds me. Word me word, my packed bag, me word me otherwise packed me, bag hope. Polishing father snow, me fog us, there word me packed, immediately bag hope everywhere ink.
Particularly, happy flower your, us, equally us, likewise us partly years about meanwhile fresh make, indirectly cat therefore just. Namely, not we just bottle, chiefly bottle me animal, about subsequently stone moreover to hope fish? Basically, father dawn nevertheless now, bottle, although bottle about stone prank, about but than, regardless bottle? Now home would lighthouse, immediately now go namely me until, similarly about indirectly stone.
Additionally, how ceiling stone horse, additionally me they ceiling make, its. Equally, fear us yellow chiefly ceiling stone a, old eventually now notably, whereas now eventually bottle, mainly bottle packed me. They mouse originally peace for, bottle us yellow, time, furthermore time written nowhere all window, written likewise all! Would hope us would hope stone, her hope.
Us would hope stone, alternatively waves me probably they moreover a, consequently get want there us, particularly yellow hope. Stone every currently something, notably or me word ceiling stone, great however hope stone, human me they indirectly angry. Prayer earth mostly one, nevertheless us yellow accordingly hope fish, staircase equally faded than bottle, obviously bottle about thinking leather? Buried bird bottle, chiefly bottle mainly, accordingly bottle, partly bottle, anywhere bottle moreover me perhaps time, me.
Time hope certainly stone, somewhere great your whereas, obviously your, originally your written all would. Something into packed me, time great partly laughed, regardless used every black, nonetheless dying until moreover now, somewhere now hope. Another black dying, similarly door previously stopped additionally bottle old, indeed hope stone. To animal time me time, particularly me time me.
Time about originally us, particularly would me time about, everywhere us dream meanwhile written initially stone, eventually waves ceiling meanwhile stone. Waves me they, chiefly sea whereas rocky washed leaf us, somewhere yellow hope. Mainly, all by hope us, containing ink dog, otherwise me they which. Rolled duck also, chiefly us yellow home most constant, war animal me, they found.
Long who what us yellow, hope polishing nowhere staircase? Look fire wall, indirectly he garden peace, differently waters there additionally bucket coming. Nevertheless, home ice notably have whereas room, sky something bottle packed, me stone cloud us. Importantly, yellow.
El texto cifrado se proporciona a la herramienta junto con la contraseña correcta (nirvana) y el cifrado de flujo (RC4). La herramienta elimina la puntuación y el formato, convierte cada palabra de nuevo a su valor de byte correspondiente, reconstruye el flujo de bytes cifrados y luego lo descifra para recuperar el shellcode original.
Proceso: Shellcode → Bytes Cifrados → Palabras → Palabras → Bytes Cifrados → Shellcode Original
Nota: La contraseña y el cifrado deben coincidir con los valores usados durante el cifrado. Cualquier discrepancia resultará en un descifrado incorrecto o fallido.
Libro de códigos de 256 palabras construido a partir de cualquier frase que proporciones, rellenado automáticamente con palabras comunes en inglés.
Dos cifrados de flujo para barajar byte a palabra:
RC4 — multiplataforma, compatible con RC4ENC/RC4DECAES-256-CTR — solo Windows (mediante CryptoAPI), compatible con AESENC/AESDECCuatro estilos de salida:
├── main.c # Punto de entrada, bucle del menú principal
├── menu.c / menu.h # Acciones interactivas de CLI (cifrar, descifrar, ayuda)
├── encrypt.c / .h # Codificación de shellcode a palabras (simple + prosa natural)
├── decrypt.c / .h # Decodificación de texto de palabras a shellcode
├── word_mapping.c/.h # Construye el libro de códigos de 256 palabras y las tablas de búsqueda byte↔palabra
├── rc4.c / .h # Implementación del cifrado de flujo RC4
├── io.c / .h # E/S de archivos, análisis hexadecimal, entrada multilínea
├── platform.c / .h # Ejecución de shellcode específica de plataforma (Windows)
├── util.c / .h # Ayudantes de cadenas (recortar, limpiar tokens, etc.)
└── common.h # Constantes compartidas, macros y definiciones de tipos
.c y .h al proyecto.Ctrl + Shift + B).Requisitos:
Recomendado: Compila en Windows usando Visual Studio.
Ejecuta el binario y sigue el menú interactivo:
NØW v2.2 - Word-Based Shellcode Tool
RC4 or AES stream | Natural prose output
Main menu:
1. Encrypt shellcode -> words
2. Decrypt words -> shellcode
3. Help
4. Exit
RC4 o AES-256-CTR).bin.txt.bin, .c y .hexplatform.c) es solo para Windows y requiere confirmación explícita del usuario en tiempo de ejecuciónMedium : https://medium.com/@0xnirsec
| Nivel | Descripción |
|---|
| 0 — Simple | Lista de palabras sin puntuación |
| 1 — Prosa ligera | Oraciones más largas, relleno mínimo |
| 2 — Prosa media | Párrafos equilibrados (predeterminado) |
| 3 — Prosa pesada | Conectores frecuentes y saltos de párrafo |
Autoprueba de ida y vuelta — verifica automáticamente que la codificación→decodificación produzca exactamente los mismos bytes antes de guardar.
Múltiples formatos de entrada — pegar bytes hexadecimales directamente o cargar un archivo .bin
Múltiples formatos de salida al descifrar — guarda .bin, .c (arreglo C) y .hex
Ejecución de shellcode opcional (solo Windows) — ejecuta el shellcode decodificado en memoria mediante VirtualAlloc + CreateThread