
모의 침투 테스터(Pentester)는 정보 수집 단계에서 너무 많은 시간을 소비합니다. Flashlight(Fener)는 네트워크/포트 스캔과 대상 네트워크에 대한 정보를 신속하게 수집하는 서비스를 제공합니다. 따라서 Flashlight는 침투 테스트 중 발견(discovery) 단계를 자동화하기 위한 선택이 되어야 합니다. 이 문서에서는 Flashlight 애플리케이션의 사용법을 설명합니다.
침투 테스터를 위한 자동 정보 수집 도구https://www.youtube.com/watch?v=EUMKffaAxzs&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=4 https://www.youtube.com/watch?v=qCgW-SfYl1c&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=5 https://www.youtube.com/watch?v=98Soe01swR8&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=6 https://www.youtube.com/watch?v=9wft9zuh1f0&list=PL1BVM6VWlmWZOv9Hv8TV2v-kAlUmvA5g7&index=7
침투 테스터는 정보 수집 단계에서 너무 많은 시간을 소비합니다. Flashlight(Fener)는 대상 네트워크에서 네트워크/포트를 스캔하고 정보를 신속하게 수집하는 서비스를 제공합니다. 따라서 Flashlight는 침투 테스트 중 자동 발견 단계를 수행하는 데 선택되어야 합니다. 이 글에서는 Flashlight 애플리케이션의 사용법을 설명합니다.
Flashlight 사용에 대한 자세한 내용은 "-h" 또는 "-help" 옵션을 사용할 수 있습니다.
이 애플리케이션의 사용을 위한 매개변수는 아래와 같이 나열될 수 있습니다.
phantomjs를 쉽게 설치하려면 https://bitbucket.org/ariya/phantomjs/downloads 에서 다운로드하여 압축을 풀면 됩니다.
Flashlight 애플리케이션은 3가지 기본 스캔 유형과 1가지 분석 유형을 수행할 수 있습니다. 각각은 아래에 나열되어 있습니다.
수동 스캔에서는 패킷이 네트워크로 전송되지 않습니다. 이 유형의 스캔은 네트워크를 청취하고 패킷을 분석하는 데 사용됩니다.
Flashlight를 사용하여 수동 스캔을 시작하려면 "passive-pro-01"과 같은 프로젝트 이름을 지정해야 합니다. 다음 명령에서 eth0으로 캡처된 패킷은 "/root/Desktop/flashlight/output/passive-project-01/pcap" 디렉토리에 저장되고, PCAP 파일과 모든 로그는 "/root/Desktop/log" 디렉토리에 저장됩니다.
./flashlight.py -s passive -p passive-pro-01 -i eth0 -o /root/Desktop/flashlight_test -l /root/Desktop/log –v
스캔이 완료되면 "/root/Desktop/" 디렉토리에 "flashlight_test"라는 새 디렉토리와 "log"라는 로그 파일이 생성됩니다.
"flashlight_test"의 디렉토리 구조는 아래와 같습니다. PCAP 파일은 "/root/Desktop/flashlight_test/output/passive-pro-01/pcap" 디렉토리에 저장됩니다. 이 PCAP 파일은 분석 목적으로 사용될 수 있습니다. ls /root/Desktop/flashlight_test -R
로그 파일의 내용은 명령줄 출력과 같습니다:
표준 수동 스캔 중에는 브로드캐스트 패킷과 스캔 대상 머신으로의 직접 패킷이 캡처됩니다. 또한 "-mim/-m" 매개변수를 사용하여 ARP 스푸핑 및 MITM 공격을 수행할 수 있습니다.
./flashlight.py -s passive -p passive-project-02 -i eth0 -g 192.168.74.2 -m -k 50 -v
캡처된 PCAP 파일을 분석하면 HTTP 트래픽을 볼 수 있습니다.
Basic Authentication 메시지를 디코딩하여 웹 서버에 대한 접속 정보를 나타내는 자격 증명을 얻을 수 있습니다.
수동 스캔 중의 모든 매개변수는 아래에 나열되어 있습니다.
./flashlight.py -s passive -p passive-pro-03 -i eth0 -g 192.168.74.2 -m -k 50 -o /root/Desktop/flashlight_passive_full -l /root/Desktop/log -v
활성 스캔 중에는 구성 파일을 읽어 NMAP 스크립트가 사용됩니다. 예제 구성 파일(flashlight.yaml)은 작업 디렉토리 아래의 "config" 디렉토리에 저장되어 있습니다.
tcp_ports:
- 21, 22, 23, 25, 80, 443, 445, 3128, 8080
udp_ports:
- 53, 161
scripts:
- http-enum
screen_ports: - 80, 443, 8080, 8443
"flashlight.yaml" 구성 파일에 따라 스캔은 NMAP을 사용하여 "21, 22, 23, 25, 80, 443, 445, 3128, 8080" TCP 포트, "53, 161" UDP 포트, "http-enum" 스크립트에 대해 실행됩니다.
참고: 활성 스캔 중에는 "screen_ports" 옵션이 유용하지 않습니다. 이 옵션은 화면 스캔에서만 작동합니다.
"-a" 옵션은 ICMP 패킷을 전송하여 활성 호스트를 발견하는 데 유용합니다. 또한 "-t" 매개변수를 사용하여 스레드 수를 늘리면 스캔 속도가 빨라집니다.
./flashlight.py -p active-project -s active -d 192.168.74.0/24 –t 30 -a -v
이 명령을 실행하면 세 가지 다른 형식(일반, XML, Grepable)의 출력 파일이 네 가지 스캔 유형(운영 체제 스캔, Ping 스캔, 포트 스캔, 스크립트 스캔)에 대해 생성됩니다.
Flashlight 애플리케이션이 실행하는 예제 명령은 다음과 같습니다:
효과적이고 최적화된 활성 스캔을 실행하려면 "-n" 매개변수를 사용할 수 있습니다:
./flashlight.py -p active-project -s active -d 192.168.74.0/24 -n -a –v
"-n" 매개변수는 아래 표시된 추가 NMAP 옵션을 추가합니다:
… -min-hostgroup 64 -min-parallelism 64 -host-timeout=300m -max-rtt-timeout=600ms -initial-rtt-timeout=300ms -min-rtt-timeout=300ms -max-retries=2 -min-rate=150 …
화면 스캔은 구성 파일(flashlight.yaml)의 지시어를 사용하여 웹 사이트/애플리케이션의 스크린샷을 얻는 데 사용됩니다. 이 파일의 지시어는 네 개의 포트("80, 443, 8080, 8443")에 대한 화면 스캔을 제공합니다.
screen_ports:
- 80, 443, 8080, 8443
샘플 화면 스캔은 다음과 같이 수행할 수 있습니다:
./flashlight.py -p project -s screen -d 192.168.74.0/24 -r /usr/local/rasterize.js -t 10 -v
예를 들어, 이 명령을 실행하면 세 개의 웹 애플리케이션이 감지된다고 가정해 보십시오. 이 웹 사이트들의 스크린샷은 "screen" 하위 폴더에 저장됩니다. 이 스크린샷은 오프라인 분석에 사용될 수 있습니다.
./flashlight.py -p filter-project -s filter -f /root/Desktop/flashlight/output/passive-project-02/pcap/20150815072543.pcap -v
이 명령을 실행하면 "filter" 하위 폴더에 일부 파일이 생성됩니다.
이 옵션은 다음 속성에 따라 PCAP 패킷을 분석합니다: