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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PwnCity — 실습형 침투 테스트 훈련을 위한 보안에 취약한 TeamCity CI 환경: 정찰, 자격 증명 탈취, 권한 상승 및 횡적 이동. | Kitploit
도구/GitHubGitHub/d0n601/pwncity
Privilege EscalationExploitationLateral MovementInformation GatheringPenetration TestingLearning & EducationLabs & Practice
GitHubd0n601/pwncity

PwnCity

실습형 침투 테스트 훈련을 위한 보안에 취약한 TeamCity CI 환경: 정찰, 자격 증명 탈취, 권한 상승 및 횡적 이동.

저장소 보기
4년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PwnCity

안전하지 않게 구성된 TeamCity 지속적 통합 환경입니다.
작업 진행 중: 배포 코드가 곧 결국 제공될 예정입니다.
rafal-urbanski-shot-08

데모

PwnCity를 통과하는 경로는 하나 이상일 수 있지만, 아래는 2월 24일 OWASP 새크라멘토 지부 모임에서 발표할 경로입니다.
참고: 데모이므로 여기서는 작전 보안(OpSec)을 대부분 무시합니다.

초기 접근

  1. SSH와 TeamCity를 확인하기 위해 IP를 스캔합니다: nmap -Pn -p- 52.234.0.18.
    • 참고: ICMP에 응답하지 않으므로 nmap 52.234.0.18은 죽은 것처럼 보이게 만듭니다.
    • 참고: 상위 1000개 TCP 포트만 스캔하면 TeamCity를 놓칩니다: nmap -Pn 52.234.0.18. portscan
  2. TeamCity URL http://52.234.0.18:8111로 이동합니다. teamcitylogin
  3. http://52.234.0.18:8111/registerUser.html로 이동하여 새 사용자 bob, 비밀번호 bobhacks?를 만듭니다.
    bobregister
  4. bob으로 로그인한 상태에서 Projects > SimpleMavenSample > Build > Settings로 이동합니다.
  • Parameters에 자격 증명이 포함되어 있음을 확인합니다. leakcreds
  1. 자격 증명이 ssh [email protected]에 재사용되는지 확인하고, 낮은 권한의 사용자로 SSH 접속합니다. sshin

초기 발판 이후

초기 발판에서 터널링을 할 수 있습니다. 두 빌드 에이전트에서 RDP가 열려 있다는 것을 알면 찾은 자격 증명으로 인증을 시도할 수 있지만... 그건 그렇게 재미있지 않습니다.

  1. TeamCity 서버를 조금 살펴보고 슈퍼 유저 토큰을 확인합니다: cat /home/dev/TeamCity/TeamCity/logs/teamcity-server.log | grep "Super user".
    sutoken
  2. 이제 슈퍼 유저로 로그인합니다! superlogin
  3. Administration > Projects > Create project를 통해 새 프로젝트 PwnAgent를 만들고 빌드 에이전트에서 셸을 얻습니다. createproject buildsteps
  4. 빌드 단계를 편집하여 빌드 중지 명령이 실행된 경우에도 항상(Always, even if build stop command was issued) 실행되도록 하고 다음을 수정합니다:
    • Command executable: cmd.exe
    • Command parameters: /c %system.teamcity.build.checkoutDir%/launcher.bat
    • 이것들이 어떻게 동작하는지 확인하면 여기서 코드 실행이 어떻게 작동하는지 이해하게 되며, 원하는 대로 수정할 수 있습니다. build_step
    • 또는 저장소의 파일을 사용하지 않고 비워둘 수 있습니다. 모든 코드를 빌드 단계에 넣을 수 있습니다. alternative

공격 인프라

  • Kali Linux: 운영자 머신의 VM.
  • Ubuntu 20.04LTS: Empire 서버

PwnCity 랩

  • Ubuntu 20.04 TeamCity
  • Windows 10: BuildAgent01
  • Windows 7: BuildAgent02
  • Windows 10: Bruno-PC

자격 증명

자격 증명은 rockyou.txt에서 선택했습니다.

  • bruno:AMOTEbruno84 (Windows)
  • dev:Roblerino1995 (Windows/Linux)
  • admin:aut0magic (TeamCity)

할 일

  1. Terraform으로 배포.
  2. Ansible로 구성 요소 설치.
  3. 방어 수준을 높이거나 낮추는 CLI 변수 (일종의 난이도)
  4. TBD

방어

엔드포인트 보안

PwnAgent01에는 Microsoft Defender가 활성화되어 있습니다. 이를 우회하는 것이 확실히 여전히 가능하지만, 우리가 시연한 악성 빌드 단계는 차단됩니다.
blocked0

blocked

bruno_edr

관리 메모

이 섹션은 랩 환경을 관리할 때 유용했던 스니펫 모음입니다.

Windows 호스트로 RDP 접속

  1. Kali에서 TeamCity 호스트에 동적 포트 포워딩을 설정하여 로컬 리소스에 접근합니다: ssh -D 9050 [email protected].
  2. Proxychains를 통해 RDP 접속: proxychains4 xfreerdp /u:dev /v:10.0.0.6:3389.

참고 자료

  1. TeamCity 보안 강화 가이드
  2. TeamCity 슈퍼 유저
  3. TeamCity 모의 침투
  4. PwnCity 빌드 에이전트
도구 다운로드
  • 메뉴에서 Run 옆의 ...을 선택한 다음, 대상으로 하는 원하는 에이전트를 선택합니다. 모든 것이 순조롭다면 에이전트가 콜백을 보냅니다.
    run agentcallback
  • powershell/situational_awareness/network/portscan 모듈로 포트 스캔을 실행합니다. 10.0.0.7에 3389,445,139,135가 모두 열려 있음을 발견합니다. portscan
  • Mimikatz를 실행하여 로그인 자격 증명을 덤프하고 bruno의 비밀번호를 얻습니다.
  • powershell/lateral_movement/invoke_smbexec를 실행하여 NTML 해시를 통해 Bruno-PC에서 비콘을 얻습니다. smbexec
  • Bruno의 PC를 약탈합니다.