업데이트로 돌아가기
New releaseAug 7, 2026

yakit v1.4.8-0807

MITM 프록시, 웹 퍼저, 역연결 핸들러, 자동화된 보안 테스트 및 익스플로잇을 위한 플러그인 시스템을 갖춘 올인원 침투 테스트 플랫폼입니다.

공유

Yakit - 대화형 애플리케이션 보안 테스트 플랫폼

백서 보기공식 문서문제 피드백공식 웹사이트 방문커뮤니티 참여프로젝트 아키텍처

:book:언어 선택: English중국어


Yakit 소개

보안 융합은 뉴노멀 시대에 기업이 수행해야 할 보안 운영 및 관리 혁신이자 기업의 최우선 과제입니다.

보안 융합 개념을 바탕으로 Yaklang.io 팀은 보안 분야의 수직적 언어인 Yaklang을 개발했습니다. Yak 플랫폼에 기본적으로 통합될 수 없는 제품/도구의 경우 Yaklang을 사용하여 '고품질 대안'을 다시 작성할 수 있습니다. 생태계가 완전하고 인지도가 높은 제품의 경우 Yaklang은 직접 컴파일하여 통합하고 소스 코드를 필요에 따라 수정하여 Yaklang 언어에 더 잘适配할 수 있습니다. 코드 작성을 원하지 않는 보안 실무자를 위해 Yakit은 Yaklang의 모든 기능에 적합한 GUI를 제공하며, 버전이 업데이트됨에 따라 GUI는 더욱 성숙해질 것입니다.

yakit-cdsl.png

Yaklang의 보안 기능이 실제 사용에 더 가깝게 다가갈 수 있도록, 우리는 Yak을 위해 gRPC 서버를 작성하고 이 서버를 사용하여 클라이언트인 Yakit을 구축했습니다.

프로젝트 아키텍처

yakit-arch.jpg

핵심 기술: CDSL

CDSL은 CyberSecurity Domain Specific Language(사이버 보안 도메인 특화 언어)로 정의되며, 네트워크 보안 분야의 전문 프로그래밍 언어입니다. 우리는 이 튜링 완전한 언어의 런타임 상태를 수용하는 스택 가상 머신을 작성했습니다. 'CDSL'을 통해 보안 기능의 융합과 하위 플랫폼의 통일을 실현하고자 합니다.

자체 개발한 보안 분야 CDSL이 실제 사용 시나리오에 더 가깝게 사용되도록, 우리는 Yaklang을 위해 gRPC 서버를 작성하고 gRPC 서버를 기반으로 클라이언트 Yakit을 구축했습니다. 실질적으로 Yakit의 GUI를 통해 엔진의 기능을 제어하는 것입니다. Yakit의 gRPC 서버는 사용자가 더욱 편리하고 빠르게 배포할 수 있도록 하며, 플랫폼에 독립적이므로 원격 배포 또는 로컬에서 직접 시작하여 호스트에서 사용할 수 있습니다.

yakit-gongneng.png

  1. BurpSuite를 100% 대체할 수 있는 MITM 하이재킹 플랫폼;
  2. 복제하기 어려운 MITM 패시브 스캔 GUI;
  3. Yaklang 스크립트를 임베드하여 동적으로 트래픽 디버깅; 언제든지 코드를 동적으로 실행;
  4. 세계 최초의 시각적 웹 퍼징 도구 — Web Fuzzer;
  5. Yakit 플러그인 스토어:
  6. 침투 테스트의 모든 단계에서 사용자 정의 Yaklang 스크립트 또는 플러그인 실행 가능 ... ...

보안 기능 개요:

yaklang-caps.jpg

주요 기술

MITM 대화형 하이재킹

MITM 콘솔은 BurpSuite를 100% 대체하여 모든 작업(인증서 다운로드 및 설치, 요청 하이재킹, 응답, 하이재킹된 패킷 편집 등)을 수행할 수 있습니다. 또한 하이재킹 → History → Repeater/Intruder의 원활한 워크플로우를 제공합니다. 데이터를 하이재킹하고 History에서 기록 데이터를 확인한 후 '발굴'할 패킷을 선택하여 Web Fuzzer로 보내 Repeater/Intruder 작업을 수행합니다. 이러한 일반적인 작업 시나리오 외에도 MITM은 플러그인 패시브 스캔, 핫 리로드, 패킷 교체, 마킹 등 더 유연한 기능을 제공합니다.

Yakit의 MITM 모듈 원리는 HTTP 프록시를 시작하여 트래픽을 자동으로 전달하는 것입니다. 사용자가 수동 하이재킹을 시작하면 자동 전달이 중지되고 요청이 차단되며 요청이 스택에서 해제되어 Gzip 해제, chunk 처리, 디코딩 등이 수행됩니다. 이를 통해 요청을 사람이 읽을 수 있게 변환하여 사용자 프론트엔드에 표시하고, 사용자는 요청을 확인, 수정 또는 재전송할 수 있습니다. 재전송 시 사용자가 구성한 HTTP 요청 데이터 패킷을 복구하여 요청 패킷의 유효성을 보장합니다. Yak 엔진은 HTTP 라이브러리를 수동으로 구현했으므로 사용자가 비정상적인 요청 패킷 및 응답 패킷을 사용자 정의하여 특수한 시나리오의 취약점 악용에 적용할 수 있습니다.

yakit-mitm.png

웹 애플리케이션 대화형 트래픽 재전송 및 퍼징

Web Fuzzer 모듈은 사용자가 HTTP 원문을 사용자 정의하여 요청을 전송할 수 있도록 지원합니다. 직관적이고 사용하기 쉽게 하기 위해 사용자는 데이터 관련 정보에만 집중하면 되며, Yakit 백엔드는 많은 작업을 수행합니다. HTTP 원문에서 데이터 전송 및 파싱을 보장하는 일부 정보는 Yakit 백엔드에서 복구 및 보완됩니다. 예: CRLF 복구, Content-Type 보완, chunk 방식 전송, boundary 보완, Content-Length 복구 등.

webfuzzer.png

Fuzztag 기술

Web Fuzzer 모듈은 Fuzz 태그를 통해 호스트 충돌, Intruder, 디렉터리 무차별 대입 등의 기능을 자연스럽고 완벽하게 통합합니다. 예를 들어 단일 파라미터 무차별 대입 시나리오에서 사용자 ID를 무차별 대입하려면 {{int(1-10)}} 태그를 사용하여 자동으로 ID를 생성할 수 있습니다. 여러 파라미터를 무차별 대입하는 시나리오에서는 데카르트 곱 결과를 무차별 대입 파라미터로 사용합니다. BurpSuite의 Intruder 모듈에 비해 무차별 대입 방식 선택, 사전 가져오기 등의 단계가 필요 없어 사용자의 작업 경로가 크게 줄어들고 사용자 습관에 부합합니다. 물론 Web Fuzzer 모듈은 태그를 사용하여 파라미터를 자동 생성하는 것 외에도 외부 사전 가져오기를 지원합니다. 예: {{file(/tmp/username.txt)}}. 더 복잡한 데이터 시나리오의 경우 Web Fuzzer 모듈은 핫 리로드 태그 삽입을 지원합니다. 예를 들어 특정 지역의 주민등록번호를 무차별 대입해야 하는 경우 Web Fuzzer 모듈에서 Yak 스크립트를 삽입하여 데이터를 생성하고 무차별 대입할 수 있습니다. 반면 BurpSuite의 Intruder 모듈은 이러한 시나리오에서 코드를 작성하여 사전을 생성한 후 Intruder 모듈로 가져와야 합니다.

fuzztag.png

fuzztag에 대한 자세한 내용은 다음을 참조하십시오: Fuzztag 개요

역연결 기술 및 애플리케이션 프로토콜 다중화 기술

많은 취약점 악용 시나리오에서는 다양한 프로토콜 서비스의 역연결이 필요합니다. 기존 취약점 악용 도구는 공용 서버에서 각 서비스마다 포트를 하나씩 수신해야 합니다. 예를 들어 LDAP 유형의 취약점 악용의 경우 HTTP 서비스, LDAP 서비스를 시작한 후 공격 요청을 전송해야만 취약점 악용이 완료됩니다. 기존 서비스는 각 서비스에 고유한 포트를 할당해야 하는 반면, Yaklang의 포트 프로토콜 다중화 기술은 하나의 포트를 수신하여 요청 프로토콜을 식별하고 그에 따라 응답할 수 있습니다. Yaklang 포트 프로토콜 다중화 기술의 장점은 시스템 리소스 절약, 수동 테스트 용이성 외에도, 기본 원리가 다양한 프로토콜 헤더를 수동으로 식별하고 프로토콜 표준을 기반으로 각 프로토콜을 수동으로 구현하므로 다양한 프로토콜의 데이터 패킷을 유연하게 구성할 수 있다는 점입니다. 예를 들어 비정상적인 프로토콜을 구성하여 취약점을 악용하거나 DNS 프로토콜, ICMP 프로토콜 등을 통해 데이터를 전송할 수 있으며, 이를 통해 백도어 권한 유지 또는 특정 TCP 프로토콜이 네트워크에 연결되지 않은 상황에서의 취약점 악용을 우회할 수 있습니다.

동시에 Yakit은 포트 프로토콜 다중화 기술을 기반으로 역연결 모듈을 구현했습니다. 여기에는 Reverse Shell, 역연결 악용, 역연결 감지 기능이 포함됩니다. Reverse Shell은 지정된 포트를 수신하여 리버스 셸의 수신 측으로 사용하며, 리버스 셸을 수신한 후 SSH와 같이 원격 서버를 제어할 수 있습니다. 기존 침투 테스트의 역연결 요구 사항에서는 Nc를 사용하여 포트를 수신해야 하지만, 백스페이스 키나 방향 키 등에서 문자가 깨지는 경우가 있고, 리버스 셸은 기본 SSH와 사용감이 크게 다릅니다. 그러나 Yakit의 Reverse Shell은 기본 SSH와 유사한 사용 경험을 제공합니다. 역연결 악용 부분에서는 하나의 포트를 수신하여 다양한 프로토콜의 콜백에 대한 Payload를 설정할 수 있으며, 요청을 수신하면 자동으로 요청 프로토콜을 식별하여 해당 Payload를 반환함으로써 취약점 악용을 실현합니다. 역연결 감지 기능은 TCP, DNSLog, ICMP 역연결 감지를 제공하며, 명령 실행 감지 등에 사용할 수 있습니다.

reverse.png

사용

더 많은 기술 내용은 다음을 참조하십시오:

Yakit 기술 문서

기술 백서

커뮤니티 참여

제품에 대한 건설적인 의견이나 BUG 피드백이 있으시면 issue를 제출해 주시기 바랍니다.

또는 위챗 공식 계정을 통해 문의해 주시기 바랍니다. 상업 라이선스 및 협력에 대해서도 연락해 주시기 바랍니다.

소통 그룹에 참여하거나 기술 관련 질문이 있으시면 운영 위챗 계정을 추가하여 커뮤니티에 가입해 주십시오:

운영 위챗 계정:wechat2.png 공식 계정 QR 코드:wechat1.jpeg

Stargazers over time

Stargazers over time

면책 조항

  1. 본 도구는 합법적으로 승인된 기업 보안 구축 행위 및 개인 학습 행위만을 대상으로 합니다. 도구의 사용 가능성을 테스트해야 하는 경우 직접 타겟 환경을 구축하시기 바랍니다.

  2. 본 도구를 사용하여 검사를 수행할 때는 해당 행위가 현지 법률 및 규정을 준수하고 충분한 승인을 받았는지 확인해야 합니다. 승인되지 않은 대상을 스캔하지 마십시오.

  3. 본 소프트웨어에 대한 리버스 엔지니어링, 디컴파일, 소스 코드 해독 시도, 백도어 삽입, 악성 소프트웨어 유포 등의 행위를 금지합니다.

  4. Yakit을 상업적 목적으로 사용해야 하는 경우 공식 승인을 받았는지 확인하십시오. 그렇지 않을 경우 관련 책임을 추궁할 것입니다.

위의 금지 행위가 발견되면 법적 책임을 추궁할 권리가 있습니다.

본 도구를 사용하는 과정에서 불법 행위가 발생한 경우 사용자는 관련 결과를 스스로 부담해야 하며, 당사는 어떠한 법적 책임 및 연대 책임도 지지 않습니다.

본 도구를 설치하고 사용하기 전에 반드시 각 조항을 주의 깊게 읽고 충분히 이해하십시오.

제한 사항, 면책 조항 또는 귀하의 중대한 권리와 관련된 조항은 굵게, 밑줄 등으로 강조 표시될 수 있으니 주의하시기 바랍니다.

사용자가 본 계약의 모든 조항을 충분히 읽고 완전히 이해하며 수락하지 않는 한, 본 도구를 설치하거나 사용하지 마십시오. 사용자의 사용 행위 또는 기타 명시적이거나 묵시적인 방식으로 본 계약을 수락하는 것은 본 계약을 읽고 동의한 것으로 간주됩니다.

카테고리