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 ์ง€์›ํ•˜๊ธฐ

์ค‘์š”ํ•œ ์ฃผ์˜์‚ฌํ•ญ:

image

**dl**์€ PHP ํ™•์žฅ์„ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” PHP ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด disable_functions๋ฅผ ์šฐํšŒํ•˜๊ณ  ์ž„์˜์˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ช‡ ๊ฐ€์ง€ ์—„๊ฒฉํ•œ ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • dl ํ•จ์ˆ˜๋Š” ํ™˜๊ฒฝ์— ์กด์žฌํ•ด์•ผ ํ•˜๋ฉฐ ๋น„ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • PHP ํ™•์žฅ์€ ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋™์ผํ•œ ์ฃผ์š” ๋ฒ„์ „(PHP API ๋ฒ„์ „)์œผ๋กœ ์ปดํŒŒ์ผ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด ์ •๋ณด๋Š” phpinfo์˜ ์ถœ๋ ฅ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)
  • PHP ํ™•์žฅ์€ extension_dir ์ง€์‹œ์–ด์— ์˜ํ•ด ์ •์˜๋œ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด ์ •๋ณด๋Š” phpinfo์˜ ์ถœ๋ ฅ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ์„œ๋ฒ„๋ฅผ ์•…์šฉํ•˜๋ ค๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์ด ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์„ ๊ฐ€์งˆ ๊ฐ€๋Šฅ์„ฑ์€ ๋งค์šฐ ๋‚ฎ์œผ๋ฏ€๋กœ, ์ด ์š”๊ตฌ ์‚ฌํ•ญ์€ ์•„๋งˆ๋„ ์ด ๊ธฐ์ˆ ์„ ์•…์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋ฉด, ๊ณ„์†ํ•ด์„œ ํฌ์ŠคํŠธ๋ฅผ ์ฝ์œผ์„ธ์š” https://antichat.com/threads/70763/ disable_functions๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด. ๋‹ค์Œ์€ ์š”์•ฝ์ž…๋‹ˆ๋‹ค:

dl ํ•จ์ˆ˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ค‘์— PHP ํ™•์žฅ์„ ๋™์ ์œผ๋กœ ๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. PHP ํ™•์žฅ์€ ์ผ๋ฐ˜์ ์œผ๋กœ C/C++๋กœ ์ž‘์„ฑ๋˜์–ด PHP์˜ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” dl ํ•จ์ˆ˜๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์€ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์‹œ์Šคํ…œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์ •์˜ PHP ํ™•์žฅ์„ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ž๊ฐ€ ์ทจํ•œ ๋‹จ๊ณ„:

  1. PHP ๋ฒ„์ „ ์‹๋ณ„:
  • ๊ณต๊ฒฉ์ž๋Š” ์Šคํฌ๋ฆฝํŠธ(<?php echo 'PHP Version is '.PHP_VERSION; ?>)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PHP ๋ฒ„์ „์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  1. PHP ์†Œ์Šค ํš๋“:
  1. ๋กœ์ปฌ PHP ์„ค์ •:
  • ํŠน์ • PHP ๋ฒ„์ „์„ ์‹œ์Šคํ…œ์— ์ถ”์ถœํ•˜๊ณ  ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  1. ํ™•์žฅ ์ƒ์„ฑ:
  • PHP ํ™•์žฅ ์ƒ์„ฑ์„ ์—ฐ๊ตฌํ•˜๊ณ  PHP ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ext/standard/exec.c์— ์œ„์น˜ํ•œ exec ํ•จ์ˆ˜์˜ ๊ธฐ๋Šฅ์„ ๋ณต์ œํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ํ™•์žฅ์„ ์ปดํŒŒ์ผํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์˜์‚ฌํ•ญ:

  1. ZEND_MODULE_API_NO:
  • bypass.c์˜ ZEND_MODULE_API_NO๋Š” ํ˜„์žฌ Zend Extension Build์™€ ์ผ์น˜ํ•ด์•ผ ํ•˜๋ฉฐ, ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
php -i | grep "Zend Extension Build" |awk -F"API4" '{print $2}' | awk -F"," '{print $1}'
  1. PHP_FUNCTION ์ˆ˜์ •:
  • ์ตœ๊ทผ PHP ๋ฒ„์ „(5, 7, 8)์˜ ๊ฒฝ์šฐ PHP_FUNCTION(bypass_exec)๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ์ฝ”๋“œ ์กฐ๊ฐ์—์„œ ์ด ์ˆ˜์ •์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ํ™•์žฅ ํŒŒ์ผ:

  • bypass.c:
  • ์‚ฌ์šฉ์ž ์ •์˜ ํ™•์žฅ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • php_bypass.h:
  • ํ™•์žฅ ์†์„ฑ์„ ์ •์˜ํ•˜๋Š” ํ—ค๋” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
  • config.m4:
  • ์‚ฌ์šฉ์ž ์ •์˜ ํ™•์žฅ์„ ์œ„ํ•œ ๋นŒ๋“œ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ phpize์— ์˜ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ™•์žฅ ๋นŒ๋“œ:

  1. ์ปดํŒŒ์ผ ๋ช…๋ น:
  • phpize, ./configure, make๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์žฅ์„ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ƒ์„ฑ๋œ bypass.so๋Š” ๋ชจ๋“ˆ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  1. ์ •๋ฆฌ:
  • ์ปดํŒŒ์ผ ํ›„ make clean ๋ฐ phpize --clean์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ํ”ผํ•ด์ž ํ˜ธ์ŠคํŠธ์— ์—…๋กœ๋“œ ๋ฐ ์‹คํ–‰:

  1. ๋ฒ„์ „ ํ˜ธํ™˜์„ฑ:
  • ๊ณต๊ฒฉ์ž์™€ ํ”ผํ•ด์ž์˜ ์‹œ์Šคํ…œ ๊ฐ„์— PHP API ๋ฒ„์ „์ด ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  1. ํ™•์žฅ ๋กœ๋“œ:
  • ์ƒ๋Œ€ ๊ฒฝ๋กœ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ dl ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ œํ•œ์„ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  1. ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰:
  • ๊ณต๊ฒฉ์ž๋Š” bypass.so์™€ PHP ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ”ผํ•ด์ž์˜ ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ์Šคํฌ๋ฆฝํŠธ๋Š” dl_local ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ bypass.so๋ฅผ ๋™์ ์œผ๋กœ ๋กœ๋“œํ•œ ๋‹ค์Œ cmd ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋œ ๋ช…๋ น์œผ๋กœ bypass_exec๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น ์‹คํ–‰:

  • ๊ณต๊ฒฉ์ž๋Š” ์ด์ œ ๋‹ค์Œ์„ ํ†ตํ•ด ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: http://www.example.com/script.php?cmd=<command>

์ด ์ƒ์„ธํ•œ ์ ˆ์ฐจ๋Š” ์‹œ์Šคํ…œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด PHP ํ™•์žฅ์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•˜๋ฉฐ, dl ํ•จ์ˆ˜๋ฅผ ์•…์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ณด์•ˆ ์นจํ•ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด์ƒ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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 ์ง€์›ํ•˜๊ธฐ