
간단한 취약점 스캐닝 프레임워크
이 도구는 주어진 디렉토리 내의 파일을 검사하여 안전하지 않거나 취약하거나 위험한 함수 호출을 탐지하는 것을 목표로 합니다. 확장 가능하고 이해하기 쉽도록 설계되었으며, 어떤 유형의 파일이 어떤 '스캔'을 트리거할지 기준을 지정하는 모듈을 "플러그 앤 플레이"할 수 있습니다. 이를 통해 각 파일 내에서 위험한 콘텐츠를 찾아 보고하기 위해 어떤 작업을 수행할지 결정할 수 있습니다.
또한, 실험적인 자동 퍼징 도구로 실행될 수도 있습니다. 효과적인 모듈이 있다면, 프레임워크를 조정하여 자동으로 실행 파일을 퍼징할 수 있습니다. 일반적인 fuzz.fuzzer.Fuzzer 클래스를 사용하여 퍼저를 구현할 수 있습니다. 경고: 이 클래스는 scan.scanner.Scanner의 서브클래스이지만, 실행 권한이 있는 모든 파일을 실행합니다! 주의하세요!
$ ./peach.py -h
usage: peach.py [-h] [-s] [-f] [--follow] [-c CONFIG] [-o OUTPUT] [-sh] [-nh]
paths [paths ...]
positional arguments:
paths 스캔할 파일 및 디렉토리
optional arguments:
-h, --help 도움말 메시지를 표시하고 종료합니다.
-s, --scan 취약점 스캐닝을 위한 설정 파일(vulnscan.json)을 사용합니다.
-f, --fuzz 자동 퍼징을 위한 설정 파일(fuzzing.json)을 사용합니다.
--follow 디렉토리 스캔 시 심볼릭 링크를 따라갑니다.
-c CONFIG, --config CONFIG
사용자 정의 설정 파일을 지정합니다(기본값: vulnscan.json).
-o OUTPUT, --output OUTPUT
결과를 지정된 JSON 파일로 출력합니다.
-sh, --scan-hidden 숨김 파일 및 디렉토리를 스캔합니다(기본값).
-nh, --no-hidden 숨김 파일 및 디렉토리를 스캔하지 않습니다.
이것은 유틸리티의 핵심입니다. 주어진 [명령줄 인수]에서 모든 [스레드]와 스캔을 시작하는 Python 스크립트입니다.
이 디렉토리는 특정 파일 "스캔"을 위해 복제하고 확장할 수 있는 모든 클래스를 호스팅합니다. 여기서 원하는 거의 모든 작업을 수행할 수 있습니다. 정리를 위해 이 폴더에 보관되어 있습니다.
이는 전역 설정 역할을 합니다. 이 JSON 파일에서 처리된 모든 파일에 대해 실행할 스캔을 지정하고, 해당 파일을 식별하는 데 사용할 기준(파일 확장자, [MIME 유형] 또는 실행 파일)을 결정합니다. 이 설정에 나열된 모든 스캐너는 단순히 스캐너여야 합니다. 여기에는 퍼저를 나열하면 안 됩니다!
이 파일은 vulnscan.json과 유사하지만, 퍼저에 대한 참조를 포함하며 디렉토리나 파일을 자동으로 퍼징하는 데 사용할 수 있습니다. 경고: 이 설정을 사용하면 실행 권한이 있는 모든 파일을 실행합니다! 사용 시 주의하세요!
이 디렉토리는 일부 스캐너를 테스트하는 데 자주 사용된 모든 항목을 보관합니다. 원하는 대로 추가할 수 있습니다.
이것이 전부입니다! 이 도구의 아이디어는 간단합니다. 진정한 힘은 대량의 알 수 없는 데이터에서 장난스러운 콘텐츠나 코드를 탐지하고 보고하는 스캐너를 구축하는 데서 나옵니다. 자신만의 스캐너를 추가하세요!
이 도구와 함께 제공되는 모든 퍼저를 사용하려면 시스템의 최대 열린 파일 수를 늘려야 할 수 있습니다. 퍼저가 동시에 실행되기 때문에 많은 수의 열린 파일이 빠르게 누적됩니다. 대부분의 최신 시스템에서 제한은 1024로 설정되어 있어 "Out of files"(EMFILE) 오류가 발생합니다. 시스템의 최대 열린 파일 수를 늘리면 문제가 해결됩니다.
colorama