본문으로 바로가기

첫번째 : 네트워크 환경 분석


호스트 확인과정 - 실 호스트 확인


앞에서 정한 DNS 정보로 진단 대상의 범위를 지정하고, 이번에 나오는 도구들을 활용하여 실제 서비스의 작동 여부와 포트 정보를 확인한다.





1. 정보 수집 사이트


http://archive.org 에서 히스토리 정보 확인 가능

SHODAN 에서 익스플로잇 검색 가능





2. traceroute 


네트워크 정보 확인하는 도구. 목적지로 가는 동안 경유하는 라우터를 기록한다.

옵션으로 IPv4,IPv6, 패킷분할, TTL값 지정, 사용 패킷 지정 등등을 할 수 있다.


위치 : 칼리리눅스에서는 따로 위치가 없지만 traceroute명령어를 이용해 사용 가능






3. 0trace 


네트워크 정보 확인 도구. traceroute처럼 경로를 보여준다. snmp와 http 세션을 이용해 체크

위치 : Infomation Gathering - Route Analysis - 0trace

  /usr/bin/0trace


명령어 형식은 /usr/bin/0trace.sh eth0(interface) target_ip [ target_port ]

명령어 입력후 [+] Waiting for traffic from target on eth0... 가 떴을 때 

웹 브라우저를 통해 해당 주소에 접속하면 80포트를 이용해 http 세션이 맺어지기 때문에 결과가 나온다.

(연결 안하면 계속 대기중)







4. hping


방화벽 테스트, 고급 포트 스캐닝, 네트워크 테스트, TCP/IP 스택 감사, 가동시간 추측 등의 기능이 있다.


주요 옵션 / Mode 옵션 / IP 주요 옵션 / ICMP 주요 옵션 / UDP,TCP 주요 옵션 / 공통 옵션등이 존재하며 칼리 리눅스에서는 hping3로 업데이트 되었다.

위치 : Infomation Gathering - Live Host Identification - hping3

  /usr/sbin/hping3

1) hping3 -c 10 192.168.0.38
 자기 자신에게 패킷 10개 보내기 (와이어샤크로 찍어보면 TCP패킷이 날아간다. SYN)
2) hping3 --scan 1-300 -S 192.168.0.38
 오픈 포트 스캔



5. protos


위치 : x

  /usr/sbin/protos

ip프로토콜 스캐너, IP,ICMP의 Unreachable을 이용해 사용 중인 프로토콜 확인

'-V' 옵션을 붙이면 사용하지 않는 프로토콜의 목록을 보여준다.







6. netenum 


호스트 목록을 빠르게 보여주는 기본적인 Ping-Sweep 및 열거 도구

위치 : x

  /usr/sbin/netenum

명령어 : netenum <네트워크 대역> <timeout> <verbosity>

timeout은 응답을 기다리는 최대 시간을 지정. 지정하지 않으면 모든 호스트 IP가 나열되는 오탐이 발생

verbosity 레벨을 지정(0~3) 권장,기본값 : 0


<스크립트 작성>

import os

import sys

import os.path


file = open("server.txt")

for line in file.readlines():

print line

os.system('./netenum'+line[:-1] + ' 10 0 > ' +line[:-4]+ '.txt')

if not line:

break

pass # do something