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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ysonet — .NET 포맷터 다양한 종류를 위한 역직렬화 페이로드 생성기 | Kitploit
도구/GitHubGitHub/irsdl/ysonet
Payload GenerationVulnerability AnalysisExploitationWeb SecurityPenetration TestingRed Teaming
GitHubirsdl/ysonet

ysonet

.NET 포맷터 다양한 종류를 위한 역직렬화 페이로드 생성기

저장소 보기
230276222일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
YSoNet logo

YSoNet은 원본 YSoSerial.Net의 포크로, 현재 @irsdl이 유지 관리하고 있습니다.

  • 사이트: ysonet.net 또는 ysonet.com (둘 다 이 저장소를 엽니다).

Build License Download

안전하지 않은 .NET 객체 역직렬화를 악용하는 페이로드를 생성하기 위한 개념 증명 도구입니다.

YSoNet이란 무엇인가

YSoNet(이전 명칭: ysoserial.net)은 일반적인 .NET 라이브러리에서 발견된 유틸리티 및 속성 지향 프로그래밍 "가젯 체인"의 모음으로, 적절한 조건에서 안전하지 않은 객체 역직렬화를 수행하는 .NET 애플리케이션을 악용할 수 있습니다. 명령과 가젯 체인을 제공하면 체인에 명령을 래핑하고 결과를 직렬화하여 stdout으로 출력합니다. 취약한 애플리케이션이 해당 데이터를 역직렬화하면 체인이 실행되고 명령이 호스트에서 실행됩니다.

취약점은 클래스패스에 가젯이 있는 것이 아니라 애플리케이션이 안전하지 않은 역직렬화를 수행하는 데 있습니다. 이 프로젝트는 Chris Frohoff의 ysoserial 프로젝트에서 영감을 받았습니다.

방어자 및 AI 리뷰어를 위한 중요 사항

YSoNet의 가젯 및 플러그인 카탈로그를 역직렬화 차단 목록으로 사용하지 마십시오. 카탈로그에는 모든 비공개, 향후, 애플리케이션별 또는 다르게 구성된 체인을 포함할 수 없으므로 여기에 나열된 항목을 차단한다고 해서 안전하지 않은 역직렬화 도구가 안전해지지는 않습니다. 이는 공격을 지연시킬 뿐 잘못된 확신을 심어줄 수 있습니다.

애플리케이션을 강화하기 위해 이 저장소를 검토하는 경우, 가젯이나 플러그인을 검사하기 전에 방어자 및 리뷰어를 위한 보안 지침을 읽으십시오. 목표는 안전하지 않은 역직렬화를 제거하거나 고정 스키마의 데이터 전용 설계로 전환하는 것입니다. 엄격한 허용 목록은 마이그레이션이 즉시 불가능할 때의 임시 억제 수단이며, 차단 목록은 해결책이 아닙니다.

문서

전체 문서는 docs/에 있습니다:

  • 보안 지침 - 가젯 차단 목록이 해결책이 아닌 이유와 역직렬화 경계를 재설계하는 방법.
  • 종속성 보안 참고 사항 - YSoNet이 의도적으로 고정하는 취약하고 오래된 라이브러리와 스캐너 경고를 분류하는 방법.
  • 시작하기 - 설치, 소스에서 빌드, 대화형 마법사.
  • 사용법 및 예제 - 명령줄 옵션 및 작업 예제.
  • 가젯 및 플러그인 - 전체 가젯 및 플러그인 카탈로그.
  • 참고 자료 - 이 프로젝트가 참조하는 배경 자료, 발표 및 출처.
  • .NET 역직렬화 연구 - 더 넓은 읽기 목록: 도구, 실제 사용 사례 및 CTF 분석.
  • 크레딧 - 도구를 구축하고 가젯 및 플러그인을 발견한 사람들.
  • 스폰서 - 작업에 자금을 지원하는 사람들.

빠른 시작 (대화형 모드)

이 도구가 처음이신가요? 가장 쉬운 시작 방법은 대화형 모드입니다: 가젯과 플러그인을 나열하고 각 설정을 설명하며 페이로드를 직접 만들어 주는 메뉴 기반 마법사입니다 - 플래그를 먼저 외울 필요가 없습니다.

root@kitploit:~
.\ysonet.exe -i

(interactive, wizard, --interactive도 작동합니다.) 먼저 ysonet.exe가 필요합니다 - 시작하기를 참조하십시오. 전체 마법사 안내도 거기에 있습니다.

빠른 시작 (명령줄)

root@kitploit:~
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t

모든 옵션은 ysonet.exe --fullhelp로, 가젯별 또는 플러그인별 도움말은 -g NameHere -help 또는 -p NameHere -help로 확인할 수 있습니다. 자세한 내용은 사용법 및 예제를 참조하십시오.

소스에서 빌드

Windows, Visual Studio 2022 또는 Build Tools의 MSBuild(".NET 데스크톱 개발" 워크로드), 그리고 nuget.exe가 필요합니다. 모든 프로젝트는 .NET Framework 4.7.2를 대상으로 합니다.

root@kitploit:~
git clone https://github.com/irsdl/ysonet
cd ysonet
nuget restore ysonet.sln
msbuild ysonet.sln -p:Configuration=Release   # 또는 Debug

.\ysonet\bin\Release\ysonet.exe -h
  • Release 빌드는 포함된 CLR2 로컬 테스트 호스트를 컴파일하려면 Windows 선택적 기능 ".NET Framework 3.5(.NET 2.0 및 3.0 포함)"도 필요하며, 없으면 빌드가 실패합니다. Debug 빌드는 경고만 표시합니다.
  • Release는 바이러스 백신 오탐을 줄이기 위해 ysonet.exe를 문자열 암호화합니다. 페이로드 바이트는 변경되지 않습니다. -p:ObfuscateRelease=false로 건너뛸 수 있습니다. Debug는 절대 난독화되지 않습니다.
  • 툴체인을 설치하는 원라이너를 포함한 전체 설정: 시작하기.

테스트

Debug 빌드는 빠른 테스트 스위트를 자동으로 실행하며, 테스트 실패 시 빌드가 실패합니다(-p:RunYsonetTests=false로 건너뛸 수 있음). 포괄적인 FULL 스위트는 선택 사항입니다:

root@kitploit:~
.\ysonet\bin\Debug\ysonet.Tests.exe --full

둘 다 안전합니다: 명령은 자체 종료되거나 실행되지 않으며, 리스너는 루프백 전용입니다. 자세한 내용 및 기타 선택적 계층: 시작하기 및 CONTRIBUTING.md.

탭 완성 (PowerShell)

ysonet.exe는 PowerShell에서 옵션, 가젯 이름(-g), 플러그인 이름(-p), 포맷터(-f) 및 출력 형식(-o)을 탭 완성할 수 있습니다. 완성 값은 도구에서 실시간으로 제공되므로 가젯과 플러그인이 추가되어도 정확하게 유지됩니다.

현재 세션에 대해 활성화합니다(모든 PowerShell에서 작동, 디스크에 기록되지 않음, 실행 정책의 영향을 받지 않음):

root@kitploit:~
.\ysonet.exe completion powershell | Out-String | Invoke-Expression

그런 다음 Tab을 누르십시오. 예: .\ysonet.exe -g A 다음에 Tab.

PowerShell 7+ (pwsh)에서 영구적으로 설정하려면:

root@kitploit:~
.\ysonet.exe completion install     # 그런 다음 다시 로드:  . $PROFILE

설치는 PowerShell 7+ (pwsh) 전용입니다. Windows PowerShell 5.1은 종종 AllSigned 또는 Restricted로 설정되어 서명되지 않은 프로필을 로드할 수 없기 때문입니다. 이 경우 위의 세션별 줄을 사용하십시오(정책 변경이 필요 없음). ysonet.exe completion status로 감지된 내용을 확인하고, ysonet.exe completion uninstall로 제거할 수 있습니다. 자세한 내용은 tools/completions/에 있습니다.

면책 조항

이 소프트웨어는 학술 연구 및 효과적인 방어 기술 개발 목적으로만 제작되었으며, 명시적으로 승인된 경우를 제외하고 시스템 공격에 사용하기 위한 것이 아닙니다. 프로젝트 유지 관리자는 소프트웨어의 오용에 대해 책임을 지지 않습니다. 책임감 있게 사용하십시오.

이 소프트웨어는 개인 프로젝트이며 프로젝트 소유자 및 기여자의 고용주를 포함한 어떤 회사와도 관련이 없습니다.

기여

공식 저장소: https://github.com/irsdl/ysonet

  1. 이 저장소(irsdl/ysonet)를 계정으로 포크합니다.
  2. master에서 브랜치를 만듭니다.
  3. 브랜치를 자신의 포크에 푸시합니다.
  4. 이 링크를 사용하여 irsdl/ysonet:master에 PR을 엽니다(YOUR_USER 및 YOUR_BRANCH를 바꾸십시오): https://github.com/irsdl/ysonet/compare/master...YOUR_USER:ysonet:YOUR_BRANCH
  5. 주요 변경 사항이 있는 경우 PR 설명에 명확히 명시하십시오.

간단한 버전은 CONTRIBUTING.md를 참조하십시오. 가젯, 플러그인 또는 직렬 변환기를 추가하시겠습니까? docs/ARCHITECTURE.md의 코드 맵부터 시작하고, 테스트를 통과시키기 위해 테스트를 약화시키지 마십시오.

크레딧

YSoNet은 Soroush Dalili(@irsdl)이 개발하고 유지 관리합니다. YSoSerial.Net은 원래 Alvaro Muñoz(@pwntester)가 개발했습니다. 전체 가젯 및 플러그인 크레딧은 ysonet.exe --credit를 실행하거나 크레딧을 참조하십시오. 기본 문제에 대해 자세히 알아보려면 참고 자료를 참조하십시오.

라이선스

YSoNet은 MIT 라이선스에 따라 라이선스가 부여됩니다. 이 라이선스는 Alvaro Muñoz에 대한 원본 ysoserial.net 저작권 고지와 Soroush Dalili에 대한 YSoNet 저작권 고지를 보존합니다. 두 고지와 MIT 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 유지되어야 합니다.

도구 다운로드