پاور شيل ۾ Reverse socks5 proxy لکڻ. حصو 1

3 حصن ۾ تحقيق ۽ ترقي بابت هڪ ڪهاڻي. حصو 1 تحقيقي آهي.
اتي ڪيترائي بيچ وڻ آهن - اڃا به وڌيڪ فائدا.

مسئلو جي ترتيب

pentests ۽ RedTeam مهمن جي دوران، اهو هميشه ممڪن ناهي ته صارف جي معياري اوزار، جهڙوڪ وي پي اين، آر ڊي پي، Citrix، وغيره استعمال ڪرڻ. اندروني نيٽ ورڪ ۾ داخل ٿيڻ لاء لنگر جي طور تي. ڪجهه هنڌن تي، هڪ معياري وي پي اين ايم ايف اي استعمال ڪندي ڪم ڪري ٿو ۽ هڪ هارڊويئر ٽوڪن کي ٻئي عنصر طور استعمال ڪيو ويندو آهي، ٻين ۾ ان کي وحشي طور تي مانيٽر ڪيو ويندو آهي ۽ اسان جي وي پي اين لاگ ان فوري طور تي ظاهر ٿي ويندي آهي، جيئن اهي چون ٿا، انهن سڀني سان گڏ، پر ٻين ۾ موجود آهن. بس اهڙو ڪو به مطلب ناهي.

اهڙين حالتن ۾، اسان کي مسلسل "ريورس سرنگ" سڏيو ويندو آهي - اندروني نيٽ ورڪ کان ٻاهرين وسيلن يا سرور سان ڪنيڪشن جنهن کي اسان ڪنٽرول ڪريون ٿا. اهڙي سرنگ جي اندر، اسان اڳ ۾ ئي گراهڪن جي اندروني وسيلن سان ڪم ڪري سگهون ٿا.

انهن واپسي سرنگن جا ڪيترائي قسم آهن. انهن مان سڀ کان وڌيڪ مشهور آهي، يقينا، ميٽرپريٽر. ريورس پورٽ فارورڊنگ سان گڏ SSH سرنگون پڻ هيڪر عوام جي وچ ۾ وڏي گهرج ۾ آهن. ريورس سرنگنگ کي لاڳو ڪرڻ لاء ڪافي وسيلا آھن ۽ انھن مان گھڻا چڱي طرح اڀياس ۽ بيان ڪيل آھن.
يقينن، انهن جي حصي لاء، سيڪيورٽي حل جي ڊولپرز هڪ طرف نه بيٺا آهن ۽ فعال طور تي اهڙن عملن کي ڳوليندا آهن.
مثال طور، MSF سيشنز ڪاميابيءَ سان معلوم ڪيا ويا آھن جديد IPS مان Cisco يا Positive Tech، ۽ ھڪ ريورس SSH سرنگ لڳ ڀڳ ڪنھن عام فائر وال ذريعي ڳولي سگھجي ٿو.

تنهن ڪري، هڪ سٺي ريڊ ٽيم مهم ۾ ڪنهن جو ڌيان نه رکڻ لاءِ، اسان کي غير معياري وسيلا استعمال ڪندي هڪ ريورس سرنگ ٺاهڻ جي ضرورت آهي ۽ نيٽ ورڪ جي حقيقي آپريٽنگ موڊ سان جيترو ممڪن ٿي سگهي موافقت ڪرڻي پوندي.

اچو ته ڪوشش ڪريون ڪا اهڙي شيءِ ڳولڻ يا ايجاد ڪرڻ جي.

ڪنهن به شيءِ کي ايجاد ڪرڻ کان پهرين، اسان کي اهو سمجهڻ گهرجي ته اسان ڪهڙو نتيجو حاصل ڪرڻ چاهيون ٿا، اسان جي ترقي کي ڪهڙي ڪم ڪرڻ گهرجي. سرنگ لاءِ ڪهڙيون گهرجون هونديون ته جيئن اسان وڌ ۾ وڌ اسٽيلٿ موڊ ۾ ڪم ڪري سگهون؟

اهو واضح آهي ته هر صورت ۾ اهڙيون گهرجون مختلف ٿي سگهن ٿيون، پر ڪم جي تجربي جي بنياد تي، مکيه ماڻهن کي سڃاڻي سگهجي ٿو:

  • Windows-7-10 OS تي ڪم. جيئن ته اڪثر ڪارپوريٽ نيٽ ورڪ ونڊوز استعمال ڪندا آهن؛
  • ڪلائنٽ SSL ذريعي سرور سان ڳنڍيندو آهي ips استعمال ڪندي بيوقوف ٻڌڻ کان بچڻ لاءِ؛
  • جڏهن ڳنڍڻ، ڪلائنٽ کي اجازت ڏيڻ سان گڏ پراکسي سرور ذريعي ڪم جي حمايت ڪرڻ گهرجي، ڇاڪاڻ ته ڪيترين ئي ڪمپنين ۾، انٽرنيٽ تائين رسائي هڪ پراکسي ذريعي ٿئي ٿي. حقيقت ۾، ڪلائنٽ مشين شايد ان بابت ڪجھ به نه ڄاڻن، ۽ پراکسي شفاف موڊ ۾ استعمال ٿئي ٿي. پر اسان کي اهڙي ڪارڪردگي مهيا ڪرڻ گهرجي؛
  • ڪلائنٽ جو حصو جامع ۽ پورٽبل هجڻ گهرجي؛
    اهو واضح آهي ته ڪسٽمر جي نيٽ ورڪ ۾ ڪم ڪرڻ لاء، توهان ڪلائنٽ مشين تي OpenVPN انسٽال ڪري سگهو ٿا ۽ توهان جي سرور تي هڪ مڪمل سرنگ ٺاهي سگهو ٿا (خوشقسمتي سان، Openvpn ڪلائنٽ هڪ پراکسي ذريعي ڪم ڪري سگهن ٿا). پر، پهرين، اهو هميشه ڪم نه ڪندو، ڇو ته اسان اتي مقامي منتظم نه ٿي سگهون ٿا، ۽ ٻيو، اهو ايترو شور مچائيندو ته هڪ مهذب SIEM يا HIPS اسان کي فوري طور تي "ڇڪڻ" ڪندو. مثالي طور، اسان جي ڪلائنٽ کي هڪ نام نهاد ان لائن ڪمانڊ هجڻ گهرجي، مثال طور، مثال طور ڪيترائي بش شيل لاڳو ڪيا ويا آهن، ۽ ڪمان لائن ذريعي شروع ڪيا ويا آهن، مثال طور، جڏهن هڪ لفظ ميڪرو کان حڪم جاري ڪرڻ.
  • اسان جي سرنگ کي گھڻن موضوعن واري ھجڻ گھرجي ۽ ھڪ ئي وقت گھڻن ڪنيڪشنن کي سپورٽ ڪرڻ گھرجي.
  • ڪلائنٽ-سرور ڪنيڪشن کي لازمي طور تي ڪجهه قسم جو اختيار هجڻ گهرجي ته جيئن سرنگ صرف اسان جي ڪلائنٽ لاءِ قائم ٿئي، ۽ نه هر ڪنهن لاءِ جيڪو اسان جي سرور تي مخصوص ايڊريس ۽ بندرگاهه تي اچي ٿو. مثالي طور، هڪ لينڊنگ صفحو ٻلين سان گڏ يا اصل ڊومين سان لاڳاپيل پيشه ورانه عنوانن کي "ٽين پارٽي استعمال ڪندڙن" لاءِ کولڻ گهرجي.
    مثال طور، جيڪڏهن گراهڪ هڪ طبي تنظيم آهي، ته پوءِ هڪ معلوماتي سيڪيورٽي ايڊمنسٽريٽر لاءِ جيڪو اهو وسيلو چيڪ ڪرڻ جو فيصلو ڪري ٿو ته ڪلينڪ جي ملازم جي رسائي، دواسازي جي شين سان گڏ هڪ صفحو، تشخيص جي وضاحت سان وڪيپيڊيا، يا ڊاڪٽر ڪماروفسڪي جو بلاگ، وغيره. کولڻ گهرجي.

موجوده اوزارن جو تجزيو

توهان جي پنهنجي سائيڪل کي ٻيهر ٺاهڻ کان پهريان، توهان کي موجوده سائيڪلن جو تجزيو ڪرڻ جي ضرورت آهي ۽ اهو سمجهڻ گهرجي ته ڇا اسان کي واقعي ان جي ضرورت آهي ۽، شايد، اسان صرف اهي ئي نه آهيون جن اهڙي فنڪشنل سائيڪل جي ضرورت بابت سوچيو آهي.

انٽرنيٽ تي گوگلنگ (اسان کي عام طور تي گوگل لڳي ٿو)، انهي سان گڏ گٿب تي ڳولها لفظ استعمال ڪندي "ريورس ساڪس" ڪيترائي نتيجا نه ڏنا. بنيادي طور تي، اهو سڀ ڪجهه هيٺ اچي ٿو ssh سرنگون تعمير ڪرڻ سان ريورس پورٽ فارورڊنگ ۽ ان سان ڳنڍيل هر شي. SSH سرنگن کان علاوه، ڪيترائي حل آھن:

github.com/klsecservices/rpivot
ڪاسپرسڪي ليب ۾ ماڻهن کان هڪ ريورس سرنگ جو هڪ ڊگهو عمل. نالو اهو واضح ڪري ٿو ته هي رسم الخط ڪهڙي مقصد لاءِ آهي. Python 2.7 ۾ لاڳو ٿيل، سرنگ ڪليئر ٽيڪسٽ موڊ ۾ هلندي آهي (جيئن ته اهو چوڻ فيشن آهي - هيلو RKN)

github.com/tonyseek/rsocks
پٿون ۾ ٻيو عمل، پڻ واضح متن ۾، پر وڌيڪ امڪانن سان. اهو هڪ ماڊل طور لکيو ويو آهي ۽ هڪ API آهي توهان جي منصوبن ۾ حل کي ضم ڪرڻ لاء.

github.com/llkat/rsockstun
github.com/mis-team/rsockstun
پهرين لنڪ گولانگ ۾ ريورس سوڪس عمل درآمد جو اصل نسخو آهي (ڊولپر پاران سهڪار نه ڪيو ويو).
ٻيو لنڪ اسان جي نظرثاني آهي اضافي خاصيتن سان، پڻ گولانگ ۾. اسان جي ورزن ۾، اسان SSL تي عمل ڪيو، NTLM اختيار سان پراکسي ذريعي ڪم ڪيو، ڪلائنٽ تي اختيار، غلط پاسورڊ جي صورت ۾ لينڊنگ پيج (يا بلڪه، لينڊنگ پيج ڏانهن ريڊائريڪ)، ملٽي ٿريڊ موڊ (يعني ڪيترائي ماڻهو هڪ ئي وقت سرنگ سان ڪم ڪري سگهي ٿو)، ڪلائنٽ کي پنگ ڪرڻ جو هڪ نظام اهو طئي ڪرڻ لاءِ ته هو زنده آهي يا نه.

github.com/jun7th/tsocks
پٿون ۾ اسان جي ”چيني دوستن“ کان ريورس سوڪس جو نفاذ. اتي، سست ۽ "امر" لاء، اتي هڪ تيار ڪيل بائنري (exe) آهي، چيني طرفان گڏ ڪيل ۽ استعمال لاء تيار آهي. هتي، صرف چيني خدا ڄاڻي ٿو ته هي بائنري مکيه ڪارڪردگي کان سواء ٻيو ڇا آهي، تنهنڪري توهان جي پنهنجي خطري ۽ خطري تي استعمال ڪريو.

github.com/securesocketfunneling/ssf
ريورس سوڪس ۽ وڌيڪ لاڳو ڪرڻ لاءِ C ++ ۾ ڪافي هڪ دلچسپ منصوبو. ريورس سرنگ جي اضافي ۾، اهو پورٽ فارورڊنگ ڪري سگهي ٿو، هڪ ڪمانڊ شيل ٺاهي، وغيره.

MSF ميٽرپريٽر
هتي، جيئن اهي چون ٿا، ڪوبه تبصرو ناهي. سڀ کان وڌيڪ يا گهٽ تعليم يافته هيڪرز هن شيءِ کان تمام گهڻو واقف آهن ۽ سمجهن ٿا ته اهو ڪيئن آساني سان ڳولي سگهجي ٿو حفاظتي اوزارن سان.

مٿي بيان ڪيل سڀئي اوزار ساڳي ٽيڪنالاجي استعمال ڪندي ڪم ڪن ٿا: اڳ ۾ تيار ڪيل ايگزيڪيوٽو بائنري ماڊل نيٽ ورڪ جي اندر هڪ مشين تي شروع ڪيو ويو آهي، جيڪو هڪ ٻاهرين سرور سان ڪنيڪشن قائم ڪري ٿو. سرور هلائي ٿو SOCKS4/5 سرور جيڪو ڪنيڪشن قبول ڪري ٿو ۽ انهن کي ڪلائنٽ ڏانهن رلي ٿو.

مٿين سڀني اوزارن جو نقصان اهو آهي ته ڪلائنٽ مشين تي پائٿون يا گولانگ انسٽال ٿيڻ لازمي آهي (ڇا توهان اڪثر ڏٺو آهي پٿون مشينن تي نصب ٿيل، مثال طور، ڪمپني ڊائريڪٽر يا آفيس جي ملازمن؟)، يا اڳي گڏ ٿيل بائنري (اصل ۾ پيٿون) کي هن مشين تي ڇڪيو وڃي ۽ هڪ بوتل ۾ اسڪرپٽ) ۽ هن بائنري کي اڳ ۾ ئي هلايو. ۽ هڪ exe ڊائون لوڊ ڪرڻ ۽ پوءِ ان کي لانچ ڪرڻ پڻ مقامي اينٽي وائرس يا HIPS لاءِ هڪ دستخط آهي.

عام طور تي، نتيجو پاڻ کي مشورو ڏئي ٿو - اسان کي پاور شيل حل جي ضرورت آهي. ھاڻي ٽماٽا اسان تي اڏامندا - اھي چون ٿا ته پاور شيل اڳ ۾ ئي ھيڪني آھي، ان جي نگراني ڪئي وئي آھي، بند ٿيل، وغيره. ۽ ايئن. حقيقت ۾، هر جڳهه ناهي. اسان ذميواري سان اعلان ڪريون ٿا. رستي ۾، بلاڪنگ کي بائي پاس ڪرڻ جا ڪيترائي طريقا آهن (هتي وري هيلو RKN 🙂 بابت هڪ فيشن وارو جملو آهي)، powershell.exe -> cmdd.exe جي بيوقوف نامنامن کان شروع ٿئي ٿو ۽ powerdll سان ختم ٿئي ٿو، وغيره.

اچو ته ايجاد ڪرڻ شروع ڪريون

اهو واضح آهي ته پهرين اسين گوگل تي ڏسنداسين ۽… اسان کي هن موضوع تي ڪجهه به نه ملندو (جيڪڏهن ڪنهن کي اهو مليو آهي، تبصرن ۾ لنڪ پوسٽ ڪريو). اتي ئي آهي لاڳو ڪرڻ پاور شيل تي جراب 5، پر اهو هڪ عام "سڌو" سوڪس آهي، جنهن جا پنهنجا ڪيترائي نقصان آهن (اسان انهن بابت بعد ۾ ڳالهائينداسين). توهان ڪري سگهو ٿا، يقينا، توهان جي هٿ جي معمولي حرڪت سان، ان کي ريورس ۾ ڦيرايو، پر اهو صرف هڪ ڌاڳو وارو سوڪس هوندو، جيڪو اسان جي ضرورت ناهي.

تنهن ڪري، اسان کي ڪجهه به تيار نه مليو آهي، تنهنڪري اسان کي اڃا تائين اسان جي ڦيٿي کي ٻيهر ٺاهڻو پوندو. اسان کي اسان جي سائيڪل لاء بنياد طور وٺي ويندي اسان جي ترقي گولانگ ۾ ريورس سوڪس، ۽ اسان پاور شيل ۾ ان لاءِ ڪلائنٽ لاڳو ڪندا آهيون.

RSocksTun
پوء ڪيئن rsockstun ڪم ڪندو آهي؟

RsocksTun جو آپريشن (هتان کان پوء حوالو ڏنو ويو آهي rs) ٻن سافٽ ويئر حصن تي ٻڌل آهي - Yamux ۽ Socks5 سرور. Socks5 سرور هڪ باقاعده مقامي جراب 5 آهي، اهو ڪلائنٽ تي هلندو آهي. ۽ ان سان ڪنيڪشن جو ملٽي پلڪسنگ (ملٽي ٿريڊنگ جي باري ۾ ياد رکو؟) yamux (هڪ ٻيو ملٽي پلڪسر). هي اسڪيم توهان کي اجازت ڏئي ٿي ته ڪيترن ئي ڪلائنٽ ساڪس 5 سرورز کي لانچ ڪرڻ ۽ انهن ۾ ٻاهرين ڪنيڪشن ورهائڻ، انهن کي هڪ واحد TCP ڪنيڪشن ذريعي (تقريباً ميٽرپريٽر وانگر) ڪلائنٽ کان سرور تائين اڳتي وڌائيندي، اهڙي طرح هڪ ملٽي ٿريڊڊ موڊ لاڳو ڪري ٿي، جنهن کان سواءِ اسان آساني سان نه ٿي سگهنداسين. اندروني نيٽ ورڪ ۾ مڪمل طور تي ڪم ڪرڻ جي قابل.

yamux ڪيئن ڪم ڪري ٿو ان جو خلاصو اهو آهي ته اهو اسٽريم جي هڪ اضافي نيٽ ورڪ پرت متعارف ڪرايو آهي، ان کي هر پيڪيٽ لاءِ 12 بائيٽ هيڊر جي صورت ۾ لاڳو ڪري ٿو. (هتي اسان لفظ ”اسٽريم“ استعمال ڪري رهيا آهيون ٽريڊ جي بجاءِ، ته جيئن پڙهندڙ کي ڪنهن پروگرام اسٽريم ”ٿريڊ“ سان مونجهارو نه ٿئي- اسان هن مضمون ۾ اهو تصور پڻ استعمال ڪنداسين). yamux هيڊر ۾ اسٽريم نمبر، اسٽريم کي انسٽال ڪرڻ/ ختم ڪرڻ لاءِ جھنڊو، منتقل ٿيل بائيٽ جو تعداد، ۽ منتقلي ونڊو جي سائيز شامل آھي.

پاور شيل ۾ Reverse socks5 proxy لکڻ. حصو 1

هڪ وهڪري کي انسٽال ڪرڻ / ختم ڪرڻ کان علاوه، yamux هڪ حفاظتي ميکانيزم لاڳو ڪري ٿو جيڪو توهان کي قائم ڪيل مواصلاتي چينل جي ڪارڪردگي جي نگراني ڪرڻ جي اجازت ڏئي ٿو. Keeplive ميسيج ميڪانيزم جو آپريشن ترتيب ڏنو ويو آھي جڏھن Yamux سيشن ٺاھيو. دراصل، سيٽنگون صرف ٻه پيٽرولر آهن: فعال / غير فعال ۽ سيڪنڊن ۾ پيڪيٽس موڪلڻ جي تعدد. Keepalive پيغام موڪلي سگھجن ٿا يامڪس سرور يا يامڪس ڪلائنٽ طرفان. جڏهن هڪ محفوظ پيغام وصول ڪيو وڃي، ريموٽ پارٽي کي ان جو جواب ڏيڻو پوندو بلڪل ساڳئي پيغام جي سڃاڻپ ڪندڙ (حقيقت ۾ هڪ نمبر) جيڪو هن وصول ڪيو آهي. عام طور تي، Keepalive ساڳيو پنگ آهي، صرف يامڪس لاءِ.

ملٽي پلڪسر جي پوري آپريٽنگ ٽيڪنڪ: پيڪيٽ جا قسم، ڪنيڪشن سيٽ اپ ۽ ختم ٿيڻ جا جھنڊا، ۽ ڊيٽا جي منتقلي جو ميڪانيزم تفصيل سان بيان ڪيو ويو آھي. وضاحتون yamux ڏانهن.

پهرئين ڀاڱي جو نتيجو

تنهن ڪري، آرٽيڪل جي پهرين حصي ۾، اسان ريورس سرنگن کي منظم ڪرڻ لاء ڪجهه اوزارن سان واقف ٿي ويا، انهن جي فائدن ۽ نقصانن کي ڏٺو، يامڪس ملٽي پلڪسر جي آپريشن جي ميکانيزم جو اڀياس ڪيو ۽ نئين ٺاهيل پاور شيل ماڊل جي بنيادي ضرورتن کي بيان ڪيو. ايندڙ حصي ۾ اسين پاڻ ماڊل کي ترقي ڪنداسين، عملي طور تي شروع کان. جاري رکڻ گهرجي. تبديل نه ڪريو :)

جو ذريعو: www.habr.com

تبصرو شامل ڪريو