پاور شیل میں ریورس ساکس 5 پراکسی لکھنا۔ حصہ 1

3 حصوں میں تحقیق اور ترقی کے بارے میں ایک کہانی۔ حصہ 1 تحقیقی ہے۔
بہت سے درمیان کے درخت ہیں - اس سے بھی زیادہ فوائد۔

مسئلہ کی تشکیل

پینٹیسٹ اور RedTeam مہمات کے دوران، یہ ہمیشہ ممکن نہیں ہوتا کہ گاہک کے معیاری ٹولز، جیسے VPN، RDP، Citrix وغیرہ کا استعمال کریں۔ اندرونی نیٹ ورک میں داخل ہونے کے لیے بطور اینکر۔ کچھ جگہوں پر، ایک معیاری VPN MFA کا استعمال کرتے ہوئے کام کرتا ہے اور ایک ہارڈویئر ٹوکن کو دوسرے عنصر کے طور پر استعمال کیا جاتا ہے، دوسروں میں اس کی وحشیانہ نگرانی کی جاتی ہے اور ہمارا VPN لاگ ان فوری طور پر ظاہر ہو جاتا ہے، جیسا کہ وہ کہتے ہیں، اس میں شامل تمام چیزوں کے ساتھ، لیکن دوسروں میں ایسے ہوتے ہیں۔ بس ایسا کوئی مطلب نہیں.

ایسے معاملات میں، ہمیں مسلسل نام نہاد "ریورس ٹنلز" بنانے پڑتے ہیں - اندرونی نیٹ ورک سے کسی بیرونی وسائل یا ہمارے کنٹرول والے سرور سے کنکشن۔ ایسی سرنگ کے اندر، ہم پہلے ہی صارفین کے اندرونی وسائل کے ساتھ کام کر سکتے ہیں۔

ان واپسی سرنگوں کی کئی قسمیں ہیں۔ ان میں سب سے زیادہ مشہور ہے، بلاشبہ، میٹرپریٹر۔ ریورس پورٹ فارورڈنگ کے ساتھ SSH سرنگوں کی بھی ہیکر عوام میں بہت زیادہ مانگ ہے۔ ریورس ٹنلنگ کو لاگو کرنے کے لئے بہت سارے ذرائع ہیں اور ان میں سے بہت سے اچھی طرح سے مطالعہ اور بیان کیے گئے ہیں.
بلاشبہ، ان کی طرف سے، سیکورٹی کے حل کے ڈویلپرز ایک طرف کھڑے نہیں ہوتے ہیں اور فعال طور پر اس طرح کے اعمال کا پتہ لگاتے ہیں.
مثال کے طور پر، سسکو یا پازیٹو ٹیک کے جدید IPS کے ذریعے MSF سیشنز کا کامیابی سے پتہ لگایا جاتا ہے، اور تقریباً کسی بھی عام فائر وال سے ریورس SSH ٹنل کا پتہ لگایا جا سکتا ہے۔

لہٰذا، ایک اچھی RedTeam مہم میں کسی کا دھیان نہ رکھنے کے لیے، ہمیں غیر معیاری ذرائع کا استعمال کرتے ہوئے ایک ریورس ٹنل بنانے کی ضرورت ہے اور نیٹ ورک کے حقیقی آپریٹنگ موڈ کے ساتھ زیادہ سے زیادہ قریب سے ڈھالنے کی ضرورت ہے۔

آئیے کچھ ایسا ہی ڈھونڈنے یا ایجاد کرنے کی کوشش کرتے ہیں۔

کسی بھی چیز کو ایجاد کرنے سے پہلے، ہمیں یہ سمجھنا ہوگا کہ ہم کیا نتیجہ حاصل کرنا چاہتے ہیں، ہماری ترقی کو کون سے کام انجام دینے چاہئیں۔ ٹنل کے لیے کیا ضروریات ہوں گی تاکہ ہم زیادہ سے زیادہ اسٹیلتھ موڈ میں کام کر سکیں؟

یہ واضح ہے کہ ہر معاملے کے لیے اس طرح کے تقاضے بہت مختلف ہو سکتے ہیں، لیکن کام کے تجربے کی بنیاد پر، اہم کی نشاندہی کی جا سکتی ہے:

  • Windows-7-10 OS پر کام کریں۔ چونکہ زیادہ تر کارپوریٹ نیٹ ورک ونڈوز استعمال کرتے ہیں۔
  • کلائنٹ آئی پی ایس کا استعمال کرتے ہوئے احمقانہ سننے سے بچنے کے لیے SSL کے ذریعے سرور سے جڑتا ہے۔
  • رابطہ کرتے وقت، کلائنٹ کو اجازت کے ساتھ پراکسی سرور کے ذریعے کام کی حمایت کرنی چاہیے، کیونکہ بہت سی کمپنیوں میں، انٹرنیٹ تک رسائی پراکسی کے ذریعے ہوتی ہے۔ درحقیقت، کلائنٹ مشین کو اس کے بارے میں کچھ معلوم بھی نہیں ہوسکتا ہے، اور پراکسی کو شفاف موڈ میں استعمال کیا جاتا ہے۔ لیکن ہمیں ایسی فعالیت فراہم کرنی چاہیے۔
  • کلائنٹ کا حصہ مختصر اور پورٹیبل ہونا چاہئے؛
    یہ واضح ہے کہ کسٹمر کے نیٹ ورک کے اندر کام کرنے کے لیے، آپ کلائنٹ مشین پر اوپن وی پی این انسٹال کر سکتے ہیں اور اپنے سرور پر ایک مکمل سرنگ بنا سکتے ہیں (خوش قسمتی سے اوپن وی پی این کلائنٹس پراکسی کے ذریعے کام کر سکتے ہیں)۔ لیکن، سب سے پہلے، یہ ہمیشہ کام نہیں کرے گا، کیونکہ ہو سکتا ہے کہ ہم وہاں مقامی ایڈمن نہ ہوں، اور دوسرا، یہ اتنا شور مچا دے گا کہ ایک مہذب SIEM یا HIPS ہمیں فوراً "چھین" لے گا۔ مثالی طور پر، ہمارے کلائنٹ کو ایک نام نہاد ان لائن کمانڈ ہونا چاہیے، جیسا کہ مثال کے طور پر بہت سے bash شیل کو لاگو کیا جاتا ہے، اور کمانڈ لائن کے ذریعے لانچ کیا جاتا ہے، مثال کے طور پر، جب کسی لفظ میکرو سے کمانڈز کو عمل میں لایا جاتا ہے۔
  • ہماری ٹنل کو ملٹی تھریڈڈ ہونا چاہیے اور بیک وقت بہت سے کنکشنز کو سپورٹ کرنا چاہیے۔
  • کلائنٹ-سرور کنکشن کے پاس کسی قسم کی اجازت ہونی چاہیے تاکہ سرنگ صرف ہمارے کلائنٹ کے لیے قائم ہو، نہ کہ ہر اس شخص کے لیے جو ہمارے سرور پر مخصوص ایڈریس اور پورٹ پر آتا ہے۔ مثالی طور پر، اصل ڈومین سے متعلق بلیوں یا پیشہ ورانہ موضوعات کے ساتھ ایک لینڈنگ صفحہ "تیسرے فریق کے صارفین" کے لیے کھلنا چاہیے۔
    مثال کے طور پر، اگر گاہک ایک طبی تنظیم ہے، تو انفارمیشن سیکیورٹی ایڈمنسٹریٹر کے لیے جو کلینک کے ملازم تک رسائی حاصل کرنے والے وسائل کی جانچ کرنے کا فیصلہ کرتا ہے، فارماسیوٹیکل مصنوعات والا صفحہ، تشخیص کی تفصیل کے ساتھ ویکیپیڈیا، یا ڈاکٹر کومارووسکی کا بلاگ، وغیرہ۔ کھلنا چاہیے

موجودہ ٹولز کا تجزیہ

اپنی سائیکل کو نئے سرے سے ایجاد کرنے سے پہلے، آپ کو موجودہ سائیکلوں کا تجزیہ کرنے کی ضرورت ہے اور یہ سمجھنا ہوگا کہ کیا ہمیں واقعی اس کی ضرورت ہے اور، شاید، ہم صرف وہی نہیں ہیں جنہوں نے ایسی فعال سائیکل کی ضرورت کے بارے میں سوچا ہو۔

انٹرنیٹ پر گوگلنگ (ہم عام طور پر گوگل لگتے ہیں) کے ساتھ ساتھ "ریورس ساکس" کے کلیدی الفاظ کا استعمال کرتے ہوئے گیتھب پر تلاش کرنے سے بھی زیادہ نتائج نہیں ملے۔ بنیادی طور پر، یہ سب کچھ ریورس پورٹ فارورڈنگ کے ساتھ 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
Python میں ہمارے "چینی دوستوں" سے ریورس سوکس کا نفاذ۔ وہاں، سست اور "امر" کے لیے، ایک ریڈی میڈ بائنری (exe) ہے، جسے چینیوں نے جمع کیا ہے اور استعمال کے لیے تیار ہے۔ یہاں، صرف چینی خدا ہی جانتا ہے کہ اس بائنری میں اہم فعالیت کے علاوہ اور کیا ہوسکتا ہے، لہذا اپنے خطرے اور خطرے پر استعمال کریں۔

github.com/securesocketfunneling/ssf
ریورس سوکس اور مزید کو لاگو کرنے کے لئے C++ میں کافی دلچسپ پروجیکٹ۔ ریورس ٹنل کے علاوہ، یہ پورٹ فارورڈنگ، کمانڈ شیل وغیرہ بنا سکتا ہے۔

MSF میٹرپریٹر
یہاں، جیسا کہ وہ کہتے ہیں، کوئی تبصرہ نہیں. تمام کم و بیش پڑھے لکھے ہیکرز اس چیز سے بہت واقف ہیں اور سمجھتے ہیں کہ سیکیورٹی ٹولز کے ذریعے اس کا پتہ کتنی آسانی سے لگایا جا سکتا ہے۔

اوپر بیان کردہ تمام ٹولز اسی طرح کی ٹیکنالوجی کا استعمال کرتے ہوئے کام کرتے ہیں: نیٹ ورک کے اندر ایک مشین پر پہلے سے تیار شدہ ایگزیکیوٹیبل بائنری ماڈیول لانچ کیا جاتا ہے، جو ایک بیرونی سرور کے ساتھ کنکشن قائم کرتا ہے۔ سرور ایک SOCKS4/5 سرور چلاتا ہے جو کنکشن قبول کرتا ہے اور انہیں کلائنٹ تک پہنچاتا ہے۔

مندرجہ بالا تمام ٹولز کا نقصان یہ ہے کہ کلائنٹ مشین پر ازگر یا گولانگ کو انسٹال کرنا ضروری ہے (کیا آپ نے اکثر پائیتھن کو مشینوں پر نصب دیکھا ہے، مثال کے طور پر، کمپنی کے ڈائریکٹر یا آفس ورکرز؟)، یا پہلے سے اسمبل شدہ بائنری (دراصل ازگر) کو اس مشین اور اسکرپٹ پر ایک بوتل میں گھسیٹنا ہوگا) اور اس بائنری کو پہلے سے ہی وہاں چلائیں۔ اور ایک exe ڈاؤن لوڈ کرنا اور پھر اسے لانچ کرنا بھی مقامی اینٹی وائرس یا HIPS کے لیے ایک دستخط ہے۔

عام طور پر، نتیجہ خود ہی تجویز کرتا ہے - ہمیں پاور شیل حل کی ضرورت ہے۔ اب ٹماٹر ہم پر اڑیں گے - ان کا کہنا ہے کہ پاور شیل پہلے سے ہی ہیکنی ہے، اس کی نگرانی، بلاک، وغیرہ۔ اور اسی طرح. حقیقت میں، ہر جگہ نہیں. ہم ذمہ داری سے اعلان کرتے ہیں۔ ویسے، بلاکنگ کو نظرانداز کرنے کے بہت سارے طریقے ہیں (یہاں ایک بار پھر ہیلو RKN 🙂 کے بارے میں ایک فیشن ایبل جملہ ہے)، powershell.exe -> cmdd.exe کے احمقانہ نام تبدیل کرنے سے شروع ہو کر اور powerdll وغیرہ کے ساتھ ختم ہوتا ہے۔

آئیے ایجاد کرنا شروع کریں۔

یہ واضح ہے کہ پہلے ہم گوگل پر دیکھیں گے اور… ہمیں اس موضوع پر کچھ نہیں ملے گا (اگر کسی کو مل گیا ہے تو تبصرے میں لنک پوسٹ کریں)۔ صرف ہے عمل درآمد پاور شیل پر Socks5، لیکن یہ ایک عام "براہ راست" sox ہے، جس کے اپنے بہت سے نقصانات ہیں (ہم ان کے بارے میں بعد میں بات کریں گے)۔ آپ یقیناً اپنے ہاتھ کی ہلکی سی حرکت کے ساتھ اسے ریورس میں تبدیل کر سکتے ہیں، لیکن یہ صرف سنگل تھریڈڈ سوکس ہو گا، جس کی ہمیں ضرورت نہیں ہے۔

لہذا، ہمیں کچھ بھی ریڈی میڈ نہیں ملا، اس لیے ہمیں اب بھی اپنے پہیے کو دوبارہ ایجاد کرنا پڑے گا۔ ہم اپنی سائیکل کی بنیاد کے طور پر لیں گے۔ ہماری ترقی گولانگ میں ریورس سوکس، اور ہم پاور شیل میں اس کے لیے ایک کلائنٹ نافذ کرتے ہیں۔

RSocksTun
تو rsockstun کیسے کام کرتا ہے؟

RsocksTun کا آپریشن (اس کے بعد rs کہا جاتا ہے) دو سافٹ ویئر اجزاء - Yamux اور Socks5 سرور پر مبنی ہے۔ Socks5 سرور ایک باقاعدہ مقامی socks5 ہے، یہ کلائنٹ پر چلتا ہے۔ اور اس سے کنکشن کی ملٹی پلیکسنگ (ملٹی تھریڈنگ کے بارے میں یاد رکھیں؟) yamux (ایک اور ملٹی پلسر)۔ یہ اسکیم آپ کو متعدد کلائنٹ ساکس 5 سرورز لانچ کرنے اور ان میں بیرونی کنکشن تقسیم کرنے کی اجازت دیتی ہے، انہیں ایک واحد TCP کنکشن (تقریباً میٹرپریٹر کی طرح) کے ذریعے کلائنٹ سے سرور تک بھیجنا، اس طرح ملٹی تھریڈڈ موڈ کو نافذ کرنا، جس کے بغیر ہم آسانی سے نہیں رہ سکتے۔ اندرونی نیٹ ورکس میں مکمل طور پر کام کرنے کے قابل۔

یامکس کس طرح کام کرتا ہے اس کا خلاصہ یہ ہے کہ یہ اسٹریمز کی ایک اضافی نیٹ ورک پرت متعارف کراتی ہے، اسے ہر پیکٹ کے لیے 12 بائٹ ہیڈر کی شکل میں نافذ کرتی ہے۔ (یہاں ہم دھاگے کی بجائے جان بوجھ کر لفظ "سٹریم" استعمال کرتے ہیں، تاکہ قاری کو پروگرام کے سلسلے "تھریڈ" سے الجھن میں نہ ڈالا جائے - ہم اس مضمون میں اس تصور کو بھی استعمال کریں گے)۔ یامکس ہیڈر میں اسٹریم نمبر، اسٹریم کو انسٹال کرنے/ ختم کرنے کے لیے جھنڈے، منتقل کیے گئے بائٹس کی تعداد، اور ٹرانسفر ونڈو کا سائز شامل ہے۔

پاور شیل میں ریورس ساکس 5 پراکسی لکھنا۔ حصہ 1

سٹریم کو انسٹال/ختم کرنے کے علاوہ، yamux ایک برقرار رکھنے کا طریقہ کار نافذ کرتا ہے جو آپ کو قائم کردہ کمیونیکیشن چینل کی کارکردگی کی نگرانی کرنے کی اجازت دیتا ہے۔ Yamux سیشن بناتے وقت Keeplive میسج میکانزم کا آپریشن کنفیگر ہوتا ہے۔ دراصل، ترتیبات میں سے صرف دو پیرامیٹرز ہیں: فعال/غیر فعال اور سیکنڈوں میں پیکٹ بھیجنے کی فریکوئنسی۔ Keepalive پیغامات یامکس سرور یا یامکس کلائنٹ کے ذریعے بھیجے جا سکتے ہیں۔ ایک زندہ پیغام موصول ہونے پر، ریموٹ پارٹی کو بالکل وہی پیغام شناخت کنندہ (دراصل ایک نمبر) بھیج کر جواب دینا چاہیے جو اسے موصول ہوا تھا۔ عام طور پر، Keepalive ایک ہی پنگ ہے، صرف یامکس کے لیے۔

ملٹی پلیکسر کی پوری آپریٹنگ تکنیک: پیکٹ کی اقسام، کنکشن سیٹ اپ اور ٹرمینیشن فلیگ، اور ڈیٹا ٹرانسفر میکانزم کو تفصیل سے بیان کیا گیا ہے۔ وضاحتیں یامکس کو

پہلے حصے کا اختتام

لہٰذا، مضمون کے پہلے حصے میں، ہم نے ریورس ٹنل کو منظم کرنے کے لیے کچھ ٹولز سے واقفیت حاصل کی، ان کے فوائد اور نقصانات کو دیکھا، یامکس ملٹی پلیکسر کے آپریشن کے طریقہ کار کا مطالعہ کیا اور نئے بنائے گئے پاور شیل ماڈیول کے لیے بنیادی ضروریات کو بیان کیا۔ اگلے حصے میں ہم خود ماڈیول تیار کریں گے، عملی طور پر شروع سے۔ جاری ہے. تبدیل نہ کریں :)

ماخذ: www.habr.com

نیا تبصرہ شامل کریں