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

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

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

Vxscan

1.8k4336년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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

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

구조

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

설정

root@kitploit:~
# 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 주소, 포트 목록, 핑거프린트 식별 목록이며, 결과를 반환합니다:

root@kitploit:~
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 포트의 제목을 가져옵니다.

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

핑거프린트

핑거프린트 인식 기능 추가 방법
data/apps.txt 파일의 내용 수정
1. HTTP 헤더 헤더 매칭
Cacti|headers|Set-Cookie|Cacti=
2. HTTP 응답 본문 매칭
ASP|index|index|<a[^>]?href=('|")[^http][^>]?.asp(?|#|\1)
3. 헤더를 k 또는 v로 분할하여 매칭
ThinkSNS|match|match|T3_lang

Waf/CDN 목록

360
360wzws
Anquanbao
Armor
BaiduYunjiasu
AWS WAF
AdNovum
Airee CDN
Art of Defence HyperGuard
ArvanCloud
Barracuda NG
Beluga CDN
BinarySEC
BlockDoS
Bluedon IST
CacheFly CDN
ChinaCache CDN
Cisco ACE XML Gateway
CloudFlare CDN
Cloudfront CDN
Comodo
CompState
DenyALL WAF
DenyAll
Distil Firewall
DoSArrest Internet Security
F5 BIG-IP APM
F5 BIG-IP ASM
F5-TrafficShield
Fastly CDN
FortiWeb
FortiWeb Firewall
GoDaddy
GreyWizard Firewall
HuaweiCloudWAF
HyperGuard Firewall
IBM DataPower
ISAServer
Immunify360
Imperva SecureSphere
Incapsula CDN
Jiasule
KONA
KeyCDN
ModSecurity
NGENIX CDN
NSFOCUS
Naxsi
NetContinuum
NetContinuum WAF
Neusoft SEnginx
Newdefend
Palo Alto Firewall
PerimeterX Firewall
PowerCDN
Profense
Qiniu CDN
Reblaze Firewall
SDWAF
Safe3
Safedog
SiteLock TrueShield
SonicWALL
SonicWall
Sophos UTM Firewall
Stingray
Sucuri
Teros WAF
Usp-Sec
Varnish
Wallarm
WatchGuard
WebKnight
West263CDN
Yundun
Yunsuo
ZenEdge Firewall
aesecure
aliyun
azion CDN
cloudflare CDN
dotDefender
limelight CDN
maxcdn CDN
mod_security
yunsuo

출력

다음은 AWVS 스캐너 테스트 웹사이트 결과입니다.
image image image

참고

핑거프린트 인식은 주로 Wappalyzer와 WebEye를 호출합니다:
https://github.com/b4ubles/python3-Wappalyzer
https://github.com/zerokeeper/WebEye
Poc 참고:
BBscan 스캐너 https://github.com/lijiejie/BBScan
POC-T https://github.com/Xyntax/POC-T/tree/2.0/script
Perun https://github.com/WyAtu/Perun
Antherax의 포트 스캔, 서비스 판단 참고:
https://raw.githubusercontent.com/AnthraX1/InsightScan/master/scanner.py
Js 민감 정보 정규식 추출 참고:
https://github.com/nsonaniya2010/SubDomainizer
WAF 판단은 waf00f 및 whatwaf의 판단 규칙 사용:
https://github.com/EnableSecurity/wafw00f
https://github.com/Ekultek/WhatWaf
html 리포트 사용: https://github.com/WyAtu/Perun https://github.com/ly1102

도구 다운로드