Home אבטחת מידעPenetration Testing - Offense הסבר על Netcat

הסבר על Netcat

by Tal Ben Shushan 17/05/2019 0 comment
הסבר על Netcat

למאמר זה דרוש:

  • 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

nc.exe -nvlp 1234 -e cmd.exe

כעת בקאלי “התוקף” מתחבר לחיבור שפתוח כבר, זאת אומרת ש 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 שלנו מאזיו, כעת נקיש בווינדוס את האופציה בה הוא יתחבר אלינו לקאלי

כעת נעבור לקאלי ונבחין שיש לנו חיבור למחשב הווינדוס!

מאמרים קשורים

Leave a Comment