
당신의 스크린 샷에게 빠른 시선을주십시오.
Eyeballer는 대규모 웹 기반 호스트 세트에서 "흥미로운"목표를 찾아야하는 대규모 네트워크 침투 테스트를위한 것입니다. 평범한 (목격자 또는 고우 니스)와 같은 좋아하는 스크린 샷 도구를 사용한 다음 안구를 통해 실행하여 취약점을 포함 할 가능성이 무엇인지, 그렇지 않은지 알려주십시오.
https://eyeballer.bishopfox.com에서 라이브를 시도하십시오
| 구식 사이트 | 로그인 페이지 |
|---|---|
![]() | ![]() |
| webapp | 커스텀 404 |
|---|---|
![]() | ![]() |
| 주차 된 도메인 |
|---|
![]() |
구식 사이트는 블록 프레임, 깨진 CSS, 2000 년대 초에 설계된 것처럼 보이는 웹 사이트의 특정 "Je Ne Sais Quoi"가 있습니다. 당신은 그것을 볼 때 그것을 알고 있습니다. 오래된 웹 사이트는 추악 할뿐만 아니라 일반적으로 매우 취약합니다. 당신이 무언가를 해킹하려고 할 때,이 웹 사이트는 금광입니다.
로그인 페이지 로그인 페이지는 펜 테스트에 유용합니다. 현재 액세스 할 수없는 추가 기능이 있음을 나타냅니다. 또한 자격 증명 열거 공격의 간단한 후속 프로세스가 있음을 의미합니다. 로그인 페이지를 찾기 위해 간단한 휴리스틱을 설정할 수 있다고 생각할 수도 있지만 실제로는 어렵습니다. 최신 사이트는 우리가 grep 할 수있는 간단한 입력 태그 만 사용하지 않습니다.
WebApp 이것은 공격 할 표면적 역할을 할 수있는 더 큰 페이지 그룹과 기능이 여기에 있음을 알려줍니다. 이것은 다른 기능이없는 간단한 로그인 페이지와 대조적입니다. 또는 다른 기능이없는 기본 IIS 방문 페이지. 이 레이블은 여기에 공격 할 웹 응용 프로그램이 있음을 나타냅니다.
Custom 404 현대 사이트는 부러진 로봇이나 슬픈 개를 보여주는 귀여운 커스텀 404 페이지를 좋아합니다. 불행히도, 그들은 또한 HTTP 200 응답 코드를 반환하는 것을 좋아합니다. 더 자주, "404"페이지에는 텍스트 "404"가 포함되어 있지 않습니다. 이 페이지는 일반적으로 시각적으로 많은 일이 계속되고 있음에도 불구하고 이익이 없으며, 시선 러는 당신이 그들을 체로 낼 수 있도록 도와 줄 수 있습니다.
주차 된 도메인 주차 된 도메인은 실제처럼 보이지만 유효한 공격 표면은 아닙니다. 그것들은 일반적으로 실제 기능이없는 스탠드 인 페이지이며 거의 전적으로 광고로 구성되며 일반적으로 실제 목표에 의해 실행되지 않습니다. 지정된 도메인이 잘못되었거나 랩이있을 때 얻는 것입니다. 이 페이지를 찾아서 범위에서 제거하는 것은 시간이 지남에 따라 가치가 있습니다.
PIP에서 필요한 패키지 다운로드 :
sudo pip3 install -r requirements.txt
또는 GPU 지원을 원한다면 :
sudo pip3 install -r requirements-gpu.txt
참고 : Tensorflow와 함께 사용할 GPU를 설정하는 것은이 readme의 범위를 벗어납니다. 고려해야 할 하드웨어 호환성이 있습니다. 설치해야 할 드라이버가 많이 있습니다. 그래서 당신은 GPU를 원한다면이 부분을 스스로 파악해야 할 것입니다. 그러나 적어도 Python 패키지 관점에서 위의 요구 사항 파일이 다루었습니다.
사전에 가중 된 무게
최신 사기 무게는 github에서 릴리스를 확인하십시오.
교육 데이터 여기에서 교육 데이터를 찾을 수 있습니다.
https://www.kaggle.com/altf42600/pentest-screensots
교육 데이터에서 필요한 두 가지가 있습니다.
images/ 폴더 (224x224로 크기)labels.csvEyeballer 코드 트리의 루트에 두 가지를 모두 복사하십시오.
또한 훈련없이 상자에서 바로 사용할 수있는 사기꾼 웨이트 파일을 찾을 수 있습니다.
bishop-fox-pretrained-vN.h5 여기 Github에 있습니다. 최신 releases 섹션을보십시오.
참고 : 최상의 결과를 얻으려면 웹 사이트를 1.6 배의 종횡비로 스크린 샷하십시오. IE : 1440x900. Eyeboller는 이미지를 올바른 크기로 자동으로 축소하지만, 종횡비가 잘못된 경우 예측 성능에 영향을 미치는 방식으로 낭비됩니다.
일부 스크린 샷을 안경하려면 "예측"모드를 실행합니다.
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
또는 전체 파일 디렉토리의 경우 :
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
Eyeballer는 인간 읽기 가능한 형식 ( results.html 파일을 쉽게 찾아 볼 수 있도록 results.html 파일)과 기계 읽기 가능한 형식 ( results.csv 파일)으로 결과를 다시 뱉어냅니다.
Eyeballer의 성능은 평가 데이터 세트에 대해 측정되며, 이는 무작위로 선택된 전체 스크린 샷의 20%입니다. 이러한 스크린 샷은 훈련에 사용되지 않기 때문에 모델이 얼마나 잘 수행되는지 확인하는 효과적인 방법이 될 수 있습니다. 최신 결과는 다음과 같습니다.
| 전반적인 이진 정확도 | 93.52% |
|---|---|
| 전적으로 또는 전혀 정확한 정확도 | 76.09% |
전반적인 이진 정확도 는 아마도 모델의 "정확도"로 생각하는 것일 것입니다. 단일 레이블이 주어지면 맞습니다.
전적으로 또는 전혀없는 정확도가 더 엄격합니다. 이를 위해 이미지의 모든 레이블을 고려하고 라벨이 잘못된 경우 실패로 간주합니다. 이 정확도 등급은 모델이 특정 이미지의 모든 레이블을 올바르게 예측할 가능성입니다.
| 상표 | 정도 | 상기하다 |
|---|---|---|
| 커스텀 404 | 80.20% | 91.01% |
| 로그인 페이지 | 86.41% | 88.47% |
| webapp | 95.32% | 96.83% |
| 오래된 외모 | 91.70% | 62.20% |
| 주차 된 도메인 | 70.99% | 66.43% |
Precision vs Recall에 대한 자세한 설명은 Wikipedia를 확인하십시오.
새로운 모델을 훈련 시키려면 실행 :
eyeballer.py train
당신은 합리적인 시간 안에 좋은 GPU가있는 기계를 원할 것입니다. 그러나 설정은이 readme의 범위를 벗어납니다.
새 모델 파일 (기본적으로 weights.h5)을 출력합니다.
방금 새로운 모델을 훈련 시켰습니다. 다양한 메트릭스에서 이전에 본 적이없는 일부 이미지에 대해 얼마나 잘 수행되는지 봅시다.
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
출력은 각 프로그램 라벨에 대한 리콜과 정밀도 모두에서 모델의 정확도를 설명합니다. (의사 라벨로서 "위의 없음"포함)