Este es el comando ragg2-cc que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
ragg2-cc: interfaz CC para compilar códigos de shell
SINOPSIS
ragg2-cc [-a arco] [-b los bits] [-k núcleo] [-o presentar] [-dscxvh]
DESCRIPCIÓN
ragg2-cc es una interfaz de CC. Se utiliza para crear pequeños binarios (1KB) o códigos de shell en
pares binarios o hexadecimales de una fuente C.
El compilador utilizado es el configurado por el entorno CC. Esto ha sido probado con
gcc, llvm-gcc y clang.
Utiliza sflib (shellforge4) incluye para obtener las definiciones de syscall.
En este momento, solo se admite linux / darwin x86-32 / 64. Soporte planificado para más
arquitecturas
OPCIONES
-a arco establecer arquitectura x86, brazo
-b los bits 32 ó 64
-k núcleo windows, linux u osx
-o presentar archivo de salida para escribir el resultado de la compilación
-h mostrar mensaje de ayuda
-v mostrar versión
-d mostrar código de ensamblador
-s generar archivo de ensamblaje
-c generar código de shell compilado
-x muestre los bytes del hexpair
EJEMPLO
$ gato hi.c
int main () {
write (1, "Hola mundo \ n", 12);
salir (0);
}
$ ragg2-cc hola.c
hola.c.bin
# Vinculado a un binario diminuto. Esto es 294 bytes
$ wc -c <hi.c.bin
294
$ ./hi.c.bin
Hola Mundo
# El shellcode compilado tiene ceros
$ ragg2-cc -x hola.c
e90000000083ec0ce800000000588d882a000000b804000000606a0651
6a0150cd8083c41061b8010000006a0050cd8083c40883c40cc368656c
6c6f0a00
# Utilice un codificador xor con la tecla 32 para omitir
$ ragg2 -e xor -c clave = 32 -B `ragg2-cc -x hi.c`
6a3e596a205be8ffffffffc15e4883c60d301e48ffc6e2f9c920202020
a3cc2cc82020202078ada80a2020209824202020404a26714a2170eda0
a3e4304198212020204a2070eda0a3e428a3e42ce348454c4c4f2a20
Use ragg2-cc en línea usando los servicios de onworks.net