מה זה Burp Suite?
זוהי תוכנה שפותחה על ידי חברת PortSwigger Security ונכתבה בשפת Java, הנועדה לביצוע בדיקות אבטחה של יישומי אינטרנט. בתוכנה מספר כלים אותם משלבים בבדיקות אוטומטיות וידניות כגון:
עכביש (Spider), שרת פרוקסי (HTTP Proxy), סורק (Scanner), פולש (intruder), מהדר (repeater),
מפענח (decoder), רצף תשדירי (sequencer), משווה (Comparer), מרחיב (extender).

את הגרסא החינמית של Burp Suite ניתן להוריד דרך הקישור הבא:
https://portswigger.net/burp/freedownload
לאחר הורדת התוכנה קובץ JAR, תחביר הפעלת התוכנה יהיה:
java -jar (שם הקובץ המדויק)
java -jar BurpLoader.jar



בנוסף ל-Burp יש להוריד גם תוסף פרוקסי שיאפשר חיבור בין 2 הכלים.
תוכנות מומלצות:
Toggle Proxy או FoxyProxy.

כדי ש-2 הכלים יוכלו לתקשר ביניהם יש להיכנס להגדרות הפרוקסי בדפדפן או בתוסף ולהכניס את הפרטים הבאים:

* הגדרת FireFox:


* הגדרת FoxyProxy:
 

לאחר מכן יש להיכנס אל הכלי Proxy בתוכנת ה-Burp, לעבור אל לשונית Options ולסמן ב-V את הכתובת שהגדרנו.


* בעת הגלישה באינטרנט, התוכנה תבקש תעודה דיגיטלית יש לאשר אותה ולהוסיף אותה אל הדפדפן. במקרה שלא ניתן לאשר יש לכתוב בשורת הכתובת /burp להוריד אותה באמצעות לחיצה על CA Certificate ולהוסיף אותה באופן ידני בדפדפן.


1. Target:
זוהי תוכנת Burp Suite, בחלק העליון של החלון מופיעים כל הכלים שהזכרנו למעלה.
לכל כלי יש את ההגדרות שלו, אותם נוכל לראות לאחר שנלחץ על הכלי הרצוי ישר מתחתיו.
הגדרת היעד ממנו אנחנו שואפים לקבל מידע.




לשונית Scope: כאן נגדיר את היעד הנדרש. מה שיוגדר כאן ישפיע על תפעול התוכנה.
ניתן להשתמש ב-Regex, להגדיר יעד פרט לעמודים/פרמטרים מסויימים (חריגה).


לשונית Sitemap: בלשונית זו נקבל את מיפוי של הבקשות שנשלחו בהתאם לדפים שביקרנו בהם.
על פי היעד אותו הגדרנו ב-Scope.


בחלק השמאלי יוצג שם היעד ועץ לפי הדפים בהם ביקרנו.

 

בחלק התחתון תוצג הבקשה/התשובה (Type, Host Cookie ועוד...)
Raw - יציג את הבקשה כפי שהיא.
Params - תצוגה של פרמטרים שנשלחו.
Headers - יציג בצורה של כותרות.
Hex - יציג את הבקשה בהקסה.


* למקרה שמשהו לא ברור. ליד כל כלי יש סימן שאלה, בעת הלחיצה הוא יציג מידע אודות אותו הכלי.
  


2. Proxy:
בצד הלקוח יש דפדפן אינטרנט, בצד השרת אפליקציה כלשהי. בעזרת Toggle Proxy או FoxyProxy הנתונים עוברים אל תוכנת ה-Burp שהוא בעצם הפרוקסי.
בעזרת כלי זה אנחנו יכולים ליירט, לבדוק ולשנות בקשות העוברות בשני הכיוונים ולשלוח אותם אל כלים נוספים העשויים לעזור בנוסף.



* לשונית Intercept:
בעזרת כלי זה ניתן לנטר את בקשות הדפדפן ולהחליט מה עובר באמצעות לחיצה על Forward מה ידחה ולא יעבור באמצעות לחיצה על Drop.
לפני שמעבירים את הבקשה ניתן לשנות אותה. כל עוד Intercept יהיה במצב ON הבקשות יעצרו ויחכו להחלטתנו, ברגע שנעביר ל-OFF מצב זה יפסק.
 

* לשונית HTTP History:
שומר על ההיסטוריה המלאה של כל הבקשות והתשובות שעברו דרך הפרוקסי. מאפשר לבדוק את השיחה מול השרת ולהבין איך עובד היישום. בעת לחיצה על מקש ימני על הבקשה הרצויה יפתח תפריט הכלים אליהם ניתן לשלוח את הבקשה שלנו ולחקור אותה באמצעים נוספים.


* לשונית WebSockets History:
שומר על ההיסטוריה המלאה של התקשורת הדו כיוונית בין השרת אל המשתמש (כל צד יכול לשלוח מידע לצד השני).

* לשונית Options:
כאשר עובדים עם יישומים יוצאי דופן, יתכן שיהיה עלינו לשנות הגדרות פרוקסי, להפנות בקשות למארחים שונים, עבודה מול שרת SSL המספק אישורים בצורה אחרת ועוד.
ניתן לבטל הסתרה של שדות מוסתרים או להיפך. ניתן גם להגדיר שינויים באופן אוטומטיבהתאם לתוכן של הבקשות והתשובות.

מסנן התצוגה:
ניתן להשתמש במסנן התצוגה כדי להסתיר פריטים בעלי מאפיינים שונים.
בעת ההוספה ניתן להוסיף הערות ותיאורים כדי שאלה יקלו על העבודה במועד מאוחר יותר.





3. Spider:
זהו כלי לסריקה אוטומטית של יישומי אינטרנט, כלי זה עשוי להיות נדבך חשוב במיפוי ידני ועשוי להאיץ את התהליך. ספיידר מדמה "לחיצה" על כל כפתורי האתר במקרה שהדף קיים ומגיעה תשובה מיישום האינטרנט, ספיידר ימפה אותה מיד. (ניתן להוסיף טווח וביטויים חריגים)
יש לשים לב! שלמרות שסריקה ידנית אורכת יותר זמן מסריקה אוטומטית לעיתים היא עשויה להיות יותר יעילה.




4. Scanner
כלי זה מבצע סריקות פגיעות ביישומי אינטרנט. הכלי הינו פופולרי אצל אנשי אבטחת מידע המשתמשים בו לצד בדיקה ידנית, כדי לזהות במהרה פגיעויות שונות נפוצות.




5. Intruder:
כלי זה יכול לבצע התקפות אוטומטיות על יישומי אינטרנט שונים (Brute Force).
על התוקף להכיר את היישום על בוריו לפני ביצוע התקיפה. הכלי מציע דרכים בעזרתן התקיפה עשויה להיות יעילה יותר כגון:
XSS, SQLI והמלצה על פגיעויות שונות אותן כדאי לנסות בעת התקפת Brute Force.
ל-Intruder מספר אפשרויות תקיפה:

* Sniper: בתקיפה זו המערכת משתמשת בקובץ נתונים (Payload) ממנו מגיעים הנתונים.
בכל פעם המערכת משתמשת בקלט אחר לפי סדר יורד ומשאירה את שאר הפרמטרים ללא שינוי.
בקובץ נתונים עם 4 משתמשים המערכת תשלח 8 בקשות, 4 לשם המשתמש ועוד 4 לסיסמא.
המערכת שולפת את הנתונים מהמילון בדיוק כמו שהם ולא משנה אותם. מספר הפרמטרים שנבדקו יהיו זהים למספר הפרמטרים שנמצאים בקובץ הנתונים.
param(1)=wordlist[0]&param(2)=
param(1)=wordlist[1]&param(2)=

* Battering ram: בתקיפה זו המערכת משתמשת גם כן בקובץ נתונים אחד אך משתמשת בכל קלט עבור כל הפרמטרים. בקובץ נתונים עם 4 משתמשים, המערכת תשלח בקשה זהה לכל הפרמטרים.
במצב הנ"ל יהיו רק 4 בקשות.
param(1)=wordlist[0]&param(2)=wordlist[0]
param(1)=wordlist[1]&param(2)=wordlist[1]


* Pitchfork: דומה לשיטת Battering ram אבל הפעם המערכת תיקח רשימה של מילים לכל פרמטר.
אם הרשימות אינן תואמות באורכן, הבקשות יפסקו והרשימה תתקצר.
בשיטה זו המערכת תשלח רק 4 בקשות.
param(1)=wordlist1[0]&param(2)=wordlist2[0] 
param(1)=wordlist1[1]&param(2)=wordlist2[1]

* Cluster bomb: המערכת לוקחת שתי רשימות ותכניס כל מילה מהרשימה הראשונה אל מול כל מילה מהרשימה השנייה. זאת אומרת המערכת תשתמש בכל השילובים האפשרים מתוך קובץ הנתונים.
param(1)=wordlist1[0]&param(2)=wordlist2[0]
param(1)=wordlist1[1]&param(2)=wordlist2[0]
param(1)=wordlist1[2]&param(2)=wordlist2[0]


 


6. Repeater:
כלי זה מקליט תעבורת HTTP ומשחזר אותה לפי רצוננו. בעזרת כלי זה אנו יכולים לשנות בקשות לשרת, לשלוח אותן מחדש ולבחון את התוצאות.



7. Sequencer:
מנתח מתמטי הבודק את איכות הרנדומליות של מחרוזת כלשהי לדוגמה:
Session Tokens או Cookie או כל מחרוזת רנדומלית אחרת בה האפליקציה משתמשת.
כלי זה בודק ומנתח את איכות הנתונים שעוברים דרכו לפי מספר פרמטרים: גודל, כמות, דיווח גרפי, ועוד... הכלי שולח בקשות אוטומטיות, לוכד את ה-Tokens/Cookies ובעזרת פעולות מתמטיות קובע אם האנטרופיה שלו טובה ואם הערכים הם באמת רנדומליים.
זאת אומרת הכלי יכול לזהות אם נעשו שינויים ב-Cookies, למרות שהם נראים רנדומליים הם שונו קל לחזות אותם וליצור Session Cookie לעצמנו.
כלי זה עשוי לעזור במניעת התקפות CSRF שבהן משתמשים ב-Random Token בכל טופס.







8. Decoder:

כלי פשוט בעזרתו ניתן לקודד ולגבב נתונים ולפענח נתונים מקודדים ומגובבים בעזרת טכניקות שונות. פעולות פענוח וקידוד הבאות זמינות:
ASCII Hex ,URL, HTML, Hex, Octal, Base64, GZIP, Binary.
כמו כן ניתן להשתמש בקידוד כפול לקודד ל-Base64 ואחכ גם ל-Hex.



9. Comparer:
בעזרת כלי זה ניתן לבצע השוואה בין שני קבצי נתונים:
* לאחר ניסיון Brute Force ניתן להשוות באיזה שמות משתמש ניסו לבצע את התקיפה.
* ניתן להבחין בהבדלי קוד למיניהם.
* ניתן להשוות בקשות דומות כדי להבחין בהתנהגות יישום שונה.
* הזרקת SQL במצב בוליאני, ניתן להשוות שתי תשובות כדי לראות אם הזרקת תנאים שונים מציגה תוצאה שונה.

ניתן להשתמש בכלי במספר דרכים:
* הדבקת קוד ישירות בתיבת הטקסט.
* טעינה מקובץ.
* שליחת נתונים מכלים אחרים (באמצעות מקש ימני על הפריט ושלח אל Comparer).


10. Extender:

כלי זה מאפשר לטעון הרחבות של Burp או הרחבות קוד צד שלישי אל התוכנה, כגון:
Generates and fuzzes, distributes scanner, ElasticBurp ועוד...
ניתן למצוא את כל ההרחבות הזמינות דרך הלשונית BApp או דרך הקישור הבא:
https://portswigger.net/bappstore

11. Options:
בלשונית זו מופיע אפשרויות שונות לגבי התוכנה עצמה לדוגמה:
קיצורי מקשים, גיבויים, קבצים זמניים ועוד...

12. Alerts:
התראות על בעיות או תקלות שהתרחשו ומפריעות לתכונה לפעילות תקינה.

שתף:

פאביו ליאור רחמים

סקרן, אוהב טכנולוגיה ומחשבים מזה שנים רבות וכותב ערכים קבוע בויקיפדיה.