
Linux 권한 상승 열거 도구로, 익스플로잇 가능성을 확인하고 정확한 root 셸 명령을 제공합니다 - GTFOBins를 검색할 필요가 없습니다. MCP 서버 + AI 에이전트 스킬 포함.
실제로 익스플로잇 가능한 것을 확인해주는 Linux 권한 상승 스캐너
그리고 root가 되는 정확한 명령어를 알려줍니다.
powered by tmrswrr
이유 • 데모 • 빠른 시작 • AI / MCP • 검사 항목 • 설치 및 사용법
대부분의 열거 도구는 수백 개의 "아마도 흥미로울" 줄을 쏟아내고 어려운 부분은 여러분에게 남깁니다: 어떤 것이 진짜인지 파악하고, 그다음 웹에서 작동하는 익스플로잇을 검색하는 일이죠.
confirmesc는 정반대로 합니다. 각 발견 사항을 실행 중인 시스템에 대해 직접
검증하고, 정직한 신뢰 수준으로 표시하며, 확인된 모든 벡터에 대해 실제로
root 셸을 얻을 수 있는 바로 실행 가능한 명령어를 출력합니다. 200줄 중
어떤 것이 중요한지 추측할 필요도 없고, 페이로드를 찾기 위해 다른 탭에서
GTFOBins를 열 필요도 없습니다.
펜테스터, CTF / Hack The Box 플레이어, 그리고 한 가지 질문에 대한 명확한 답을 원하는 시스템 관리자를 위해 만들어졌습니다: 이 박스는 지금 권한 상승이 가능한가, 그리고 어떻게?
| 클래식 열거 도구 (LinEnum, linPEAS) | GTFOBins (참조 사이트) | confirmesc | |
|---|---|---|---|
| 의심스러운 항목 나열 | 수백 줄 | - | 중요한 것만 |
| 이 박스에서 익스플로잇 가능한지 확인 | 아니오 | 아니오 | 예, 실시간 검증 |
| 정확한 익스플로잇 명령어 제공 | 아니오 | 직접 찾아봐야 함 | 예, 바로 붙여넣기 가능 |
dash/bash 권한 강등 처리 | 아니오 | 종종 실패 | 예 |
실제로 root 증명 (euid == 0) | 아니오 | 아니오 | 예, --poc 사용 |
| 정직한 신뢰 수준 | 아니오 | - | CONFIRMED / LIKELY / INFO |
| AI 에이전트 통합 (MCP + 스킬) | 아니오 | 아니오 | 예 |
다섯 가지 차별점:
추측하지 않고 확인합니다. 발견 사항은 익스플로잇 가능한 조건 자체가
실행 중인 시스템에서 직접 관찰된 경우에만 CONFIRMED로 표시됩니다:
알려진 바이너리의 실제 SUID 비트, 실제 위험한 capability, 허용된
sudo -l 규칙, 실제로 쓰기 가능한 root 소유 파일. "이 버전이 아마도
취약할 것"이라는 것이 아닙니다.
페이로드를 제공하므로 검색할 필요가 없습니다. 확인된 모든 SUID / sudo / capability 벡터에는 대화형 root 셸을 생성하는 복사-붙여넣기 명령어가 함께 제공됩니다. GTFOBins를 열고, 기법을 맞추고, 원라이너를 직접 수정할 필요가 없습니다 - confirmesc가 이미 해두었습니다.
명령어가 최신 박스에서 작동합니다. 현재 Debian 기반 시스템에서
/bin/sh는 dash이며, dash와 bash 모두 euid != ruid를 감지하는
순간 조용히 root를 강등합니다. 복사한 GTFOBins 원라이너 상당수가 이
때문에 실패합니다. confirmesc는 이를 고려한 명령어를 생성합니다
(명시적 setuid(0), bash -p, 또는 직접 exec()), 따라서 얻는 셸이
진짜 root입니다.
실시간으로 root를 증명할 수 있습니다. --poc를 사용하면 실제 권한
상승 페이로드를 실행하고 결과 프로세스가 진정으로 euid 0을 가지는지
확인하여, "이론상 익스플로잇 가능"을 "방금 root를 얻었다"로 바꿉니다.
AI 에이전트에 바로 사용할 수 있습니다. confirmesc는 MCP 서버와 일련의 스킬을 제공하므로, AI 에이전트가 스캔을 도구로 실행하고 내장된 방법론에 따라 확인된 발견 사항에 대응할 수 있습니다 - AI 지원 권한 상승, 처음부터 끝까지. AI 에이전트 통합을 참조하세요.
비특권 사용자가 confirmesc를 실행하면, 각각 바로 실행 가능한 루트 셸이 포함된
세 개의 CONFIRMED 벡터를 얻고, 하나를 붙여넣으면 루트 셸을 획득합니다 - testlab/ Docker 샌드박스에서 라이브로 녹화되었습니다.
git clone https://github.com/capture0x/confirmesc
cd confirmesc
python3 -m pip install -e .
confirmesc # passive scan of the current box, readable text report
보고서 상단을 읽으십시오. ACTIONABLE FINDINGS 섹션에는 모든
CONFIRMED 벡터가 나열되며, 각 항목에는 복사해서 실행할 수 있는
강조된 root shell: 줄이 있습니다. 이것이 전체 워크플로입니다: 스캔하고,
확인된 발견 사항을 읽고, 명령을 실행하십시오.
CONFIRMED 발견 사항이 하나라도 존재하면 프로세스 종료 코드는 1이고,
그렇지 않으면 0이므로 CI나 CTF 자동화에 사용하기 쉽습니다.
confirmesc는 AI 지원 권한 상승을 위해 만들어졌습니다. Model Context Protocol을 통해 AI 에이전트가 이를 구동할 수 있게 해주는 두 가지 선택적 구성 요소를 제공합니다: 스캔은 호출 가능한 도구가 되고, 일련의 skills는 에이전트에게 확인된 발견 사항에 대해 조치를 취할 수 있는 내장 방법론을 제공합니다. 에이전트는 스캔을 실행하고, 확인된 벡터를 읽으며, 각 벡터에 대한 정확한 root 명령을 이미 가지고 있습니다 - 수동 분류도, 페이로드 검색도 필요 없습니다.
confirmesc-mcp는 Model Context Protocol을 통해 스캔을 노출합니다. 에이전트는
도구를 나열하고, scan을 호출하며, 구조화된 발견 사항을 돌려받는데, 각
CONFIRMED 항목은 이미 실행 준비가 된 익스플로잇 명령을 함께 담고 있습니다:
노출되는 도구:
scan - 수동/능동 스캔을 실행하고 구조화된 발견 사항을 반환합니다 (각 확인된 벡터에 대한 exploit_command 포함)report - 스캔을 실행하고 렌더링된 보고서를 text, json, html로 반환합니다list_privesc_checks - 사용 가능한 검사를 카테고리별로 나열합니다실시간 익스플로잇(--poc)은 의도적으로 노출되지 않습니다: 조건을 확인하는 것은
자동화해도 안전하지만, 상승 페이로드를 실행하는 것은 운영자의 결정으로 남습니다.
pip install -e ".[mcp]"
confirmesc-mcp # serve over stdio
표준 stdio 서버 구성으로 모든 MCP 클라이언트를 여기에 연결하세요:
{
"mcpServers": {
"confirmesc": { "command": "confirmesc-mcp" }
}
}
skills/ 디렉터리에는 AI 에이전트가 각 벡터 클래스를 처리하기 위해 로드하는 플레이북이 들어 있습니다. confirmesc가 찾아낸 각 유형별로 하나의 스킬이 있으며, 오케스트레이터도 하나 있습니다:
| Skill | Role |
|---|---|
privesc-authorization-check | 게이트: 스캔 또는 익스플로잇 전에 범위와 권한을 확인 (먼저 로드) |
confirmesc-triage | 오케스트레이터: confirmesc를 실행하고, 보고서를 읽고, 각 CONFIRMED 발견을 올바른 기법 스킬로 라우팅 |
suid-sgid-exploitation | 확인된 SUID/SGID 발견을 루트 셸로 전환 |
sudo-abuse | 확인된 sudo 규칙을 루트 셸로 전환 |
linux-capabilities | cap_setuid 및 기타 위험한 파일 capability 악용 |
kernel-cve | 버전이 일치하는 커널/sudo/polkit CVE에 대응 (Dirty Pipe, PwnKit, Baron Samedit, ...) |
cron-path-hijack | 루트 스케줄러가 실행하는 쓰기 가능한 cron/systemd/$PATH 항목 악용 |
cron-wildcard-injection | 루트가 실행하는 tar/rsync/... 명령에서 따옴표 없는 와일드카드 악용 |
group-escalation | docker/lxd/lxc/disk 그룹 멤버십을 통한 권한 상승 |
sudo-env-keep | sudo env_keep 규칙을 통해 보존된 LD_PRELOAD 악용 |
nfs-no-root-squash | no_root_squash export를 통해 루트 소유 SUID 셸 심기 |
credential-recon | 다른 사용자의 읽기 가능한 SSH 키, .env 또는 히스토리를 재사용하여 피벗 |
critical-file-write | 쓰기 가능한 /etc/passwd, /etc/shadow 또는 /etc/sudoers를 통한 권한 상승 |
post-exploitation-notes | 루트 획득 후: 경로 기록, 변경 사항을 되돌릴 수 있게 유지, 정리 |
이들을 사용하려면 에이전트의 스킬 로더를 skills/ 디렉터리로 지정하거나(각 하위 폴더의 SKILL.md는 자체 포함되어 있음), 필요한 것들을 에이전트의 스킬 경로에 복사하세요. 모든 스킬은 익스플로잇을 운영자 주도로 유지하며 승인된 대상에만 사용하도록 합니다.
confirmesc는 모호한 표현 뒤에 숨지 않습니다. 모든 발견은 네 가지 레벨 중 하나를 가지므로 얼마나 신뢰해야 하는지 정확히 알 수 있습니다.
| Level | Meaning |
|---|---|
CONFIRMED | 익스플로잇 가능한 조건 자체가 직접 관찰됨. 추측이 아님. |
LIKELY | 강한 지표가 일치함(보통 알려진 CVE 범위에 대한 버전 문자열), 하지만 백포트나 런타임 조건이 여전히 이를 막을 수 있음. 수동으로 검증할 것. |
INFO | 알아둘 가치가 있는 컨텍스트이지만 그 자체로 권한 상승 경로는 아님(예: 수동 검토를 위해 표시된 분류되지 않은 SUID 바이너리). |
ERROR | 검사를 완료할 수 없음(도구 누락, 권한 거부). |
| Mode | Flag | What it does |
|---|---|---|
| Passive | (default) | 파일 메타데이터만 읽고 읽기 전용 명령(find, getcap, sudo -n -l, uname -r)만 실행. 디스크에 절대 쓰지 않고, 익스플로잇을 절대 실행하지 않음. |
| Active | --active | 비파괴적 단계 하나를 추가: 의심되는 바이너리를 무해한 플래그(--version)로 실행하여 살아 있는지 확인. 셸을 절대 생성하지 않고, 항상 시간 제한(3초). |
| PoC | --poc | 실제 권한 상승 페이로드를 실제로 실행하고 euid == 0을 검증. 각 페이로드는 단일 읽기 전용 id -u 증명 - 셸 없음, 파일 쓰기 없음, 아무것도 지속되지 않음. |