macOS Ruby Applications Injection

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

RUBYOPT

์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ruby๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ƒˆ๋กœ์šด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ **-e**๋Š” ์‹คํ–‰ํ•  ruby ์ฝ”๋“œ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ, ๋งค๊ฐœ๋ณ€์ˆ˜ **-I**์™€ **-r**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ ๊ฒฝ๋กœ์— ์ƒˆ ํด๋”๋ฅผ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ ๋กœ๋“œํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ **inject.rb**๋ฅผ **/tmp**์— ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค:

puts `whoami`

์–ด๋””์—๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฃจ๋น„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”:

puts 'Hello, World!'

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ž„์˜์˜ ๋ฃจ๋น„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค:

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

์žฌ๋ฏธ์žˆ๋Š” ์‚ฌ์‹ค, --disable-rubyopt ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:

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

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ