[원문: http://tools.kali.org/information-gathering/dnmap]


정의

dnmap is a framework to distribute nmap scans among several clients. It reads an already created file with nmap commands and send those commands to each client connected to it.


The framework use a client/server architecture. The server knows what to do and the clients do it. All the logic and statistics are managed in the server. Nmap output is stored on both server and client.


Usually you would want this if you have to scan a large group of hosts and you have several different internet connections (or friends that want to help you).

 간략하게 dnmap은 서버와 클라이언트로 구성되어 있으며 이미 만들어진 nmap 명령어를 통해 각각의 클라이언트는 실행하게 된다. nmap의 output은 서버와 클라이언트 각각에 저장이 된다.

[사진 출처: http://raidersec.blogspot.kr/2013/01/distributed-port-scanning-creating-nmap.html]

위에서 언급했듯이 사진을 보면 미리 지정한 nmap파일이 있고 서버는 클라이언트로 전달하게 된다. 이 때 TLS Encryption을 사용한다. 각각의 클라이언트는 nmap scan을 수행하게 된다. nmap 수행 시 부하가 있을 수 있는데 dnmap을 통해 부하를 여러 클라이언트로 분산시킬 수 있는 효과를 볼 수 있다.


-dnmap_client

• If the server gets down, it keeps connecting to it until it gets up again.

- 서버 다운시, 다시 실행될 때까지 연결 유지

• Strip strange characters from the command sent by the server. Tries to avoid command injection vulns.

- 전송 명령에서 이상한 문자 존재 시 명령 회피 시도

• It only executes the nmap command. It deletes the command send by the server and changes it by the

known and trusted nmap binary on the system.

- nmap 명령어로만 실행.

• You can select an alias for your user.

- 별칭 선택 가능

• You can change which port the client connects to.

- 클라이언트가 서버 연결할 때 포트 변경 가능

• If the command sent by the server does not have a -oA option, the client add it anyway to the command, so

it will always have a local copy of the output.

- 서버에서 보낸 명령 중 -oA 옵션이 없더라도 클라이언트는 명령 내용을 항상 로컬에 복사

USAGE ./dnmap_client -s <server-ip> -a <alias> (start any number of clients)


-dnmap_server

• If the server gets down, clients continue trying to connect until the server gets back online. 

- 서버 다운시, 클라이언트는 서버가 켜질 때까지 계속해서 연결 시도

• If the server gets down, when you put it up again it will send commands starting from the last command given before the shutdown. You do not need to remember where it was. 

- 서버 다운시, 마지막 명령에서부터 다시 전송 가능

• You can add new commands to the original file without having to stop the server. The server will read them automatically. 

- 새로운 명령어를 original파일에 추가시키고 싶을 때 서버를 멈추지 않아도 추가 가능. 서버는 자동적으로 읽음

• If some client goes down, the server will remember which command it was executing and it will re-schedule it for later. 

- 몇몇 클라이언트 다운시, 서버는 명령어를 기억하고 클라이언트 실행 시 재 전송 시작

• It will store every detail of the operations in a log file. 

- 로그파일 모든 상세 내용 저장

• It shows real time statistics about the operation of each client You can choose which port to use. Defaults to 46001. Only the Online clients are shown in the running stats. 

- 각각의 클라이언트 동작에 관한 실시간 통계 출력. 사용된 포트 선택 가능(기본값: 46001)

USAGE ./dnmap_server -f commands.txt (start dnmap server)


Usage

-dnmap_client

-dnmap_server


Example

환경구성

server:192.168.100.14(kali)

client:192.168.100.14(kali)    -같은 pc로 그냥 진행함

target: 192.168.100.5(ubuntu)

1. create nmap command file

2. start up the server

이 때 위에 저장한 파일을 -f옵션으로 지정해준다.

3. start up the client

#dnmap_client -s <sever ip> -a <alias>

4. wating client

-server로 클라이언트가 붙은 것을 확인할 수 있다.

위의 작업을 수행하면 아래와 같이 로그가 생성되는 것을 확인할 수 있다.

위의 내용 중 cat한 화면이다.

위의 화면과 같이 192.168.100.5에 대한 정보를 확인할 수 있다.

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering11]dnsmap  (0) 2016.02.24
[Information-Gathering10]dnsenum  (0) 2016.02.24
[Information-Gathering08]DMitry  (0) 2016.02.24
[Information-Gathering07]copy-router-config  (0) 2016.02.24
[Information-Gathering06]cookie cadger  (0) 2016.02.23

+ Recent posts