Telecom News - נעים להכיר, קוראים לי SipVicious ואני חבילת כלים פופולרית לבניית מתקפה לפריצת מערכות VoIP

נעים להכיר, קוראים לי SipVicious ואני חבילת כלים פופולרית לבניית מתקפה לפריצת מערכות VoIP

דף הבית >> חדשות עולם המרכזיות ומוקדי השירות >> נעים להכיר, קוראים לי SipVicious ואני חבילת כלים פופולרית לבניית מתקפה לפריצת מערכות VoIP
נעים להכיר, קוראים לי SipVicious ואני חבילת כלים פופולרית לבניית מתקפה לפריצת מערכות VoIP
מאת: ניר סמיונוביץ, 15.7.13, 22:30ניר סמיונוביץ

מפעילים את svmap + svwar + svcrack והמרכזיה נפרצת. אכן, שרתי VoIP נמצאים כל העת תחת מתקפה מתמדת וזה דורש סוג חדש של ניהול אבטחה וניהול סיכונים. הסטטיסטיקה מראה כי מכלל המרכזיות המותקנות, כ-2% נפרצות מידי שנה. מרבית בעלי המרכזיות לא מבינים, כי אין מדובר בשאלה של "אם" אלה בשאלה של "מתי".
 
במאמר הקודם (ראו –כאן), ראינו באיזו קלות (יחסית) אפשר לדלות נתונים בסיסיים על המיקום של מערכות ה-VoIP שלנו. הפעם, נדון באחת מחבילות הכלים הפופולריות ביותר בתחום הפריצה למערכות VoIP – חבילת SipVicious.
 
רקע על SipVicious
את SipVicious גיליתי לפני מספר שנים, כאשר חיפשתי דרך חצי-אוטומטית לבצע סריקה של רשתות VoIP, כדי להבין אילו מערכות מותקנות שם. SipVicious היא אוסף של כלים קטנים המאפשרים בדיוק את זה, כאשר חלק מהכלים נועדו לצורכי סריקה וחלק אחר לצורכי פריצה (לא, לא לבדיקת חדירה – אלא לשם פריצה!).

את SipVicious כותב סאנדרו גאוצ'י המתגורר במלטה. סאנדרו הוא חוקר אבטחת מידע בעל עניין בחקירת האבטחה של מערכות VoIP שונות, הן ברמת ה-Enterprise והן ברמת ה-Carrier. את סאנדרו זכיתי לפגוש אישית בשנת 2009 בוושינגטון, כאשר הרצנו באותו כנס וזכיתי לקבל שיעור פרטי "כיצד משתמשים ב-SipVicious". בניגוד לכלי בדיקה בעולם ה-Windows, חבילת SipVicious שוחררה לעולם כקוד פתוח והיא כתובה ב-Python. עובדה זו הפכה את SipVicious לכלי מאוד פופולרי, כיוון שכל אדם בעל יכולות קוד יחסית בינוניות (Crackers) יכול לשנות את SipVicious וליצור כלי חדש לחלוטין.
 
את ערכת הכלים ניתן להוריד באתר http://blog.sipvicious.org/. שימו לב, מהרגע הזה המאמר הופך להיות מאוד טכני, ואם אין לכם ניסיון ב-Linux זה יראה כמו סינית מדוברת. כמו כן, מה שאתם עומדים לקרוא נחשב אצל חלק מספקי האינטרנט בעולם לשימוש לא סביר, יתרה מזאת, בחלק מהמקומות בעולם זה נחשב לפעולה פלילית. אם בחרתם להתנסות בכלים, עשו זאת על השרתים שלכם – לא על שרתים של מישהו אחר. אין אני לוקח אחריות על המעשים שלכם -  אם תעשו פעולה פלילית, תישאו בתוצאות.
 
מה כוללת חבילת SipVicious?
החבילה כוללת שלושה כלים עיקריים: svmap, svwar ו-svcrack. לכל אחד שימוש אחר:
svmap – מטרתו למפות את המטרות האפשרויות לפריצה. במאמר הקודם ראינו, ש-nmap יודע להראות לנו מי פתוח. svmap יודע גם לשאול את המטרה מי היא ומה היא. מידע זה הוא יקר ערך, כיוון שהוא יצמצם בצורה ניכרת את כמות הניסיונות לפריצה מוצלחת. כמו כן, svmap יודע לבצע סריקה בדרכים שונות, לכשעצמן יש השלכות מעניינות, בייחוד בתחום שרותי ה-Premium.
svwar – מהרגע שזיהינו כי מדובר בשרת המספק שרותי VoIP, כלי זה יבצע סריקה של השלוחות המוגדרות. המטרה היא לזהות אילו מהשלוחות דורשות סיסמא ואילו לא. אם זיהינו שלוחות ללא סיסמה – זכינו בכל הקופה. אם מוגדרות סיסמאות, לרשותנו כלי נוסף.
svcrack – עושה בדיוק את מה ששמו אומר – פורץ את המרכזיה על ידי רישום כוזב לשלוחה מוגדרת. על ידי שימוש בקובץ מילון (dictionary), נוכל לספק לכלי אפשרויות שונות לסיסמאות ועל ידי כך לבצע התקפת Brute Force על הסיסמא המוגדרת.

במסגרת מאמר זה, יוצגו שני הכלים הראשונים (svmap ו-svwar). השימוש ב-svcrack איננו מסובך, אך נושא בניית קובץ ה-dictionary הוא נושא למאמר שלם בפני עצמו ולכן לא אציג נושא זה במאמר זה. הנחת היסוד היא, שערכת הכלים כבר מותקנת על מחשב ה-Linux שלכם ואתם מוכנים לעבודה.
 
Svamp – מיפוי שובב אך מסוכן וטורדני של מערכות SIP
בניגוד ל-nmap מהכתבה הקודמת, svmap לא סתם מחפש פורט פתוח – הוא מחפש שירות פעיל. כלומר, svmap יודע לדבר SIP ברמה בסיסית, ולבצע מספר פעולות בסיסיות כדי לדעת האם בצד השני יש מכשיר היודע לדבר SIP או סתם מישהו המאזין בפורט 5060. הרצה בסיסית של svmap תניב את התוצאה הבאה:

איור 1

כעקרון, svmap צריך רק פרמטר אחד בשביל לעבוד, והוא כתובת הרשת וה-NETMASK. לדוגמא:

איור 2
א
כן, נתונים מאוד מעניינים. אנו יכולים לראות, כי מצאנו ברשת הסרוקה בעיקר טלפוני IP של Linksys ו-Cisco (שזה בעצם אותו דבר בדיוק היום). אוקיי, בואו נחפש משהו קצת יותר מעניין:

איור 3

יפה, עכשיו כבר רואים דברים יותר מעניינים. שימו לב לשתי השורות הראשונות, האחת מזהה את עצמה כ-FBPX, ראשי התיבות של FreePBX, והשורה השניה מזהה את עצמה כ-AskoziaPBX. כלומר, שתי השורות הראשונות הן מרכזיות מבוססות Asterisk. כיוון שהראשונה היא מרכזיה מבוססת FreePBX גרסה 2.10.1 וגרסת Asterisk יחסית ישנה 10.12.0, זה אומר, שמנהל המערכת קצת ישן פה והוא מהווה מטרה מעניינת לבדיקה.

כדי לבדוק מה המטרות האפשריות שלנו, נשתמש ב-svwar כדי לבדוק את המטרה. אבל לפני זה, בואו נעשה משהו קצת טורדני. זוכרים שבבדיקה הקודמת ראינו הרבה מאוד טלפונים? ובכן, אחת היכולות של svmap היא לשנות את צורת הבדיקה, ממצב של SIP OPTIONS למצב של SIP INVITE. מה ההבדל? פשוט מאוד, אנחנו נייצר חיוגים לכל אותם טלפונים. טלפוני IP, לרוב, אינם מוגדרים בצורה מאובטחת ויצלצלו לכל בקשת INVITE, שתישלח אליהם, גם כזו שתגיע משרת, שהם לא מכירים.

אזהרה – החלק הבא הוא טכני ברמת קוד מקור – לאמיצים בלבד!

אם תערכו את הכלי svmap, תוכלו לשנות את הזיהוי הנשלח החוצה בזמן בדיקת SIP INVITE. חפשו בקוד המקור את החלק הבא (באזור שורה 33):

איור 4

כעת, שנו אותו כך שייראה כך:

איור 4

כעת, בצעו את אותה סריקה, רק עם הפקודה הבאה:

איור 5

התוצאה, כל הטלפונים המופיעים ברשימה יצלצלו – כאשר זיהוי השיחה יהיה ממספר הטלפון 1900900900. שימו לב, מה שכרגע קרה פה הוא משהו שספקי ה-VoIP למיניהם לא יכולים להגן מפניו, לא יכולים לחסום אותו והכי חמור, גם לא מסוגלים לזהות אותו במערכות ה-AntiFraud. בזק תביא טיעון, כי המערכות שלה עובדות ב-"גן סגור", ואין אפשרות לעשות דבר כזה מהאינטרנט. זה נכון מאוד. אבל אף אחד לא אומר, שאני לא יכול לקחת לקוח IP Centrex של בזק ולהתלבש לו על אחד הטלפונים. כלומר, אם יש לי גישה פיסית זו או אחרת לרשת, אני אוכל לבצע את זממי.
 
svwar – מתחילים לחפש את המטרות שלנו
זוכרים את המטרות שמצאנו למעלה, בואו נראה האם נוכל בעזרת svwar למצוא שלוחה קיימת, שעליה נוכל לבנות התקפה מאוחר יותר. במקרה זה נשתמש ב-svwar בצורה הבאה:

איור 6

רצינו לבדוק האם במערכת מוגדרות שלוחות 400 עד 405. כיוון שקיבלנו עבור כל בקשה תשובה בקוד 401, כלומר, נדרשת הזדהות, אזי, השלוחות ככל הנראה קיימות. עכשיו, נוכל לבחור את אחת השלוחות, לבנות קובץ dictionary מתאים, וננסה לפרוץ את השלוחה.
 
עכשיו, יבואו החכמים ויגידו: "אין בעיה, תתקין fail-2-ban, ואחרי שלושה נסיונות ה-IP ממנו מנסים יחסם". נכון מאוד, אולם, הפורצים לא עובדים כך והם מודעים לקיום של fail-2-ban. מה הם עושים? קודם הם סורקים בעזרת svmap ואוספים כמות גדולה מאוד של מרכזיות בתור מטרות. לאחר מכן, הם בונים סקריפט המפעיל את svwar בצורה פרטנית, עם ניסיון בודד בלבד מתוך ה-dictionary. הניסיון הבא לאותה מרכזיה יבוצע רק אחרי פרק זמן של כ-15 דקות או יותר. בצורה זו, מנגנון ה-threshold של fail-2-ban לא מופעל ונוכל לסרוק את המרכזיה בניחותא.
 
 סוף דבר? לא ממש
מה שהדגמנו פה הוא רק שיטה אחת מני רבות. למרות שמה שהראינו נראה פשוט מאוד, מדובר בתהליך ארוך ומייגע המערב מערכות אוטומטיות מרובות. כל יום נפרצות בעולם אלפי מרכזיות ומעל 20 מיליון דולרים נגנבים מדי יום מבעלי מרכזיות. הפורצים הטובים יודעים כיצד להמשיך לגנוב ממרכזיה בלי שיתגלו כלל.

אחד המקרים המעניינים של שנת 2011 היה תפיסה של כנופיית פורצים ברומניה, שפרצה מעל 4,000 מרכזיות בין השנים 2008 ל-2011. המעניין במקרה שלהם היה, שבמשך אותם שנים הם הצליחו להזרים תנועה דרך אותן מרכזיות ללא מפריע. הסיבה שהם הצליחו לעשות זאת היתה פשוטה: הם דאגו להזרים תנועה מועטה דרך כל מרכזיה, דבר שלא הפריע להם לשלשל לכיסם סכום כולל של מעל 2.5 מיליון דולרים בשנים אלה.

מרבית המתקינים מאמינים, כי שימוש ב-FW ובכלים כמו fail-2-ban יתנו מענה שלם. אולם, זה ממש לא המצב כמו שאנחנו כעת מבינים. בדיוק כמו שרתי WEB, שרתי VoIP נמצאים תחת מתקפה מתמדת וזה דורש סוג חדש של ניהול אבטחה וניהול סיכונים. הסטטיסטיקה מראה כי מכלל המרכזיות המותקנות, כ-2% נפרצות מידי שנה. מרבית בעלי המרכזיות לא מבינים, כי אין מדובר בשאלה של "אם" אלה בשאלה של "מתי". ההצלחה שלנו תימדד ביכולת שלנו לא רק להגן, אלא גם להגיב למתקפה בזמן ראוי ולחסום אותה.
 
מאת: ניר סמיונוביץ, יולי 2013.
מנכ"ל GreenfieldTech
www.greenfieldtech.net
nirs@greenfieldtech.net
 
 
 
 
 
 
 
 
 



 
 
Bookmark and Share