Reverse socks5 proxy በpowershell ላይ እንጽፋለን።ክፍል 1

ስለ ምርምር እና ልማት ታሪክ በ 3 ክፍሎች። ክፍል 1 ገላጭ ነው።
ብዙ የቢች ዛፎች አሉ - እንዲያውም የበለጠ ጥቅሞች.

የችግሩ ቀመር

በፔንታስት እና በ RedTeam ዘመቻዎች የደንበኛ መደበኛ መሳሪያዎችን እንደ VPN፣ RDP፣ Citrix፣ ወዘተ መጠቀም ሁልጊዜ አይቻልም። ወደ ውስጣዊ አውታረመረብ ለመግባት እንደ መልህቅ. በአንዳንድ ቦታዎች መደበኛ ቪፒኤን ኤምኤፍኤ በመጠቀም ይሰራል እና ሃርድዌር ቶከን እንደ ሁለተኛ ደረጃ ጥቅም ላይ ይውላል ፣ ሌሎች ደግሞ በአሰቃቂ ሁኔታ ቁጥጥር ይደረግበታል እና የ VPN መግቢያችን ወዲያውኑ ይታያል ፣ እነሱ እንደሚሉት ፣ እሱ ከሚያስከትላቸው ሁሉ ጋር ፣ ግን በሌሎች ውስጥ በቀላሉ እንደዚህ ዓይነት ዘዴዎች የሉም።

በእንደዚህ ዓይነት ሁኔታዎች ፣ “የተገላቢጦሽ ዋሻዎች” የሚባሉትን ያለማቋረጥ ማድረግ አለብን - ከውስጥ አውታረ መረብ ወደ ውጫዊ ምንጭ ወይም እኛ የምንቆጣጠረው አገልጋይ። በእንደዚህ ዓይነት ዋሻ ውስጥ, ከደንበኞች ውስጣዊ ሀብቶች ጋር ልንሰራ እንችላለን.

የእነዚህ የመመለሻ ዋሻዎች በርካታ ዝርያዎች አሉ. ከነሱ ውስጥ በጣም ታዋቂው እርግጥ ነው, ሜተርፕተር. የተገላቢጦሽ ወደብ ማስተላለፊያ ያላቸው የኤስኤስኤች ዋሻዎች እንዲሁ በጠላፊው ህዝብ ዘንድ በጣም ተፈላጊ ናቸው። የተገላቢጦሽ መሿለኪያን ለመተግበር በጣም ብዙ መንገዶች አሉ እና ብዙዎቹ በደንብ የተጠኑ እና የተገለጹ ናቸው።
እርግጥ ነው, በበኩላቸው, የደህንነት መፍትሄዎች ገንቢዎች ወደ ጎን አይቆሙም እና እንደነዚህ ያሉትን ድርጊቶች በንቃት ይገነዘባሉ.
ለምሳሌ፣ የኤምኤስኤፍ ክፍለ ጊዜዎች በዘመናዊው አይፒኤስ ከሲስኮ ወይም ከፖዚቲቭ ቴክ በተሳካ ሁኔታ ተገኝተዋል፣ እና የተገላቢጦሽ SSH ዋሻ በማንኛውም የተለመደ ፋየርዎል ሊታወቅ ይችላል።

ስለዚህ በጥሩ የ RedTeam ዘመቻ ላይ ሳንስተዋል ለመቆየት መደበኛ ያልሆኑ መንገዶችን በመጠቀም የተገላቢጦሽ ዋሻ መገንባት እና በተቻለ መጠን ከአውታረ መረቡ ትክክለኛ የአሠራር ሁኔታ ጋር መላመድ አለብን።

ተመሳሳይ ነገር ለማግኘት ወይም ለመፈልሰፍ እንሞክር።

ማንኛውንም ነገር ከመፍጠርዎ በፊት ምን ውጤት ማግኘት እንደምንፈልግ ፣ እድገታችን ምን ተግባራትን ማከናወን እንዳለበት መረዳት አለብን። በከፍተኛ የድብቅ ሁነታ መስራት እንድንችል ለዋሻው የሚያስፈልጉት ነገሮች ምን ምን ይሆናሉ?

ለእያንዳንዱ ጉዳይ እንደዚህ ያሉ መስፈርቶች በጣም ሊለያዩ እንደሚችሉ ግልጽ ነው, ነገር ግን በስራ ልምድ ላይ በመመስረት ዋና ዋናዎቹ ሊታወቁ ይችላሉ.

  • በዊንዶውስ-7-10 ስርዓተ ክወና ላይ ይስሩ. አብዛኛዎቹ የኮርፖሬት ኔትወርኮች ዊንዶውስ ስለሚጠቀሙ;
  • አይፒዎችን በመጠቀም ደደብ ማዳመጥን ለማስወገድ ደንበኛው በኤስኤስኤል በኩል ከአገልጋዩ ጋር ይገናኛል ።
  • በሚገናኙበት ጊዜ ደንበኛው በተኪ አገልጋይ ፈቃድ ካለው ሥራ መደገፍ አለበት ፣ ምክንያቱም በብዙ ኩባንያዎች የበይነመረብ መዳረሻ በፕሮክሲ በኩል ይከሰታል። እንደ እውነቱ ከሆነ የደንበኛው ማሽን ስለሱ ምንም እንኳን ላያውቅ ይችላል, እና ፕሮክሲው ግልጽ በሆነ ሁነታ ጥቅም ላይ ይውላል. ነገር ግን እንዲህ ያለውን ተግባር ማቅረብ አለብን;
  • የደንበኛው ክፍል አጭር እና ተንቀሳቃሽ መሆን አለበት;
    በደንበኛ አውታረመረብ ውስጥ ለመስራት በደንበኛው ማሽን ላይ OpenVPN ን መጫን እና ወደ አገልጋይዎ ሙሉ ዋሻ መፍጠር እንደሚችሉ ግልፅ ነው (እንደ እድል ሆኖ የ openvpn ደንበኞች በፕሮክሲ በኩል ሊሰሩ ይችላሉ)። ግን ፣ በመጀመሪያ ፣ ይህ ሁል ጊዜ አይሰራም ፣ ምክንያቱም እኛ እዚያ ውስጥ የአከባቢ አስተዳዳሪዎች ልንሆን እንችላለን ፣ እና ሁለተኛ ፣ በጣም ብዙ ጫጫታ ስለሚፈጥር ጨዋ SIEM ወይም HIPS ወዲያውኑ “ይበላናል”። በሐሳብ ደረጃ ደንበኞቻችን የውስጠ-መስመር ትዕዛዝ ተብሎ የሚጠራ መሆን አለበት ፣ ለምሳሌ ብዙ ባሽ ዛጎሎች ስለሚተገበሩ እና በትእዛዝ መስመር በኩል ይጀምራሉ ፣ ለምሳሌ ፣ ከማክሮ ቃል ትዕዛዞችን ሲፈጽሙ።
  • የእኛ መሿለኪያ ባለብዙ ክር መሆን እና ብዙ ግንኙነቶችን በአንድ ጊዜ መደገፍ አለበት።
  • የደንበኛው እና የአገልጋይ ግንኙነት መሿለኪያው ለደንበኛችን ብቻ እንዲመሰረት የተወሰነ አይነት ፍቃድ ሊኖረው ይገባል እንጂ በተጠቀሰው አድራሻ እና ወደብ ወደ አገልጋያችን ለሚመጡ ሁሉ አይደለም። በሐሳብ ደረጃ፣ ከዋናው ጎራ ጋር የሚዛመዱ ድመቶች ወይም ሙያዊ ርዕሰ ጉዳዮች ያሉት ማረፊያ ገጽ ለ“ሶስተኛ ወገን ተጠቃሚዎች” መከፈት አለበት።
    ለምሳሌ፣ ደንበኛው የሕክምና ድርጅት ከሆነ፣ ከዚያም አንድ የክሊኒክ ሠራተኛ ያገኘውን ሀብት፣ የመድኃኒት ምርቶች የያዘ ገጽ፣ ዊኪፔዲያ የምርመራው መግለጫ ያለው፣ ወይም የዶ/ር ኮማርቭስኪ ብሎግ ወዘተ ለመፈተሽ ለሚወስን የመረጃ ደህንነት አስተዳዳሪ። መከፈት አለበት።

የነባር መሳሪያዎች ትንተና

የእራስዎን ብስክሌት ከመፍጠርዎ በፊት ስለ ነባር ብስክሌቶች ትንተና ማድረግ እና እኛ በእርግጥ እንደምንፈልግ እና ምናልባትም እንደዚህ አይነት ተግባራዊ ብስክሌት አስፈላጊነት ያሰብነው እኛ ብቻ አይደለንም ።

በበይነመረቡ ላይ ጎግል ማድረግ (በተለመደው ጎግል የምናደርገው ይመስላል) እንዲሁም “reverse socks” የሚሉትን ቁልፍ ቃላት በመጠቀም Github ላይ መፈለግ ብዙ ውጤት አላስገኘም። በመሠረቱ ፣ ሁሉም ነገር በተቃራኒው ወደብ ማስተላለፍ እና ከእሱ ጋር የተገናኘውን ሁሉ የ ssh ዋሻዎችን በመገንባት ላይ ነው። ከኤስኤስኤች ዋሻዎች በተጨማሪ በርካታ መፍትሄዎች አሉ-

github.com/klsecservices/rpivot
በ Kaspersky Lab ከወንዶች የተገላቢጦሽ ዋሻ የረጅም ጊዜ ትግበራ። ስሙ ይህ ስክሪፕት ለምን እንደታሰበ ግልጽ ያደርገዋል። በፓይዘን 2.7 ውስጥ የተተገበረው ዋሻው ግልጽ በሆነ ጽሑፍ ሁነታ ይሰራል (አሁን ለማለት ፋሽን ነው - ሰላም RKN)

github.com/tonyseek/rsocks
በፓይዘን ውስጥ ሌላ ትግበራ፣ እንዲሁም ግልጽ በሆነ ጽሑፍ ውስጥ፣ ግን የበለጠ አማራጮች። እንደ ሞጁል ነው የተጻፈው እና መፍትሄውን ከፕሮጀክቶችዎ ጋር ለማዋሃድ ኤፒአይ አለው።

github.com/lkat/rsockstun
github.com/mis-team/rsockstun
የመጀመሪያው አገናኝ በጎላንግ (በገንቢው የማይደገፍ) የተገላቢጦሽ የሶክስ ትግበራ የመጀመሪያ ስሪት ነው።
ሁለተኛው ማገናኛ ከተጨማሪ ባህሪያት ጋር የኛ ክለሳ ነው፣ በጎላንግም ውስጥ። በእኛ ስሪት ውስጥ፣ SSLን ተግባራዊ አድርገናል፣ በኤንቲኤልኤም ፍቃድ በፕሮክሲ በኩል እንሰራለን፣ በደንበኛው ላይ ፍቃድ፣ የተሳሳተ የይለፍ ቃል ከሆነ ማረፊያ ገጽ (ወይም ይልቁንስ ወደ ማረፊያ ገጹ ማዘዋወር)፣ ባለብዙ ክር ሁነታ (ማለትም ብዙ ሰዎች) በተመሳሳይ ጊዜ ከዋሻው ጋር አብሮ መሥራት ይችላል) ፣ ደንበኛው በሕይወት መኖር አለመኖሩን ለመለየት የፒንግ ማድረጊያ ስርዓት።

github.com/jun7th/tsocks
በፓይዘን ውስጥ ከ "ቻይናውያን ጓደኞቻችን" የተገላቢጦሽ ሶክስን መተግበር። እዚያም ለሰነፎች እና "የማይሞት" ዝግጁ የሆነ ሁለትዮሽ (exe) አለ, በቻይናውያን ተሰብስቦ ለአገልግሎት ዝግጁ ነው. እዚህ፣ ይህ ሁለትዮሽ ከዋናው ተግባር ሌላ ምን ሊይዝ እንደሚችል የሚያውቀው የቻይናው አምላክ ብቻ ነው፣ ስለዚህ በራስዎ አደጋ እና አደጋ ይጠቀሙ።

github.com/securesocketfunneling/ssf
Reverse sox እና ሌሎችን ለመተግበር በC++ ውስጥ በጣም አስደሳች ፕሮጀክት። ከተገላቢጦሽ መሿለኪያ በተጨማሪ፣ ወደብ ማስተላለፍ፣ የትእዛዝ ሼል መፍጠር፣ ወዘተ.

የኤምኤስኤፍ መለኪያ አስተርጓሚ
እዚህ, እነሱ እንደሚሉት, ምንም አስተያየት የለም. ሁሉም የበለጡ ወይም ያነሱ የተማሩ ጠላፊዎች ይህንን ነገር በደንብ ያውቃሉ እና በደህንነት መሳሪያዎች እንዴት በቀላሉ እንደሚገኝ ይገነዘባሉ።

ከላይ የተገለጹት ሁሉም መሳሪያዎች ተመሳሳይ ቴክኖሎጂን በመጠቀም ይሰራሉ-በቀድሞው ተዘጋጅቶ የሚተገበር ሁለትዮሽ ሞጁል በአውታረ መረቡ ውስጥ ባለው ማሽን ላይ ተጀምሯል, ይህም ከውጭ አገልጋይ ጋር ግንኙነት ይፈጥራል. አገልጋዩ ግንኙነቶችን የሚቀበል እና ለደንበኛው የሚያስተላልፍ የ SOCKS4/5 አገልጋይ ይሰራል።

ከላይ ያሉት ሁሉም መሳሪያዎች ጉዳቱ ፒቲን ወይም ጎላንግ በደንበኛው ማሽን ላይ መጫን አለባቸው (ብዙውን ጊዜ ፓይቶን በኩባንያው ዳይሬክተር ወይም የቢሮ ሰራተኞች ማሽኖች ላይ ሲጫን አይተዋል?) ወይም አስቀድሞ የተሰበሰበ ነው። ሁለትዮሽ (በእውነቱ ፓይቶን) ወደዚህ ማሽን እና ስክሪፕት በአንድ ጠርሙስ ውስጥ መጎተት አለበት እና ይህንን ሁለትዮሽ ቀድሞውኑ እዚያ ያሂዱ። እና exeን ማውረድ እና ከዚያ ማስጀመር እንዲሁ ለአካባቢያዊ ፀረ-ቫይረስ ወይም HIPS ፊርማ ነው።

በአጠቃላይ, መደምደሚያው እራሱን ይጠቁማል - የሃይል ሼል መፍትሄ እንፈልጋለን. አሁን ቲማቲሞች ወደ እኛ ይበርራሉ - ፓወር ሼል ቀድሞውንም ሁሉም ተጠልፏል፣ ቁጥጥር ይደረግበታል፣ ታግዷል፣ ወዘተ ይላሉ። እናም ይቀጥላል. በእውነቱ, በሁሉም ቦታ አይደለም. በኃላፊነት ስሜት እናውጃለን። በነገራችን ላይ ማገድን ለማለፍ ብዙ መንገዶች አሉ።

መፈልሰፍ እንጀምር

መጀመሪያ Google ላይ እንደምንመለከተው ግልጽ ነው እና… በዚህ ርዕስ ላይ ምንም ነገር አናገኝም (አንድ ሰው ካገኘው በአስተያየቶቹ ውስጥ አገናኞችን ይለጥፉ)። ብቻ አለ። መተግበር Socks5 በሃይል ሼል ላይ, ግን ይህ ተራ "ቀጥታ" ሶክስ ነው, እሱም በርካታ የራሱ ጉዳቶች አሉት (በኋላ ስለእነሱ እንነጋገራለን). አንተ, እርግጥ ነው, በእጅህ ትንሽ እንቅስቃሴ ጋር, ወደ ተቃራኒው መቀየር ይችላሉ, ነገር ግን ይህ ብቻ ነጠላ-ክር sox ይሆናል, ይህም ለእኛ የሚያስፈልገንን አይደለም.

ስለዚህ፣ የተዘጋጀ ምንም ነገር አላገኘንም፣ ስለዚህ አሁንም መንኮራኩራችንን ማደስ አለብን። ለብስክሌታችን መሰረት እንሆናለን። እድገታችን በጎላንግ ውስጥ sox ን ይቀይሩ እና ደንበኛን በሃይል ሼል ውስጥ እንተገብራለን።

RSocksTun
ስለዚህ rsockstun እንዴት ነው የሚሰራው?

የ RsocksTun (ከዚህ በኋላ rs ተብሎ የሚጠራው) አሠራር በሁለት የሶፍትዌር ክፍሎች - Yamux እና Socks5 አገልጋይ ላይ የተመሰረተ ነው. Socks5 አገልጋይ መደበኛ የአካባቢ socks5 ነው፣ በደንበኛው ላይ ይሰራል። እና ከእሱ ጋር ግንኙነቶችን ማባዛት (ስለ ባለብዙ-ክር ንባብ ያስታውሱ?) ያሙክስን በመጠቀም የቀረበ ነው (ገና ሌላ multiplexer). ይህ እቅድ ብዙ የደንበኛ socks5 አገልጋዮችን ለማስጀመር እና ውጫዊ ግንኙነቶችን ለእነሱ እንዲያሰራጭ ይፈቅድልዎታል ፣ በአንድ ነጠላ TCP ግንኙነት (ልክ እንደ ሜትፕርተር) ከደንበኛው ወደ አገልጋይ በማስተላለፍ ባለብዙ-ክር ሁነታን ተግባራዊ ያድርጉ ፣ ያለዚህ እኛ በቀላሉ አንሆንም ። በውስጣዊ አውታረ መረቦች ውስጥ ሙሉ በሙሉ መስራት የሚችል.

ያሙክስ እንዴት እንደሚሰራ ዋናው ነገር ለእያንዳንዱ ፓኬት በ12-ባይት ራስጌ መልክ በመተግበር ተጨማሪ የአውታረ መረብ ዥረቶችን ማስተዋወቅ ነው። (እዚህ ላይ ሆን ብለን ከክር ይልቅ "ዥረት" የሚለውን ቃል እንጠቀማለን, አንባቢውን በፕሮግራም ዥረት "ክር" እንዳያደናቅፍ - ይህንን ጽንሰ-ሐሳብ በዚህ ጽሑፍ ውስጥ እንጠቀማለን). የያሙክስ ራስጌ የዥረት ቁጥሩን፣ ዥረቱን ለመጫን/የሚቋረጥበት ባንዲራዎች፣ የተላለፉ ባይት ብዛት እና የዝውውር መስኮቱ መጠን ይዟል።

Reverse socks5 proxy በpowershell ላይ እንጽፋለን።ክፍል 1

ዥረት ከመትከል/ከማቋረጥ በተጨማሪ ያሙክስ የተመሰረተውን የግንኙነት ቻናል አፈጻጸም ለመከታተል የሚያስችል የመጠባበቂያ ዘዴን ተግባራዊ ያደርጋል። የYamux ክፍለ-ጊዜን በሚፈጥሩበት ጊዜ የቀጥታ ስርጭት መልእክት አሠራር ተዋቅሯል። በእውነቱ ፣ ከቅንብሮች ውስጥ ሁለት መለኪያዎች ብቻ አሉ፡ ማንቃት/ማሰናከል እና ፓኬቶችን በሴኮንዶች ውስጥ የመላክ ድግግሞሽ። Keepalive መልዕክቶች በያሙክስ አገልጋይ ወይም በያሙክስ ደንበኛ ሊላኩ ይችላሉ። Keepalive መልእክት ሲደርስ የርቀት ፓርቲው የተቀበለውን መልእክት ለዪ (በእርግጥ ቁጥር) በመላክ ለእሱ ምላሽ መስጠት አለበት። በአጠቃላይ, keepalive አንድ አይነት ፒንግ ነው, ለ yamux ብቻ.

የባለብዙ ኤክስፐርቱ አጠቃላይ የአሠራር ቴክኒክ፡- የፓኬት አይነቶች፣ የግንኙነት ማዋቀር እና ማቋረጫ ባንዲራዎች እና የውሂብ ማስተላለፊያ ዘዴው በዝርዝር ተብራርቷል። ዝርዝር መግለጫዎች ወደ yamux.

ወደ የመጀመሪያው ክፍል መደምደሚያ

ስለዚህ ፣ በአንቀጹ የመጀመሪያ ክፍል ውስጥ ፣ የተገላቢጦሽ ዋሻዎችን ለማደራጀት አንዳንድ መሳሪያዎችን ተዋወቅን ፣ ጥቅሞቻቸውን እና ጉዳቶቻቸውን ተመልክተናል ፣ የ Yamux multiplexer አሰራርን በማጥናት እና አዲስ ለተፈጠረው የኃይል ሼል ሞጁል መሰረታዊ መስፈርቶችን ገልፀናል ። በሚቀጥለው ክፍል ሞጁሉን እራሱ እናዘጋጃለን, በተግባር ከባዶ. ይቀጥላል. አትቀይር :)

ምንጭ: hab.com

አስተያየት ያክሉ