Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا
ماضی میں آرٹیکل ہم نے بات کی Nemesida WAF مفت - ویب سائٹس اور APIs کو ہیکر کے حملوں سے بچانے کے لیے ایک مفت ٹول، اور اس میں ہم نے ایک مقبول کمزوری اسکینر کا جائزہ لینے کا فیصلہ کیا واپپی.

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

Nikto, W3af (Python 2.7 میں لکھا گیا، جو اب تعاون یافتہ نہیں ہے) یا Arachni (فروری سے اب تعاون یافتہ نہیں) مفت سیگمنٹ میں پیش کیے گئے سب سے زیادہ مقبول حل ہیں۔ بلاشبہ، اور بھی ہیں، مثال کے طور پر، Wapiti، جن پر ہم نے توجہ مرکوز کرنے کا فیصلہ کیا۔

Wapiti مندرجہ ذیل قسم کے خطرات کے ساتھ کام کرتا ہے:

  • فائل کی توسیع (مقامی اور دور دراز، فوپین، ریڈ فائل)؛
  • انجیکشن (پی ایچ پی / جے ایس پی / اے ایس پی / ایس کیو ایل انجیکشن اور ایکس پاتھ انجیکشن)؛
  • XSS (کراس سائٹ اسکرپٹنگ) (عکاسی اور مستقل)؛
  • کمانڈز کا پتہ لگانا اور اس پر عمل کرنا (eval(), system(), passtru())؛
  • CRLF انجیکشن (HTTP رسپانس اسپلٹنگ، سیشن فکسیشن)؛
  • XXE (XML بیرونی ہستی) سرایت کرنا؛
  • ایس ایس آر ایف (سرور سائڈ درخواست جعلسازی)؛
  • معلوم ممکنہ طور پر خطرناک فائلوں کا استعمال (نکٹو ڈیٹا بیس کا شکریہ)؛
  • کمزور .htaccess کنفیگریشنز جنہیں نظرانداز کیا جا سکتا ہے۔
  • بیک اپ فائلوں کی موجودگی جو خفیہ معلومات کو ظاہر کرتی ہے (ماخذ کوڈ کا انکشاف)؛
  • شیل شاک؛
  • ری ڈائریکٹ کھولیں؛
  • غیر معیاری HTTP طریقے جنہیں حل کیا جا سکتا ہے (PUT)۔

مواقع:

  • HTTP، HTTPS اور SOCKS5 پراکسی سپورٹ؛
  • کئی طریقوں کا استعمال کرتے ہوئے تصدیق: بنیادی، ڈائجسٹ، کربیروس یا NTLM؛
  • اسکیننگ ایریا کو محدود کرنے کی صلاحیت (ڈومین، فولڈر، صفحہ، یو آر ایل)؛
  • URL میں سے ایک پیرامیٹرز کو خودکار طور پر ہٹانا؛
  • لامتناہی اسکین لوپس کے خلاف متعدد احتیاطیں (مثال: ifor، پیرامیٹر کے لیے قدروں کو محدود کرنا)؛
  • یو آر ایل کی جانچ کے لیے ترجیح مقرر کرنے کی صلاحیت (چاہے وہ اسکیننگ ایریا میں نہ ہوں)؛
  • کچھ URLs کو اسکیننگ اور حملوں سے خارج کرنے کی صلاحیت (مثال کے طور پر: URL لاگ آؤٹ)؛
  • کوکیز درآمد کریں (انہیں wapiti-getcookie ٹول کا استعمال کرتے ہوئے حاصل کریں)؛
  • SSL سرٹیفکیٹ کی تصدیق کو چالو/غیر فعال کرنے کی صلاحیت؛
  • جاوا اسکرپٹ سے یو آر ایل نکالنے کی صلاحیت (ایک بہت ہی آسان جے ایس ترجمان)؛
  • HTML5 کے ساتھ تعامل؛
  • کرالر کے رویے اور پابندیوں کے انتظام کے لیے کئی اختیارات؛
  • سکیننگ کے عمل کے لیے زیادہ سے زیادہ وقت مقرر کرنا؛
  • کچھ حسب ضرورت HTTP ہیڈر شامل کرنا یا اپنی مرضی کے صارف ایجنٹ کو ترتیب دینا۔

اضافی خصوصیات:

  • مختلف فارمیٹس (HTML, XML, JSON, TXT) میں خطرات کی رپورٹیں بنانا؛
  • سکین یا اٹیک کو روکنا اور دوبارہ شروع کرنا (SQLite3 ڈیٹا بیس کا استعمال کرتے ہوئے سیشن میکانزم)؛
  • کمزوریوں کو اجاگر کرنے کے لیے ٹرمینل میں بیک لائٹنگ؛
  • لاگنگ کی مختلف سطحیں؛
  • حملے کے ماڈیولز کو چالو/غیر فعال کرنے کا ایک تیز اور آسان طریقہ۔

تنصیب

Wapiti کے موجودہ ورژن کو 2 طریقوں سے انسٹال کیا جا سکتا ہے:

  • آفیشل سے سورس ڈاؤن لوڈ کریں۔ سائٹ اور انسٹالیشن اسکرپٹ چلائیں، پہلے سے Python3 انسٹال کر چکے ہوں؛
  • pip3 install wapiti3 کمانڈ کا استعمال کرتے ہوئے

اس کے بعد، Wapiti جانے کے لئے تیار ہو جائے گا.

آلے کے ساتھ کام کرنا

Wapiti کے کام کو ظاہر کرنے کے لیے، ہم ایک خاص طور پر تیار کردہ اسٹینڈ sites.vulns.pentestit.ru (اندرونی وسائل) کا استعمال کریں گے، جس میں مختلف کمزوریاں (انجیکشن، XSS، LFI/RFI) اور ویب ایپلیکیشنز کی دیگر خامیاں ہوں گی۔

معلومات صرف معلوماتی مقاصد کے لیے فراہم کی جاتی ہیں۔ قانون نہ توڑو!

اسکینر شروع کرنے کے لیے بنیادی کمانڈ:

# wapiti -u <target> <options>

ایک ہی وقت میں، لانچ کے اختیارات کی ایک بڑی تعداد میں کافی تفصیلی مدد موجود ہے، مثال کے طور پر:

--اسکوپ - درخواست کا علاقہ
اگر آپ کرال یو آر ایل کے ساتھ اسکوپ پیرامیٹر کی وضاحت کرتے ہیں، تو آپ ایک صفحہ اور سائٹ پر پائے جانے والے تمام صفحات دونوں کی وضاحت کرکے سائٹ کے کرالنگ ایریا کو ایڈجسٹ کرسکتے ہیں۔

-s и -x - مخصوص URLs کو شامل کرنے یا ہٹانے کے اختیارات۔ یہ اختیارات اس وقت کارآمد ہوتے ہیں جب آپ کو کرال کے عمل کے دوران کسی مخصوص URL کو شامل کرنے یا ہٹانے کی ضرورت ہو۔

--چھوڑ دو - اس کلید کے ساتھ مخصوص پیرامیٹر کو اسکین کیا جائے گا، لیکن اس پر حملہ نہیں کیا جائے گا۔ مفید ہے اگر کوئی خطرناک پیرامیٹرز ہیں جو اسکیننگ کے دوران بہترین طریقے سے خارج کردیئے گئے ہیں۔

--verify-ssl - سرٹیفکیٹ کی تصدیق کو فعال یا غیر فعال کریں۔
Wapiti سکینر ماڈیولر ہے۔ تاہم، مخصوص ماڈیولز کو لانچ کرنے کے لیے، بشمول وہ جو خود بخود منسلک ہوتے ہیں جب اسکینر چل رہا ہو، آپ کو -m سوئچ استعمال کرنے کی ضرورت ہے اور کوما کے ذریعے الگ کرکے اپنی ضرورت کی فہرست بنائیں۔ اگر کلید استعمال نہیں کی جاتی ہے، تو تمام ماڈیول بطور ڈیفالٹ کام کریں گے۔ سب سے آسان ورژن میں یہ اس طرح نظر آئے گا:

# wapiti -u http://sites.vulns.pentestit.ru/ -m sql,xss,xxe

استعمال کی اس مثال کا مطلب ہے کہ ہدف کو اسکین کرتے وقت ہم صرف SQL، XSS اور XXE ماڈیولز استعمال کریں گے۔ اس کے علاوہ، آپ مطلوبہ طریقہ کے مطابق ماڈیولز کے آپریشن کو فلٹر کر سکتے ہیں۔ مثال کے طور پر -m "xss: get, blindsql: post, xxe: post". اس صورت میں، ماڈیول ایکس ایس ایس GET طریقہ اور ماڈیول کا استعمال کرتے ہوئے بھیجی گئی درخواستوں پر لاگو ہوگا۔ blibdsql - درخواستوں کو پوسٹ کرنے کے لیے، وغیرہ۔ ویسے، اگر اسکیننگ کے دوران فہرست میں شامل کچھ ماڈیول کی ضرورت نہیں تھی یا اس میں کافی وقت لگتا ہے، تو پھر Ctrl+C امتزاج کو دبانے سے آپ انٹرایکٹو مینو میں متعلقہ آئٹم کو منتخب کرکے موجودہ ماڈیول کو استعمال کرنا چھوڑ سکتے ہیں۔

Wapiti ایک کلید کا استعمال کرتے ہوئے پراکسی کے ذریعے درخواستوں کو منتقل کرنے کی حمایت کرتا ہے۔ -p اور پیرامیٹر کے ذریعے ٹارگٹ سائٹ پر تصدیق -a. آپ تصدیق کی قسم کی بھی وضاحت کر سکتے ہیں: بنیادی, ڈائجسٹ, کیربروس и NTLM. آخری دو اضافی ماڈیولز کی تنصیب کی ضرورت ہو سکتی ہے۔ اس کے علاوہ، آپ درخواستوں میں کوئی بھی ہیڈر داخل کر سکتے ہیں (بشمول صوابدیدی صارف ایجنٹ) اور بہت کچھ.

توثیق کرنے کے لیے آپ ٹول استعمال کر سکتے ہیں۔ wapiti-getcookie. اس کی مدد سے ہم تشکیل دیتے ہیں۔ کوکی کی، جسے Wapiti اسکین کرتے وقت استعمال کرے گا۔ تشکیل کوکی کی کمانڈ کے ساتھ کیا گیا:

# wapiti-getcookie -u http://sites.vulns.pentestit.ru/login.php -c cookie.json

انٹرایکٹو کام کرتے ہوئے، ہم سوالات کے جوابات دیتے ہیں اور ضروری معلومات کی نشاندہی کرتے ہیں جیسے لاگ ان، پاس ورڈ وغیرہ:

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

آؤٹ پٹ JSON فارمیٹ میں ایک فائل ہے۔ دوسرا آپشن پیرامیٹر کے ذریعے تمام ضروری معلومات شامل کرنا ہے۔ -d:

# wapiti-getcookie - http://sites.vulns.pentestit.ru/login.php -c cookie.json -d "username=admin&password=admin&enter=submit"

نتیجہ اسی طرح ہو گا:

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

اسکینر کی اہم فعالیت پر غور کرتے وقت، ہمارے معاملے میں ویب ایپلیکیشن کی جانچ کی آخری درخواست یہ تھی:

# wapiti --level 1 -u http://sites.vulns.pentestit.ru/ -f html -o /tmp/vulns.html -m all --color -с cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http://proxy.office.pentestit.ru:3128

جہاں دوسرے پیرامیٹرز کے درمیان:

-f и -o - رپورٹ کو محفوظ کرنے کے لیے فارمیٹ اور راستہ؛

-m - تمام ماڈیولز کو جوڑنے کی سفارش نہیں کی جاتی ہے، کیونکہ جانچ کے وقت اور رپورٹ کے سائز کو متاثر کرے گا۔

--رنگ - خود Wapiti کے مطابق ان کی تنقید کے لحاظ سے پائے جانے والے خطرات کو اجاگر کریں۔

-c - کے ساتھ ایک فائل کا استعمال کرتے ہوئے کوکی کیکا استعمال کرتے ہوئے پیدا کیا گیا ہے۔ wapiti-getcookie;

--اسکوپ - حملے کے لیے ہدف کا انتخاب۔ ایک آپشن کا انتخاب کرنا فولڈر ہر یو آر ایل کو کرال کیا جائے گا اور اس پر حملہ کیا جائے گا، جس کی بنیاد ایک سے شروع ہوگی۔ بیس یو آر ایل میں فارورڈ سلیش ہونا ضروری ہے (فائل کا نام نہیں)؛

--فلش سیشن - بار بار اسکیننگ کی اجازت دیتا ہے، جس میں پچھلے نتائج کو مدنظر نہیں رکھا جائے گا۔

-A --.اپنی صارف ایجنٹ;

-p - پراکسی سرور کا پتہ، اگر ضروری ہو۔

رپورٹ کے بارے میں تھوڑا سا

اسکیننگ کا نتیجہ HTML صفحہ کی شکل میں پائی جانے والی تمام کمزوریوں پر ایک تفصیلی رپورٹ کی شکل میں، واضح اور پڑھنے میں آسان شکل میں پیش کیا گیا ہے۔ رپورٹ زمرہ جات اور پائی جانے والی کمزوریوں کی تعداد، ان کی تفصیل، درخواستوں، احکامات کی نشاندہی کرے گی۔ curl کے اور انہیں بند کرنے کے طریقے کے بارے میں نکات۔ نیویگیشن میں آسانی کے لیے زمرہ کے ناموں میں ایک لنک شامل کیا جائے گا، جس پر کلک کرکے آپ اس پر جا سکتے ہیں:

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

رپورٹ کا ایک اہم نقصان ویب ایپلیکیشن کے نقشے کی عدم موجودگی ہے، جس کے بغیر یہ واضح نہیں ہوگا کہ آیا تمام پتے اور پیرامیٹرز کا تجزیہ کیا گیا ہے۔ جھوٹے مثبت ہونے کا بھی امکان ہے۔ ہمارے معاملے میں، رپورٹ میں "بیک اپ فائلیں" اور "ممکنہ طور پر خطرناک فائلیں" شامل ہیں۔ ان کی تعداد حقیقت سے مطابقت نہیں رکھتی، کیونکہ سرور پر ایسی کوئی فائلیں نہیں تھیں۔

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

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

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

لیکن رپورٹ خود ایسا رنگ فراہم نہیں کرتی۔

کمزوریاں۔

ایس کیو ایل

اسکینر نے جزوی طور پر SQLi تلاش کا مقابلہ کیا۔ جب ان صفحات پر ایس کیو ایل کی کمزوریوں کی تلاش کی جائے جہاں تصدیق کی ضرورت نہ ہو، کوئی مسئلہ پیدا نہیں ہوتا:

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

صرف تصدیق کے بعد قابل رسائی صفحات پر کمزوری تلاش کرنا ممکن نہیں تھا، یہاں تک کہ درست استعمال کرتے ہوئے کوکی کیچونکہ کامیاب تصدیق کے بعد غالباً، ان کا سیشن "لاگ آؤٹ" ہو جائے گا اور کوکی کی باطل ہو جائے گا. اگر ڈی اوتھورائزیشن فنکشن کو ایک علیحدہ اسکرپٹ کے طور پر لاگو کیا گیا تھا جو اس طریقہ کار پر کارروائی کے لیے ذمہ دار ہے، تو اسے -x پیرامیٹر کے ذریعے مکمل طور پر خارج کرنا ممکن ہوگا، اور اس طرح اسے متحرک ہونے سے روکا جائے گا۔ بصورت دیگر، اس کی پروسیسنگ کو خارج کرنا ممکن نہیں ہوگا۔ یہ کسی مخصوص ماڈیول کے ساتھ مسئلہ نہیں ہے، بلکہ مجموعی طور پر ٹول کے ساتھ ہے، لیکن اس باریک بینی کی وجہ سے، ایک بند وسائل کے علاقے میں کئی انجیکشن کا پتہ لگانا ممکن نہیں تھا۔

XSS

سکینر نے دیے گئے کام کا بخوبی مقابلہ کیا اور تمام تیار کردہ کمزوریوں کو پایا:

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

LFI/RFI

اسکینر نے تمام بنیادی کمزوریاں پائی:

Wapiti - کسی سائٹ کو خود ہی کمزوریوں کے لیے چیک کرنا

عام طور پر، غلط مثبت اور لاپتہ خطرات کے باوجود، Wapiti، ایک مفت ٹول کے طور پر، کارکردگی کے بہت اچھے نتائج دکھاتا ہے۔ کسی بھی صورت میں، یہ تسلیم کرنے کے قابل ہے کہ سکینر کافی طاقتور، لچکدار اور ملٹی فنکشنل ہے، اور سب سے اہم بات یہ ہے کہ یہ مفت ہے، اس لیے اسے ایڈمنسٹریٹرز اور ڈویلپرز کو ویب کی حفاظتی حیثیت کے بارے میں بنیادی معلومات حاصل کرنے میں مدد کرنے کے لیے استعمال کرنے کا حق ہے۔ درخواست

صحت مند اور محفوظ رہیں!

ماخذ: www.habr.com

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