למאמר זה דרוש:
- Kali
- Windows
Netcat הוא כלי רשת לביצוע התחברויות מרוחקות בפרוטוקולי TCP
- התחברות מרחוק או המתנה לחיבור מרוחק
- ביצוע שאילתות DNS
- שימוש בכל פורט ובדיקה של התחברויות דרכו
- יכולת סריקה של פורטים ברשת
- ואפשרויות נוספות
במיני מאמר זה נתמקד בהתחברות של Netcat מרחוק לתחנה
תחילה נוריד את Netcat בקישור הבא
הוציאו מחילוץ, קליק ימני + Shift בתיקייה בה נמצא Netcat ואז Open command window here
בדיקת פורט פתוח
נוכל לבדוק אם פורט פתוח, נוכל לבצע זאת על ידי Telnet, אבל גם על ידי Netcat
נקיש
nc -nv 192.168.31.132 80
הIP הוא 192.168.31.132 והפורט שאני רוצה לבדוק אם פתוח הוא 80
ניתן לבחין מהתמונה שהפורט פתוח…
Bind Shell
בתצורה זו אנו מתחברים למחשב המשתמש תחילה ביצירת התחברות ואז המשתמש כביכול מאשר את ההתחברות, זה אומרת שההתחברות היא ישירה למחשב והמשתמש פתח לנו Idle Session והוא ממתין לחיבור
תחילה נתחיל ממערכת ההפעלה ווינדוס
הפקודה בנויה כך:
nc.exe – התוכנה עצמה
-nvlp
n לא מבצע בדיקת DNS למה שתזינו ובכך יחסוך זמן
v מצב Verbose נותן יותר מידע, מי התחבר וכו'
l ההגדרה שאומרת לו להאזין לחיבור
p הפורט בו נשתמש
1234 הפורט שבו הוא יאזין
-e cmd.exe כאשר תבוצע התחברות, הוא יגש לCMD
כעת בקאלי "התוקף" מתחבר לחיבור שפתוח כבר, זאת אומרת ש Bind הוא חיבור שכבר פתוח וה"תוקף" רק מתחבר
הבעיה זה מה קורה כאשר המשתמש נמצא מאחורי NAT זאת אומרת שכתובת IP אחת מסתירה אותו ואת הרשת בה הוא נמצא, מבלי שהוא ייזום איתנו חיבור לא נוכל פשוט להקיש כמו פה את כתובת ה IP של המחשב שאנו רוצים להתחבר אליו ופתאום נתחבר אליו, כיוון שאנו נזין את הכתובת החיצונית לא נגיע למחשב הרצוי….
גם אם הוא מאזין בפורט מיוחד כמו 1234, זה לא עוזר, ללא הגדרה של Port Forwarding בראוטר, זה שמבצע את ה NAT לא נצליח להגיע למחשב שמאזין ב1234 ולכן Bind הוא במצב בו הכתובת של השרת זה הכתובת הראשית שלו בין אם זה חיצונית או פנימית, ולרוב פנימית….
-nv ה n לא מבצע DNS והאופציה v אומרת Verbose
192.168.31.152 כתובת ה IP של המכונת ווינדוס
1234 הפורט בו הווינדוס מאזין
nc -nv 192.168.31.152 1234
Reverse Shell
בתצורה זו "התוקף" ממתין לחיבור שייזום המשתמש, בדיוק הפוך מBind ולכן תחילה נייצר האזנה אצל ה"תוקף" בKali
כמו שהסברתי קודם, הסיבה העיקרית היא היא ש Reverse Shell הוא במצב בו המשתמש נמצא מאחורי NAT וכך למעשה הוא יוזם איתנו קשר ולכן מגיע אלינו.
כמובן שאצלנו מוגדר Port Forwarding אם אנחנו מאחורי NAT, נניח שאם מחשב פונה לקאלי שלנו, אז בהגדרות של Port Fwarding נגדיר כאשר מגיע מחשב לפורט 1234 הוא יפנה למחשב הפנימי 192.168.31.132 וכך המחשב ש"תקפנו" פונה אלינו ואנחנו לא אליו
תחילה נפתח אצלנו פורט שמאזין לחיבורים מרחוק, כך שהמחשב שאותו נתקיף יבצע התחברות אלינו (Reverse Shell)
נקיש
כעת הKali שלנו מאזיו, כעת נקיש בווינדוס את האופציה בה הוא יתחבר אלינו לקאלי
כעת נעבור לקאלי ונבחין שיש לנו חיבור למחשב הווינדוס!
שליחת קובץ בעזרת Netcat
נאמר ואתם רוצים לשלוח קובץ ISO למערכת לינוקס ( שברובם קיים NC)
כך תוכלו להעביר קבצים במהירות ממערכת ווינדוס או לינוקס , ישירות ללינוקס
תחילה הקישו בצד המקבל
nc -l -p 1234 > win7.iso
ואז בצד השולח, כמובן שעל הקובץ להיות נוכח ביחד בתיקייה של Netcat
nc DestnationIP 1234 < win7.iso