آموزش کار با ابزار ffuf قسمت ۱

 در این آموزش، ما یاد می‌گیریم که چگونه از ffuf استفاده کنیم . Ffuf  مخفف  عبارت «Fuzz Faster U Fool» می باشد  که یک ابزار متن‌باز جالب برای fuzzing وب است. از زمان انتشار آن کار با این ابزار با استقبال بسیار خوبی مواجه شد و همچنین کسانی که در زمینه باگ بانتی مشغول به فعالیت هستند از این ابزار ارزشمند استفاده می کنند.

 

مقدمه ای بر ffuf

 

ابزارهای زیادی در زمینه فازینگ طراحی و نوشته شده اند که یکی از قدرتمندترین این ابزارها ffuf می باشد . این برنامه با زبان Go طراحی شده است . برای دانلود این ابزار می توانید از لینک زیر اقدام کنید

https://github.com/ffuf/ffuf

 

 

آموزش نصب ffuf

 

برای نصب و راه اندازی این ابزار در کالی در ابتدا golang رو نصب میکنیم و بعد با دستور

go get -u github.com/ffuf/ffuf

 

 

شروع به دانلود این ابزار میکنیم . همچنین می توانیم از مخازن اصلی خود کالی هم برای دانلود این ابزار استفاده کنیم که با دسترو زیر این کار را انجام می دهیم :‌

 

apt install ffuf

پس از نصب این ابزار، برای بدست آوردن پارامترها و گزینه های کاری آن تنها چیزی که نیاز داریم این است که از پارامتر [h-] برای گزینه help استفاده کنیم.

گزینه های ورودی

 

گزینه های مختلفی برای استفاده از این ابزار داریم که به بررسی هر یک می پردازیم .

 

۱– انجام یک حمله ساده (‌Simple Attack )

برای حمله پیش‌فرض، باید از پارامترهای [u-] برای URL هدف و [w-] برای بارگذاری فهرست کلمات ( وردلیست مورد نظر )استفاده کنیم.

همچنین برای دانلود یکی از قدرتمند ترین wordlist های دنیا می توانید مجموعه sec lists را از لینک زیر دانلود کنید :‌

 

https://github.com/danielmiessler/SecLists

 

 

 

همچنین ما از سایت زیر به عنوان تارگت استفاده خواهیم کرد.

http://testphp.vulnweb.com/

 

 

دستور زیر را میزنیم :‌

ffuf -u http://testphp.vulnweb.com/FUZZ/ -w dict.txt

 

 

 

با اجرای این دستور به صورت پیشفرض درخواست های GET ارسال خواهد شد و همچنین وضعیت کدهای http ( 200, 204, 301, 302, 307, 401, 403, 405 )  چک خواهد شد.

 

۲- استفاده از چند wordlist برای حمله

گاهی اوقات یک فهرست کلمات برای نشان دادن نتایج مورد نظر ما کافی نیست. در آن صورت، ما چندین فهرست کلمات را در یک زمان قرار می دهیم تا نتایج بهتری بگیریم. فقط ffuf این توانایی را دارد که به تعداد مورد نیاز ما برای حمله، فهرست کلمات را اجرا کند.

در اینجا ما از دو دیکشنری dict.txt به جای W1 و همچنین dns_dict.txt به جای W2 استفاده کردیم .

 

ffuf -u https://ignitetechnologies.in/W2/W1/ -w dict.txt:W1 -w dns_dict.txt:W2

۳- بررسی Ignore Wordlist Comment and Silent

 

به طور کلی، فهرست کلمات پیش‌فرض ممکن است دارای نظراتی باشد که می‌تواند بر دقت نتیجه ما تأثیر بگذارد. در این مورد، می‌توانیم از پارامتر [-ic] استفاده کنیم و این نظرات را نادیده بگیریم.

از دستور زیر برای اجرا این حمله استفاده خواهیم کرد.

 

ffuf -u http://testphp.vulnweb.com/FUZZ/ -w dict.txt

 

 

ffuf -u http://testphp.vulnweb.com/FUZZ/ -w dict.txt -ic -s

 

 

با اجرای دستور اول برخی از نظرات در نتیجه لیست شده‌اند وپس از استفاده از پارامترهای [s-] و [ic-] در دستور دوم، نظرات و بنر حذف می‌شوند.

 

۴– برررسی Extensions

 

ما می‌توانیم با کمک پارامتر [e-] یک فایل پسوند خاص را در یک وب سرور جستجو کنیم، فقط کافی است فایل پسوند را به همراه پارامتر [e-] مشخص کنیم. دستور زیر را اجرا میکنیم و دنبال پسوند php می گردیم .

 

ffuf -u http://192.168.1.12/dvwa/FUZZ/ -w dict.txt -e .php

 

۵- بررسی Request | Request-Proto | Mode

ما میتوانیم از ابزار Burp Suite در کنار ffuf استفاده کنیم . پارامترهای مختلفی از این ابزار وجود دارد که به استفاده از این سناریوی ما کمک می کند. مانند پارامتر [request-] که می تواند از درخواست ما در حمله استفاده کند، پارامتر [request-proto-] که از طریق آن می توانیم پارامتر خود را تعریف کنیم، پارامتر [mode-] به ما کمک می کند تا حالت حمله را تعریف کنیم.

اول از همه، ما از اعتبار تصادفی در صفحه URL مورد نظر خود استفاده می کنیم و پروکسی را تنظیم می کنیم تا درخواست خود را در حالت رهگیری در Burpsuite ثبت کند.

اکنون در قسمت intercept ابزار burp مقدار uname را برار HFUZZ و همچنین pass را  WFUZZ  تغییر می دهیم. سپس این درخواست را در یک فایل متنی به اسم brute.txt ذخیره می کنیم.

اکنون به سمت حمله اصلی بروید، جایی که پارامتر [request-] فایل متنی درخواست ما را نگه می دارد.  [request-proto-] به ما کمک می کند تا نمونه اولیه http را استخراج کنیم [mode-] به ما کمک می کند تا حمله Cluster Bomb  را انجام دهیم. لیست کلماتی که در اینها استفاده می کنیم (users.txt و pass.txt) از تزریق SQL تشکیل شده است. این دستور را دنبال کنید و با استفاده از این پارامترها شروع به حمله کنید.

 

ffuf -request brute.txt -request-proto http -mode clusterbomb -w users.txt:HFUZZ -w pass.txt:WFUZZ -mc 200

 

 

 

همانطور که در نتایج حمله خود می بینیم، ما با موفقیت متوجه شده ایم که تزریق SQL روی آن هدف خاص کار می کند.

 

 

پایان قسمت اول.

علاقمند به حوزه امنیت اطلاعات و آشنا به حوزه تست نفوذ
  • facebook
  • twitter
  • googleplus
  • linkedIn
  • flickr

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *