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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Vxscan — python3로 작성된 종합 스캐닝 도구로, 주로 생존 확인, 민감 파일 탐지(디렉토리 스캔/JS 누출 인터페이스/HTML 주석 누출), WAF/CDN 식별, 포트 스캔, 핑거프린트/서비스 식별, 운영 체제 식별, POC 스캔, SQL 인젝션, CDN 우회, 인접 사이트 조회 등의 기능을 제공합니다. 주로 발주처 자체 테스트 또는 수주처 승인 테스트에 사용되며, 파괴 목적으로 사용하지 마십시오. | Kitploit
도구/GitHubGitHub/al0ne/vxscan
OSINT (Open Source Intelligence)Password CrackingVulnerability ScannersPort ScanningInformation GatheringWAF BypassWeb SecurityPenetration TestingSubdomain EnumerationCrawler
GitHubal0ne/vxscan
1.8k433266년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Vxscan

python3로 작성된 종합 스캐닝 도구로, 주로 생존 확인, 민감 파일 탐지(디렉토리 스캔/JS 누출 인터페이스/HTML 주석 누출), WAF/CDN 식별, 포트 스캔, 핑거프린트/서비스 식별, 운영 체제 식별, POC 스캔, SQL 인젝션, CDN 우회, 인접 사이트 조회 등의 기능을 제공합니다. 주로 발주처 자체 테스트 또는 수주처 승인 테스트에 사용되며, 파괴 목적으로 사용하지 마십시오.

저장소 보기

Vxscan 2.0

Build Status ISSUE star license python

English | 简体中文

Python3 종합 스캐닝 도구로, 주로 민감한 파일 탐지(디렉토리 스캔 및 JS 누수 인터페이스), WAF/CDN 식별, 포트 스캔, 핑거프린트/서비스 식별, 운영체제 식별, 약한 비밀번호 탐지, POC 스캔, SQL 인젝션, CDN 우회, 하위 사이트 점검에 사용됩니다.

업데이트

2019.8.19
gov.cn 및 edu.cn 도메인 스캔 금지 추가, 프로그램이 탐지 시 즉시 종료
프로그램 출력 인터페이스를 시간 + 플러그인 + 도메인 + 결과 스타일로 수정
기존 SQL 인젝션 플러그인 제거 및 약한 비밀번호 탐지 플러그인 추가 (Mysql, Postgresql, SSH 등)
Fofa의 핑거프린트 식별 라이브러리를 WEBEYE와 통합. 핑거프린트 규칙 2000+
2019.7.19
socks5 글로벌 프록시 추가
requests 패키징
디렉토리 구조 최적화
기존 html 리포트 삭제, Perun에서 추출한 html 리포트 사용
json 결과 출력 제거, sqllite3 데이터베이스에 저장으로 변경, 저장 시 중복 제거, 스캔 중 대상 호스트가 db 파일에 이미 존재하면 건너뜀
phpinfo, leaves 등 일반적인 정보 누수 스캔 플러그인 추가
Pdns에 viewdns.info 인터페이스 추가
2019.7.1
핑 탐지에 실패한 호스트 표시
-u 명령에 여러 대상 추가 가능, 쉼표로 구분
핑거프린트 인식 오류 수정
2019.6.18
iis 웹사이트 핑거프린트 인식 오류 문제 수정, apps.json 수정
오류가 발생하기 쉬운 일부 서드파티 라이브러리 및 스크립트 제거
스캔 완료 시 깜빡이는 현상은 프로그램이 먼저 DNS 파싱 및 핑 작업을 수행하기 때문
Vxscan을 처음 사용할 때 fake_useragent가 https://fake-useragent.herokuapp.com/browsers/0.1.11에서 ua 목록을 로드하며, 로드 타임아웃 오류가 발생할 수 있음

요구 사항

Python 버전 > 3.6
requests
pyfiglet
fake-useragent
beautifulsoup4
tldextract
python-nmap
geoip2
lxml
pymongo
virustotal_python
dnspython
pysocks

wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
압축 해제 후 GeoLite2-City.mmdb 파일을 vxscan/data/GeoLite2-City.mmdb에 배치

wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz
압축 해제 후 GeoLite2-ASN.mmdb 파일을 vxscan/data/GeoLite2-ASN.mmdb에 배치

pip3 install -r requirements.txt

기능

  • Webinfo
    • GeoIP
    • DNS 해석 확인
    • Ping 생존 확인
    • HTTPS/HTTP 인증
    • WAF/CDN 탐지
      • WAF 규칙
      • CDN IP 세그먼트
      • CDN ASN
    • HTTP 헤더
    • HTTP Server
    • HTTP Headers
    • 핑거프린트 인식
      • Wappalyzer (1100+)
      • WEBEYE (100+)
      • FOFA (2000+)
    • PDNS
      • virustotal
      • viewdns.info
    • 역방향 도메인
      • yougetsignal.com
      • api.hackertarget.com
    • 운영체제 버전 탐지 (nmap)
  • Ports
    • 400+ 포트
    • 140+ 포트 핑거프린트 특징
    • Port Banner
    • CDN IP 건너뛰기
    • 전체 포트가 열린 호스트 (portspoof) 자동 건너뛰기
    • 대용량 파일 인식, URL 스캔 시 stream=True를 추가하여 대용량 파일을 만나도 로드되지 않음
  • URLS
    • robots.txt를 파싱하여 스캔 목록에 내용 추가
    • 일반적인 백업, 백도어, 디렉토리, 미들웨어, 민감한 파일 주소
    • 데카르트 곱을 사용하여 딕셔너리 목록 생성
    • 무작위 UserAgent, XFF, X-Real-IP, Referer
    • 사용자 정의 404 페이지 인식 (페이지 유사도, 페이지 키워드)
    • 사용자 정의 302 점프 식별
    • 유효하지 않은 Content-Type, 유효하지 않은 상태 코드 필터링
    • url, title, contype, rsp_len, rsp_code 저장
  • Vuln
    • 하나의 호스트에서 여러 HTTP 포트를 POC 대상에 추가
    • 핑거프린트 및 포트 서비스를 기반으로 POC 호출
    • 인증 없음, 역직렬화, RCE, SQLi...
  • BruteForce
    • Mysql
    • Postgresql
    • SSH
  • Crawl
    • 크롤링을 통해 동적 매개변수 추출, 중복 제거
    • Js 파일 정보 노출 (전화번호, apikey, 이메일, IP, 도메인, todo)
    • HTML 주석 누수 (전화번호, 이메일, 도메인, IP, todo)
  • Report
    • 결과는 Sqlite3 데이터베이스에 저장
    • 저장 시 중복 제거, 이미 존재하는 항목은 스캔하지 않음
    • html 리포트 생성

사용법

python3 Vxscan.py -h

optional arguments:
  -h, --help            도움말 메시지 표시 및 종료  
  -u URL, --url URL     이 URL 스캔 시작 -u xxx.com  
  -i INET, --inet INET  cidr 예: 1.1.1.1 또는 1.1.1.0/24  
  -f FILE, --file FILE  파일에서 URL 읽기  

1. 웹사이트 하나 스캔
python3 vxscan.py -u http://www.xxx.com/
2. 파일 목록에서 웹사이트 스캔
python3 vxscan.py -f hosts.txt
3. cidr 예: 127.0.0.0/24
python3 vxscan.py -i 127.0.0.0/24

구조

├─Vxscan.py 메인 파일
├─data
│ ├─apps.json           웹 핑거프린트 정보
│ ├─apps.txt            웹 핑거프린트 정보 (WEBEYE)
│ ├─GeoLite2-ASN.mmdb       geoip
│ ├─GeoLite2-City.mmdb      asn
├─doc                   이미지 또는 문서 리소스 저장
├─report                html 리포트 관련 내용
├─lib
│ ├─common.py           CDN 판단, 포트 스캔, POC 스캔 등
│ ├─color.py            터미널 컬러 출력
│ ├─cli_output.py       터미널 출력
│ ├─active.py           DNS 해석 및 핑 IP 생존 판단
│ ├─save_html.py        html 리포트 생성
│ ├─waf.py              waf 규칙
│ ├─options.py          옵션 설정
│ ├─iscdn.py            IP 세그먼트 및 asn 범위를 기반으로 IP가 CDN인지 판단
│ ├─osdetect.py         OS 버전 식별
│ ├─random_header.py    사용자 정의 헤더 생성
│ ├─settings.py         설정 스크립트
│ ├─vuln.py             POC 스캔 일괄 호출
│ ├─url.py              가져온 연결 중복 제거
│ ├─verify.py           검증 인터페이스 제공 스크립트
│ ├─sqldb.py            sqlite3 관련 모든 내용
│ ├─Requests.py         패키징된 requests 라이브러리, 사용자 정의 설정 수행
├─script
│ ├─Poc.py Poc 스크립트
│ ├─......
├─Plugins
│ ├─ActiveReconnaissance
│   ├─active.py             호스트 생존 판단 및 DNS 해석 확인
│   ├─check_waf.py          웹사이트 waf 판단
│   ├─crawk.py Crawl        웹사이트 링크 크롤링 및 테스트
│   ├─osdetect.py           운영체제 식별
│ ├─InformationGathering
│   ├─geoip.py              위치 검색
│   ├─js_leaks.py js        정보 노출
│ ├─PassiveReconnaissance
│   ├─ip_history.py         pdns 인터페이스
│   ├─reverse_domain.py     하위 사이트 조회
│   ├─virustotal.py         VT Pdns 조회
│   ├─wappalyzer.py         CMS 수동 핑거프린트 인식
│ ├─Scanning
│   ├─dir_scan              디렉토리 스캔
│   ├─port_scan             포트 스캔
├─requirements.txt
├─report.py html            리포트 생성
├─logo.jpg
├─error.log

설정

# coding=utf-8

# 전역 타임아웃
TIMEOUT = 5

# 제외할 상태 코드
BLOCK_CODE = [
    301, 403, 308, 404, 405, 406, 408, 411, 417, 429, 493, 502, 503, 504, 999
]
# 스캔 스레드 수 설정
THREADS = 100
# 제외할 Content-Type
BLOCK_CONTYPE = [
    'image/jpeg', 'image/gif', 'image/png', 'application/javascript',
    'application/x-javascript', 'text/css', 'application/x-shockwave-flash',
    'text/javascript', 'image/x-icon'
]

# 디렉토리 스캔 건너뛰기 여부
SCANDIR = True

# POC 플러그인 시작 여부
POC = True

# 결과 db에 존재하면 건너뛰기
CHECK_DB = False

# 유효하지 않은 404 페이지
PAGE_404 = [
    'page_404"', "404.png", '找不到页面', '页面找不到', "Not Found", "访问的页面不存在",
    "page does't exist", 'notice_404', '404 not found'
]

# ping
PING = True

# socks5 프록시
# SOCKS5 = ('127.0.0.1', 1080)
SOCKS5 = ()

# shodan
SHODAN_API = ''

# VT
VIRUSTOTAL_API = ''

# cookie
COOKIE = {'Cookie': 'test'}

POC

1. 포트 개방 또는 핑거프린트 인식 결과를 기반으로 POC 호출
script 디렉토리에 새 python 파일을 만들고 check 함수를 정의합니다. 전달되는 매개변수는 ip 주소, 포트 목록, 핑거프린트 식별 목록이며, 결과를 반환합니다:

import pymongo
from lib.verify import verify

timeout = 2
vuln = ['27017', 'Mongodb']

def check(ip, ports, apps):
    # Verify는 스캔 목록에 Mongodb 관련 결과가 있는지 확인하는 데 사용됩니다. 포트가 열려 있지 않으면 스캔하지 않습니다.
    if verify(vuln, ports, apps):
        try:
            conn = pymongo.MongoClient(host=ip, port=27017, serverSelectionTimeoutMS=timeout)
            database_list = conn.list_database_names()
            if not database_list:
                conn.close()
                return
            conn.close()
            return '27017 MongoDB Unauthorized Access'
        except Exception as e:
            pass

2. 대상 IP의 각 HTTP 포트에서 순회
전달된 포트 서비스 목록에 따라 스캔할 url을 생성한 후 각 웹 포트에서 접속합니다. 다음 스크립트는 ip의 각 http 포트의 제목을 가져옵니다.

from lib.verify import get_list
from lib.random_header import HEADERS
from lxml import etree
import requests

def get_title(url):
    try:
        r = requests.get(url, headers=HEADERS, timeout=3, verify=False)
        html = etree.HTML(r.text)
        title = html.xpath('//title/text()')
        return url + ' | ' + title[0]
    except:
        pass


def check(ip, ports, apps):
    result = []
    probe = get_list(ip, ports)
    for i in probe:
        out = get_title(i)
        if out:
            result.append(out)
    return result
도구 다운로드