본문 바로가기
칼리리눅스와 백트랙을 활용한 모의해킹

[정보 수집 단계] 서비스 정보 수집

by 6unoh 2015. 9. 1.

1.Nmap 

Nmap은 2015년 보안도구 top10에 드는 도구로 포트 스캔과 취약점 진단을 위한 대표적인 도구입니다.

Nmap은 스캔 종류에 대해 알아야 합니다.

Port Scanning.pdf

NMAP기본 문서는 Nmap에 옵션에 대한 것입니다.

NMAP 기본.pdf



Nmap NSE

주요 기능

- 기존 Nmap 에 NFS, SMB, RPC 등 상세한 서비스 정보들 수집 가능

- 도메인 lookup, whois 검색, 다른 네트워크 대역 서버의 백도어 설치여부, 취약점 여부 등 파악

- Lua 인터프리터 스크립트 언어 기반, ANSIC 기반의 C, C++, Lua 사용 가능

경로

- /usr/local/share/nmap

/usr/local/share/nmap/nselib : NSE 라이브러리 저장 장소

/usr/local/share/nmap/scripts : 스크립트 저장 장소, 새로운 스크립트 제작되면 확장자 'nse' 로 하여 이 경로에 저장

주요 스크립트

- # nmap --script "default of safe" : default 나 safe 카테고리 검색

- # nmap --script "default and not http-*" : default 이면서 http-*의 파일이 아닌 카테고리 검색

- # nmap --script-args =,={=},={,} : 작성자가 스크립트를 직접 정의

- # nmap --script "http-*" : http-로 시작하는 모든 파일 스캔

- # nmap --script "not intrusive" : intrusive 만 제외하고 검색

- # nmap --script-trace : 경로 확인

- # nmap --script-updatedb : scripts/script.db의 정보를 업데이트

2.Dnmap

Dnmap은 서버와 클라이언트로 이루어져 있으며 서버가 클라이언트로 nmap명령을 보내면 클라이언트가 내용을 받아 실행합니다.

Dnmap 서버의 특징

 - 서버가 다운 됐을 경우 처음부터 다시 작업을 하지 않고 이어서 작업이 가능합니다.

 - 서버가 가동 중이어도 새로운 명령을 추가할 수 있습니다.

 - 일부 클라이언트가 다운된 경우 서버는 클라이언트가 다운되기 직전의 명령을 기억한 후    다시 클라이언트에게 명령을 보냅니다.

 - 작업 내용을 로그로 저장합니다.

 - 실시간으로 통계를 보여줍니다.(실행된 명령 수, 마지막 보고, 가동 시간, 버전...)

서버 주요 옵션

 -f 

 nmap 명령이 저장돼 있는 파일

 -p 

 Dnmap 클라이언트가 서버에 연결할 TCP 포트

 -L 

 로그파일

 -l

 로그 레벨

 -v

 자세히 보기 레벨(1~5)

 -t

 클라이언트가 지정한 시간만큼 응답이 없는 경우 다운으로 판단

 -s

 정렬할 필드 값 지정

 -p

 TLS 연결 시 사용할 pem 파일 지정


Dnamp 클라이언트 특징

 - 서버가 다운된 경우 다시 실행 될 때까지 연결을 유지합니다.

 - 서버에서 전송되는 명령중 이상한 문자가 있으면 문자를 제거합니다.

 - 사용자의 별칭을 선택할 수 있습니다.

 - 클라이언트가 서버로 연결하는 포트를 별경할 수 있습니다.

 - 클라이언트는 명령에 대한 출력을 항상 로컬 복사를 합니다.

클라이언트 주요 옵션

 -s

 Dnmap 서버 IP

 -p

 Dnmap 서버가 대기하고 있는 TCP 포트

 -a

 별칭

 -d

 디버깅

 -m

 nmap 명령을 수행 할 때 속도 지정

명령어

dnmap_[server/client] [옵션]


3.httprint

httprint는 HTTP 서버 소프트웨어와 버전을 탐지할 때 이용합니다.

칼리리눅스는 지원하지 않습니다.

주의사항

- 저장된 시그니처 집합에 존재하는 http 서버만 식별 가능

- 시그니처 DB에 없는 http 서버를 테스트할 때에는 가장 유사한 http 서버 내용을 보여준다.

- 테스트 PC와 서버 사이에 http 프록시가 없어야 한다.

- ICMP 패킷을 막았다면 테스트가 불가능하다

메뉴위치 : Information Gathering -> Network Anlaysis -> Service Fingerprinting ->httprint

경로 : /pentest/enumeration/web/httprint

명령어 httprint [옵션] [대상] [시그니쳐 option] [대상 시그니쳐]



댓글