SS

summersec/shiroattack2

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

2.6천 stars 품질 58 트렌드 30MIT

시로 디직렬화 취약점 포괄적 악용(허가된 테스트 사용 전용)

개요

2016년의 구멍은 오늘날에도 여전히 사용할 수 있습니다. 취약점 자체가 피상적인 것이 아니라, 세 가지 매우 실용적인 이유가 합쳐진 것입니다. Shiro 1.2.4 및 그 이전 버전은 CookieRememberMeManager에서 AES 키:kPH+bIxk5D2deZiIxcaaaaA==를 강제로 설정했습니다. 10년 넘게 튜토리얼과 스캐폴딩 코드가 이 값을 복사해 왔습니다. rememberMe는 클라이언트와 서버 모두 동일한 키를 사용해야 합니다. Key가 구성 파일, Docker 이미지, 소스 코드 저장소에 작성되면, 이를 교체하려면 모든 노드가 함께 수정해야 합니다. 버전 5.0 이후에는 CLI 모드가 추가되었습니다. 핵심 공격 로지인 AttackService(1000+ 라인)는 변경되지 않았으며, TextArea 인터셉션 로그 출력을 계승하여 ControllersFactory 레지스트리를 사용해 가짜 MainController를 주입하고, GUI와 CLI가 동일한 공격 코드를 공유합니다. CLI는 JavaFX 창을 필요로 하지 않습니다; 시작 시 JFXPanel이 JavaFX 스레드를 초기화합니다. --json 모드에서는 출력이 두 개의 채널로 나뉩니다: {로 시작하는 것은 구조화된 로그로, AI나 스크립트가 JSON.parse 라인으로 해석할 수 있고, {로 시작하지 않는 로그는 원래 명령 출력이며, tail -1이 결과를 제공합니다. AES 모드: -- cbc(시로 ≤1.2.4),--gcm(시로 ≥1.2.5). 가젯은 String/AttrCompare/ObjectToStringComparator 변형을 자동으로 감지하고(커먼스 컬렉션 필요 없음), ComparableComparator에 의존하는 CB 변형으로 되돌아갑니다. 자세한 CLI 사용법은 @skills/shiro-attack-cli/SKILL.md를 참조하세요(이 파일은 AI 에이전트의 스킬 설명을 명령 매개변수와 문제 해결 규칙으로 구성하여 불러옵니다).

개요(AI 번역)

시로어택2 Shiro-550 취약점을 겨냥한 빠른 악용 도구

언어 전환 / 언어:중국어 | 영어

전체 설명서: docs/USAGE.md


왜 시로-550이 여전히 사용 가능한가

2016년의 구멍은 오늘날에도 여전히 사용할 수 있습니다. 취약점 자체가 피상적인 것이 아니라, 세 가지 매우 실용적인 이유가 합쳐진 것입니다.

**먼저, 기본 키. ** Shiro 1.2.4 및 그 이전 버전은 CookieRememberMeManager: kPH+bIxk5D2deZiIxcaaaA==로 AES 키를 강제로 작성했습니다. 10년 넘게 튜토리얼과 스캐폴딩 코드가 이 값을 복사해 왔습니다.

**둘째, 키는 교체할 수 없습니다. ** RememberMe는 클라이언트와 서버 모두 동일한 키를 사용하도록 요구합니다. 키가 설정 파일, Docker 이미지 또는 소스 저장소에 기록되면, 교체하려면 모든 노드가 함께 변경되어야 합니다.

**셋째, 활용 비용이 충분히 낮습니다. ** 몇 번의 GUI 클릭만으로 셸을 얻을 수 있고, CLI는 스크립트에 직접 삽입할 수 있습니다.

공격 과정

CLI 모드

버전 5.0 이후에는 CLI 모드가 추가되었습니다. 핵심 공격 로직 AttackService(1000+ 라인)은 변경되지 않았습니다—로그 출력 가로채기 TextArea을 계승하고, ControllersFactory 레지스트리를 사용해 가짜 MainController를 주입하며, GUI와 CLI가 동일한 공격 코드 집합을 공유합니다. CLI는 JavaFX 창을 필요로 하지 않습니다; 시작 시 JFXPanel가 JavaFX 스레드를 초기화합니다.

지휘 목적
detect 목표가 시로 프레임인지 감지
crack 시로 AES 키 불거나 검증
exec 시스템 명령 실행 (가젯 체인 자동 감지)
memshell 기억 말 주입 (고질라/아이스 스콜피온/앤트소드 등)
changekey 목표 시로 키 교체
gui JavaFX 그래픽 인터페이스 실행

--json 모드에서는 출력이 두 채널로 나뉩니다: {로 시작하는 채널은 구조화된 로그이며, AI나 스크립트는 JSON.파싱 라인으로 사용할 수 있습니다. {로 시작하지 않는 채널은 원본 명령 출력이며, tail -1로 결과를 얻을 수 있습니다.

AES 모드: --cbc(시로 ≤1.2.4), --gcm(시로 ≥1.2.5).

가젯은 String/AttrCompare/ObjectToStringComparator 변형(커먼즈 컬렉션 필요 없음)에 대한 첫 시도를 자동으로 감지한 후, [ComparableComparator에 의존하는 CB 변형으로 되돌아갑니다.

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

추천 도구

다른 키워드를 입력하거나 필터를 제거해 보세요.

설치

npx skillfish add summersec/shiroattack2
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →