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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
eyeballer — 펜테스트 스크린샷 분석을 위한 합성곱 신경망 | Kitploit
도구/GitHubGitHub/bishopfox/eyeballer
ReconnaissanceVulnerability AnalysisInformation GatheringPenetration TestingMachine Learning
GitHubbishopfox/eyeballer

eyeballer

펜테스트 스크린샷 분석을 위한 합성곱 신경망

저장소 보기
1.3k1485개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Eyeballer

로고

당신의 스크린샷을 빠르게 훑어보세요.

Eyeballer는 대규모 네트워크 침투 테스트에서 웹 기반 호스트의 거대한 세트 중에서 "흥미로운" 대상을 찾아야 할 때 유용합니다. 평소처럼 좋아하는 스크린샷 도구(EyeWitness 또는 GoWitness)를 사용하여 스크린샷을 찍은 다음, Eyeballer를 통해 실행하면 취약점이 포함될 가능성이 있는 것과 그렇지 않은 것을 알려줍니다.

라이브로 사용해 보세요: https://eyeballer.bishopfox.com

예시 레이블

오래된 사이트로그인 페이지
샘플 오래된 페이지샘플 로그인 페이지
웹앱사용자 정의 404 페이지
샘플 웹앱샘플 사용자 정의 404
파킹된 도메인
샘플 웹앱

레이블의 의미

오래된 사이트 블록 형태의 프레임, 깨진 CSS, 2000년대 초반에 디자인된 듯한 웹사이트의 그 특유의 "느낌". 보면 압니다. 오래된 웹사이트는 단지 보기 흉할 뿐만 아니라 일반적으로 매우 취약합니다. 해킹 대상을 찾을 때 이 웹사이트들은 금광입니다.

로그인 페이지 로그인 페이지는 침투 테스트에 가치가 있습니다. 현재 접근할 수 없는 추가 기능이 있음을 나타냅니다. 또한 자격 증명 열거 공격이라는 간단한 후속 절차가 있다는 의미이기도 합니다. 로그인 페이지를 찾기 위해 간단한 휴리스틱을 설정할 수 있다고 생각할 수 있지만, 실제로는 매우 어렵습니다. 현대 사이트에서는 우리가 grep 할 수 있는 단순한 입력 태그를 사용하지 않습니다.

웹앱 이는 여기에 공격 표면 역할을 할 수 있는 더 큰 페이지 및 기능 그룹이 있음을 알려줍니다. 이는 다른 기능이 없는 단순한 로그인 페이지나 다른 기능이 없는 기본 IIS 랜딩 페이지와 대조적입니다. 이 레이블은 공격할 웹 애플리케이션이 있음을 나타냅니다.

사용자 정의 404 현대 사이트는 고장난 로봇이나 슬픈 개 사진이 있는 귀여운 사용자 정의 404 페이지를 좋아합니다. 불행히도, 그들은 또한 HTTP 200 응답 코드를 반환하는 것을 좋아합니다. 더 자주, "404" 페이지에는 "404"라는 텍조차 포함되어 있지 않습니다. 이러한 페이지는 시각적으로 많은 것이 있음에도 불구하고 일반적으로 흥미롭지 않으며, Eyeballer가 이를 걸러내는 데 도움을 줄 수 있습니다.

파킹된 도메인 파킹된 도메인은 실제처럼 보이지만 유효한 공격 표면이 아닌 웹사이트입니다. 이는 자리 표시자 페이지로, 일반적으로 실제 기능이 없으며 거의 전적으로 광고로 구성되어 있고, 일반적으로 실제 대상이 운영하지 않습니다. 이는 지정된 도메인이 잘못되었거나 만료된 경우 발생합니다. 이러한 페이지를 찾아 범위에서 제거하는 것은 시간이 지남에 따라 매우 가치 있습니다.

설정

pip에서 필요한 패키지 다운로드:

root@kitploit:~
sudo pip3 install -r requirements.txt

GPU 지원을 원하는 경우:

root@kitploit:~
sudo pip3 install -r requirements-gpu.txt

참고: TensorFlow와 함께 GPU를 설정하는 것은 이 README의 범위를 훨씬 벗어납니다. 하드웨어 호환성 고려 사항, 설치해야 할 드라이버 등등... 할 것이 많습니다. 따라서 GPU를 원한다면 이 부분은 스스로 해결해야 합니다. 그러나 적어도 Python 패키지 관점에서는 위의 requirements 파일이 커버해 줍니다.

사전 훈련된 가중치

최신 사전 훈련된 가중치는 GitHub의 릴리스에서 확인하세요.

훈련 데이터 훈련 데이터는 여기에서 찾을 수 있습니다:

https://www.kaggle.com/altf42600/pentest-screensots

훈련 데이터에서 필요한 두 가지:

  1. 모든 스크린샷(224x224로 크기 조정됨)이 포함된 images/ 폴더
  2. 모든 레이블이 있는 labels.csv

둘 다 Eyeballer 코드 트리의 루트에 복사하세요.

또한, 훈련 없이 바로 사용할 수 있는 사전 훈련된 가중치 파일도 찾을 수 있습니다.

  1. bishop-fox-pretrained-vN.h5

GitHub의 releases 섹션에서 최신 버전을 확인하세요.

레이블 예측

참고: 최상의 결과를 얻으려면 웹사이트를 기본 1.6x 화면 비율(예: 1440x900)로 스크린샷하세요. Eyeballer가 이미지를 자동으로 올바른 크기로 조정하지만, 화면 비율이 맞지 않으면 예측 성능에 영향을 미치는 방식으로 이미지가 찌그러집니다.

일부 스크린샷을 훑어보려면 "predict" 모드를 실행하세요:

root@kitploit:~
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png

또는 전체 디렉터리의 파일에 대해:

root@kitploit:~
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/

Eyeballer는 결과를 사람이 읽을 수 있는 형식(results.html 파일로 쉽게 탐색 가능)과 기계가 읽을 수 있는 형식(results.csv 파일)으로 출력합니다.

성능

Eyeballer의 성능은 전체 스크린샷 중 무작위로 선택된 20%의 평가 데이터 세트를 기준으로 측정됩니다. 이러한 스크린샷은 훈련에 사용되지 않으므로 모델의 성능을 효과적으로 확인할 수 있습니다. 다음은 최신 결과입니다:

전체 이진 정확도93.52%
올바른지 여부(All-or-Nothing) 정확도76.09%

전체 이진 정확도는 아마도 모델의 "정확도"라고 생각하는 것일 것입니다. 주어진 단일 레이블이 올바를 확률입니다.

올바른지 여부(All-or-Nothing) 정확도는 더 엄격합니다. 이미지의 모든 레이블을 고려하여 하나라도 틀리면 실패로 간주합니다. 이 정확도는 모델이 주어진 이미지에 대해 모든 레이블을 올바르게 예측할 확률입니다.

정밀도(Precision)와 재현율(Recall)에 대한 자세한 설명은 Wikipedia를 확인하세요.

훈련

새 모델을 훈련하려면 다음을 실행하세요:

root@kitploit:~
eyeballer.py train

합리적인 시간 내에 실행하려면 좋은 GPU가 장착된 시스템이 필요합니다. 그러나 그 설정은 이 README의 범위를 벗어납니다.

그러면 새 모델 파일(기본적으로 weights.h5)이 출력됩니다.

평가

방금 새 모델을 훈련했습니다. 좋습니다! 다양한 지표에 대해 이전에 본 적 없는 이미지에 대해 얼마나 잘 수행하는지 확인해 보겠습니다:

root@kitploit:~
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate

출력은 프로그램의 각 레이블(의사 레이블인 "none of the above" 포함)에 대한 재현율과 정밀도 모두에서 모델의 정확도를 설명합니다.

도구 다운로드
레이블정밀도(Precision)재현율(Recall)
사용자 정의 40480.20%91.01%
로그인 페이지86.41%88.47%
웹앱95.32%96.83%
오래된 사이트91.70%62.20%
파킹된 도메인70.99%66.43%