
LNHG - 대량 웹 지문 분석기
"LowNoiseHG (LNHG) 대규모 웹 핑거프린터"(이하 "mwebfp")는 2013년 7월, 대규모 외부 또는 내부 IP 주소 범위에 대한 침투 테스트 과정에서 웹 서버 스크린샷이 중요한 자산 식별, 취약 공격 가능 서비스, 방치/구식 서버, 대상 기본 네트워크 아키텍처 파악을 위한 빠른 수단으로 유용하다는 인식 하에 고안되었습니다.
mwebfp의 기본 동작은 입력(대상 및 TCP 포트)을 처리한 후, 강력한 포트 스캐너(nmap)를 사용하여 열려 있는 웹 서버 포트를 식별하는 것입니다. 발견된 모든 열린 포트는 HTTP 및 HTTPS로 분석되며, 모든 관련 웹 서버 정보가 기록되고 렌더링된 웹 페이지의 스크린샷(브라우저에서 보이는 대로)이 저장됩니다.
# LowNoiseHG Massive Web Fingerprinter
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to ET, c4an, Th3R3g3nt, ch0ks and ElJeffe311
# for inspiration, ideas and debugging/beta-testing help.
usage: mwebfp.py [-h]
[-i INPUT_RANGE | -n SERVER_NAME | -f INPUT_FILE | -r]
[-p HTTP_PORTS] [-s HTTPS_PORTS] [-o OUTPUT_DIR]
[-t {HTML,XLS,CSV,XML}] [-v {yes,no}] [-w {yes,no}]
optional arguments:
-h, --help show this help message and exit
-i INPUT_RANGE, --input-range INPUT_RANGE
input IP CIDR range
-n SERVER_NAME, --server-name SERVER_NAME
name of server (DNS name)
-f INPUT_FILE, --input-file INPUT_FILE
input file containing IP addresses and/or IP ranges
-r, --recover recover/continue previous process
-p HTTP_PORTS, --http-ports HTTP_PORTS
TCP HTTP ports (Default: 80/tcp)
-s HTTPS_PORTS, --https-ports HTTPS_PORTS
TCP HTTPS ports (Default: 443/tcp)
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
working directory
-t {HTML,XLS,CSV,XML}, --output-format {HTML,XLS,CSV,XML}
output report format (Default: HTML)
-v {yes,no}, --vhosts {yes,no}
choice of processing vhosts for each IP address
(Default: no)
-w {yes,no}, --web-screenshots {yes,no}
choice of taking web schreenshots (Default: no)
**LowNoiseHG (LNHG)**의 대부분의 연구개발과 마찬가지로, 이 도구는 단지 유용성을 위해 설계 및 개발되었으며 재정적 지원이나 할당된 시간 없이 진행되었습니다. 모든 개발은 개인 시간에만 이루어졌으며, 흥미로운 기능이 떠오르고 다른 프로젝트를 고려하여 시간이 허락할 때 계속될 것입니다.
현재 버전은 매우 잘 작동하지만, 여전히 수정해야 할 약간의 사소한 문제(버그)가 있으며, 개선할 수 있는 기본 기능들이 있습니다.
진행 중인 기능:
알려진 버그:
mwebfp 및 모든 관련 코드는 GPL v3 오픈소스 라이선스에 따라 배포됩니다. 전체 라이선스는 LICENSE.md 파일에 포함되어 있습니다.
mwebfp를 "out-of-the-git" 상태에서 모든 옵션을 활성화하여 실행하려면 다음이 필요합니다.
참고: mwebfp는 Kali, Ubuntu 및 Debian에서 개발 및 테스트되었습니다. 여러분이 선택한 다른 플랫폼에서도 작동하게 할 수 있다고 확신합니다 ;)
$ sudo apt-get install -y nmap python python-nmap python-requests git
이 작업에는 apt-get을 사용하지 마십시오. 운영체제에서 제공하는 버전도 사용하지 마십시오. 현재 버전이 mwebfp에서 작동하는지 확인하려면 'cutycapt --help'를 실행하고 '--insecure' 옵션이 있는지, 또는 저작권이 '2003-2010'인지 '2003-2013'인지 확인하십시오(도움말의 마지막 줄 확인). mwebfp와 함께 cutycapt를 사용하려면 '--insecure' 또는 저작권 '2003-2013'이 필요합니다. 최신 버전이 필요하면 현재 버전을 제거하고 다음 단계를 수행하십시오.
$ cd /opt
$ sudo apt-get install -y subversion g++ libqt4-webkit libqt4-dev
$ sudo svn checkout svn://svn.code.sf.net/p/cutycapt/code/ cutycapt
$ cd cutycapt/CutyCapt
파일 ./CutyCapt.hpp을 수정하고, 첫 번째 줄의 '#include <QtWebKit>' 뒤에 다음 두 줄을 포함시키십시오:
#include <QNetworkReply>
#include <QSslError>
그런 다음:
$ sudo qmake
$ sudo make
$ sudo cp CutyCapt /usr/local/bin/
'--insecure' 매개변수 또는 '2003-2013' 저작권을 다음과 같이 테스트할 수 있습니다:
$ cutycapt --help
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/mwebfp.git
$ cd mwebfp
$ ./mwebfp -i 10.0.0.0/8 -o OutputDir -w yes -v no
언제든지 전체 옵션 목록을 확인하려면:
$ ./mwebfp -h