Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/vainlystrain/vailyn
Vulnerability ScannersPayload GenerationExploitationWeb Application ExploitationInformation GatheringPenetration Testing
GitHubvainlystrain/vailyn

Vailyn

Python으로 작성된 단계적이고 회피적인 경로 탐색 + LFI 스캐닝 및 익스플로잇 도구

저장소 보기
20024125년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유


Vailyn


단계별 경로 탐색 및 LFI 공격

Vailyn 3.0

v3.0부터 Vailyn은 Phase 1에서 LFI PHP 래퍼를 지원합니다. 스캔에 포함하려면 --lfi를 사용하세요.

소개

Vailyn은 경로 탐색 및 파일 포함 취약점에 대한 다단계 취약점 분석 및 익스플로잇 도구입니다. 최대한 성능을 높이고 다양한 필터 우회 기술을 제공하기 위해 제작되었습니다.

어떻게 작동하나요?

Vailyn은 2단계로 작동합니다. 먼저 취약점이 존재하는지 확인합니다. 모든 우회 페이로드를 사용하여 /etc/passwd(또는 사용자가 지정한 파일)에 접근을 시도합니다. 응답을 분석하여 작동한 페이로드를 다른 것과 분리합니다.

이제 사용자는 어떤 페이로드를 사용할지 자유롭게 선택할 수 있습니다. 두 번째 단계에서는 이러한 페이로드만 사용됩니다.

두 번째 단계는 익스플로잇 단계입니다. 파일 및 디렉토리 사전을 사용하여 서버에서 가능한 모든 파일을 유출하려고 시도합니다. 검색 깊이와 디렉토리 순열 수준은 인수를 통해 조정할 수 있습니다. 선택적으로 발견된 파일을 다운로드하여 loot 폴더에 저장할 수 있습니다. 또는 시스템에서 역방향 셸을 얻으려고 시도하여 공격자가 서버에 대한 완전한 제어권을 얻을 수 있습니다.

현재 여러 공격 벡터를 지원합니다: 쿼리, 경로, 쿠키 및 POST 데이터를 통한 인젝션.

왜 단계를 분리하나요?

단계 분리는 도구의 성능을 크게 향상시키기 위해 수행됩니다. 이전 버전에서는 모든 파일-디렉토리 조합이 모든 페이로드로 확인되었습니다. 이로 인해 현재 페이지에 대해 작동하지 않는 페이로드가 계속 재사용되어 큰 오버헤드가 발생했습니다.

설치

권장 및 테스트된 Python 버전은 3.7+이지만 Python 3.5 및 Python 3.6에서도 잘 작동해야 합니다. Vailyn을 설치하려면 릴리스 탭에서 아카이브를 다운로드하거나 다음을 수행하세요.

$ git clone https://github.com/VainlyStrain/Vailyn

시스템에 설치한 후 Python 종속성을 설치해야 합니다.

Unix 시스템

Unix 시스템에서는 다음을 실행하는 것으로 충분합니다.

$ pip install -r requirements.txt   # --user

Windows

Vailyn이 사용하는 일부 라이브러리는 Windows에서 제대로 작동하지 않거나 설치에 실패할 수 있습니다.

Windows를 사용하는 경우 pip을 사용하여 Vailyn\·›\requirements-windows.txt에 나열된 요구 사항을 설치하세요.

twisted 설치에 실패하면 여기에 Windows에서 빌드되어야 하는 비공식 버전이 있습니다. 이는 타사 다운로드이며 무결성이 반드시 보장되지는 않습니다. 이 버전이 성공적으로 설치된 후 requirements-windows.txt에 대해 pip을 다시 실행하면 작동합니다.

최종 단계

역방향 셸 모듈을 완전히 사용하려면 sshpass, ncat 및 konsole이 설치되어 있어야 합니다. 패키지 이름은 Linux 배포판에 따라 다릅니다. Windows에서는 미리 수동으로 리스너를 시작해야 합니다. konsole이 마음에 들지 않으면 core/config.py에서 다른 터미널 에뮬레이터를 지정할 수 있습니다.

이제 끝입니다! 설치 디렉토리로 이동하여 다음을 수행하여 Vailyn을 실행하세요.

$ python Vailyn -h

사용법

Vailyn에는 3개의 필수 인수가 있습니다: -v VIC, -a INT 및 -p2 TP P1 P2. 그러나 -a에 따라 더 많은 인수가 필요할 수 있습니다.

   ,                \                  /               , 
     ':.             \.      /\.     ./            .:'
        ':;.          :\ .,:/   ''. /;        ..::'
           ',':.,.__.'' '          ' `:.__:''.:'
              ';..                        ,;'     *
       *         '.,                   .:'
                    `v;.            ;v'        o
              .      '  '..      :.' '     .
                     '     ':;, '    '
            o                '          .   :        
                                           *
                         | Vailyn |
                      [ VainlyStrain ]
    
Vsynta Vailyn -v VIC -a INT -p2 TP P1 P2 
        [-p PAM] [-i F] [-Pi VIC2]
      [-c C] [-n] [-d I J K]
       [-s T] [-t] [-L]
  [-l] [-P] [-A] 

필수:
  -v VIC, --victim VIC  공격 대상, 1부 [페이로드 전]
  -a INT, --attack INT  공격 유형 (정수, 1-5 또는 A)

    A|  스파이더 (전체)       2|  경로               5|  POST 데이터, json
    P|  스파이더 (부분)       3|  쿠키
    1|  쿼리 매개변수        4|  POST 데이터, 평문

  -p2 TP P1 P2, --phase2 TP P1 P2
                        Phase 2 공격 및 필요한 매개변수

┌[ 값 ]─────────────────┬──────────────────────────┐
│ TP      │ P1          │ P2                       │
├─────────┼─────────────┼──────────────────────────┤
│ leak    │ 파일 사전   │ 디렉토리 사전            │
│ inject  │ IP 주소     │ 수신 포트                │
│ implant │ 소스 파일   │ 서버 대상                │
└─────────┴─────────────┴──────────────────────────┘

추가:
  -p PAM, --param PAM   --attack 1, 4, 5에 대한 쿼리 매개변수 또는 POST 데이터
  -i F, --check F       Phase 1에서 확인할 파일 (기본값: etc/passwd)
  -Pi VIC2, --vic2 VIC2 공격 대상, 2부 [페이로드 후]
  -c C, --cookie C      추가할 쿠키 (헤더 형식)
  -l, --loot            발견된 파일을 loot 폴더에 다운로드
  -d I J K, --depths I J K
                        깊이 (I: Phase 1, J: Phase 2, K: 순열 수준)
  -h, --help            이 도움말 메뉴를 표시하고 종료
  -s T, --timeout T     요청 시간 초과; Arjun용 안정 스위치
  -t, --tor             Tor 익명 네트워크를 통해 공격 파이프
  -L, --lfi             PHP 래퍼를 추가로 사용하여 파일 유출
  -n, --nosploit        Phase 2 건너뛰기 (-p2 TP P1 P2 필요 없음)
  -P, --precise         Phase 1에서 정확한 깊이 사용 (범위 아님)
  -A, --app             Vailyn의 Qt5 인터페이스 시작

개발:
  --debug               404을 포함한 모든 시도 경로 표시
  --version             프로그램 버전을 출력하고 종료
  --notmain             서브프로세스 호출에서 notify2 충돌 방지

정보:
  절대 경로를 사용하여 파일 유출: -d 0 0 0
  절대 경로를 사용하여 셸 획득: -d 0 X 0

Vailyn은 현재 5가지 공격 벡터를 지원하며, 이를 자동화하는 크롤러도 제공합니다. 수행되는 공격은 -a INT 인수로 식별됩니다.

INT        공격
----       -------
1          쿼리 기반 공격  (https://site.com?file=../../../)
2          경로 기반 공격   (https://site.com/../../../)
3          쿠키 기반 공격 (쿠키를 자동으로 가져옵니다)
4          평문 POST 데이터     (ELEM1=VAL1&ELEM2=../../../)
5          JSON POST 데이터      ({"file": "../../../"})
A          스파이더              모든 벡터를 사용하여 사이트의 모든 URL 가져오기 및 분석
P          부분 스파이더         선택한 벡터만 사용하여 사이트의 모든 URL 가져오기 및 분석

또한 공격할 대상을 지정해야 합니다. 이는 -v VIC 및 -Pi VIC2를 통해 수행되며, -v는 인젝션 포인트 이전 부분이고 -Pi는 나머지 부분입니다.

예: 최종 URL이 https://site.com/download.php?file=<공격>&param2=necessaryvalue처럼 보여야 하는 경우 -v https://site.com/download.php 및 -Pi &param2=necessaryvalue(그리고 쿼리 공격이므로 -p file)을 지정할 수 있습니다.

PHP 래퍼(예: php://filter)를 스캔에 포함하려면 --lfi 인수를 사용하세요. Phase 1이 끝나면 작동한 래퍼가 포함된 추가 선택 메뉴가 표시됩니다. (있는 경우)

공격 대상 사이트가 로그인 페이지 뒤에 있는 경우 -c COOKIE를 통해 인증 쿠키를 제공할 수 있습니다. Tor를 통해 공격하려면 --tor를 사용하세요.

Phase 1

작동하는 페이로드를 나머지와 분리하는 분석 단계입니다.

기본적으로 /etc/passwd가 조회됩니다. 서버가 Linux를 실행하지 않는 경우 -i FILENAME으로 사용자 정의 파일을 지정할 수 있습니다. FILENAME에 하위 디렉토리를 포함해야 합니다. 조회 깊이는 -d의 첫 번째 값으로 수정할 수 있습니다(기본값=8). 절대 경로를 사용하려면 첫 번째 깊이를 0으로 설정하세요.

Phase 2

익스플로잇 단계입니다. Vailyn은 가능한 한 많은 파일을 유출하거나 다양한 기술을 사용하여 역방향 셸을 획득하려고 시도합니다.

Phase 2의 조회 깊이(최대 역방향 트래버스 계층 수)는 -d 인수의 두 번째 값으로 지정됩니다. 하위 디렉토리 순열 수준은 -d의 세 번째 값으로 설정됩니다.

절대 경로로 공격하고 유출 공격을 수행하는 경우 모든 깊이를 0으로 설정하세요. 역방향 셸을 얻으려면 두 번째 깊이가 0보다 큰지 확인하세요.

-l을 지정하면 Vailyn이 터미널에 파일을 표시할 뿐만 아니라 파일을 다운로드하여 loot 폴더에 저장합니다.

자세한 출력(발견된 파일뿐만 아니라 모든 출력 표시)을 원하면 --debug를 사용할 수 있습니다. 출력이 매우 지저분해지므로 기본적으로 디버그 도움말입니다.

무차별 대입 공격을 수행하려면 -p2 leak FIL PATH를 지정해야 합니다. 여기서

  • FIL은 파일 이름만 포함하는 사전 파일입니다(예: index.php).
  • PATH는 디렉토리 이름만 포함하는 사전 파일입니다. Vailyn이 디렉토리 순열을 처리하므로 한 줄에 하나의 디렉토리만 필요합니다.

코드 인젝션을 통해 역방향 셸을 얻으려면 -p2 inject IP PORT를 사용할 수 있습니다. 여기서

  • IP는 수신 IP입니다.
  • PORT는 수신하려는 포트입니다.

경고

Vailyn은 로그 포이즈닝 기술을 사용합니다. 따라서 지정된 IP가 서버 로그에 표시됩니다.

기술(LFI 포함에만 작동):

  • /proc/self/environ 포함은 구형 서버에서만 작동합니다.
  • Apache + Nginx 로그 포이즈닝 및 포함
  • SSH 로그 포이즈닝
  • 오염된 메일 포함
  • 래퍼
    • expect://
    • data:// (평문 및 b64)
    • php://input

오탐지 방지

Vailyn은 실제 결과와 오탐지를 구분하기 위해 다음 검사를 수행합니다:

  • 응답의 상태 코드 확인
  • 공격 시작 전에 찍은 응답과 동일한지 확인: 예를 들어 서버가 200을 반환하지만 페이로드 입력을 무시하거나 파일을 찾을 수 없을 때 기본 페이지를 반환하는 경우에 유용합니다.
  • #2와 유사하게, 쿼리 GET 매개변수 처리를 위한 추가 검사(필요한 매개변수가 누락되면 서버가 오류를 반환하는 경우 유용)
  • 빈 응답 확인
  • 응답 콘텐츠에 일반적인 오류 시그니처가 있는지 확인
  • 응답에 페이로드가 포함되어 있는지 확인: 서버가 존재하지 않는 파일에 대해 200을 응답하고 메시지에 페이로드를 반영하는 경우(예: ../../secret을 찾을 수 없음)에 대한 추가 검사
  • 전체 응답이 초기 검사 응답에 포함되어 있는지 확인: 서버에 기본 포함이 있고 404의 경우 사라지는 경우 유용
  • -a 2의 경우 응답 콘텐츠가 서버 루트 URL의 콘텐츠와 일치하는지 추가 확인
  • /etc/passwd를 조회 파일로 사용하는 경우 REGEX 검사

예제

  • 간단한 쿼리 공격, Phase 2에서 파일 유출: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file --> http://site.com/download.php?file=../INJECT
도구 다운로드