02_Metasploit
.pdfОтчет по лабораторной работе 2:
Nmap Metasploit
Семён Мартынов
<semen.martynov@gmail.com>
25 мая 2015 г.
Содержание
1 Утилита для исследования сети и сканер портов Nmap |
2 |
|
1.1 |
Цель работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
2 |
1.2 |
Ход работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
2 |
1.2.1Определение набора и версии сервисов запущенных на компьютере в диапазоне адресов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2Просканировать виртуальную машину Metasploitable2 используя db_nmap из состава metasploitframework . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.3Выбрать пять записей из файла nmap-service-probes и описать их работу. 16
1.2.4Выбрать один скрипт из состава Nmap и описать его работу. . . . . . 18
1.3Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Инструмент тестов на проникновение Metasploit |
20 |
2.1 Цель работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
20 |
2.2Ход работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1Описать последовательность действий для получения доступа к консоли 20
2.2.2Изучить три файла с исходным кодом эксплойтов или служебных
скриптов на ruby и описать, что в них происходит . . . . . . . . . . . |
25 |
2.3 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
29 |
1
1Утилита для исследования сети и сканер портов Nmap
1.1Цель работы
Изучение работы программы Nmap на примере локальной домашней сети и сети из виртуальных машин с Kali Linux и Metasploitable2.
1.2Ход работы
Эта часть работы выполняется в домашней сети 192.168.124.0/24, построенной на технологиях Fast Ethernet (IEEE 802.3u) и WiFi (IEEE 802.11n).
1.2.1Определение набора и версии сервисов запущенных на компьютере в диапазоне адресов
1.2.1.1 Провести поиск активных хостов Для сканирования сети будет использована команда:
nmap -sn 192.168.124.3-255
Сочетание ключей s и n приводит к быстрому сканированию (т.е. без сканирования портов). Иногда это называют "ping scan"(и в старых версиях для этого использовалось sP"). Цель задана диапазоном IP адресов, из которого исключен роутер, и машины, с которой проводилось сканирование.
Результат сканирования:
$ nmap -sn 192.168.124.3-255
Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-18 01:01 MSK Nmap scan report for 192.168.124.4
Host is up (0.020s latency).
Nmap scan report for 192.168.124.100
Host is up (0.00030s latency).
Nmap scan report for 192.168.124.195
Host is up (0.034s latency).
Nmap scan report for 192.168.124.239
Host is up (0.042s latency).
Nmap scan report for 192.168.124.249
2
Host is up (0.038s latency).
Nmap done: 253 IP addresses (5 hosts up) scanned in 2.43 seconds
1.2.1.2 Определить открытые порты Определим состояние 10 наиболее популярных портах на хостах из того же диапазона (стоит отметить, что хостов стало меньше)
$ nmap --top-ports 10 192.168.124.3-255
Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-18 01:26 MSK Nmap scan report for 192.168.124.4
Host is up (0.0057s latency).
PORT |
STATE |
SERVICE |
21/tcp |
closed |
ftp |
22/tcp |
open |
ssh |
23/tcp |
closed |
telnet |
25/tcp |
closed |
smtp |
80/tcp |
closed |
http |
110/tcp |
closed |
pop3 |
139/tcp |
closed |
netbios-ssn |
443/tcp |
closed |
https |
445/tcp |
closed |
microsoft-ds |
3389/tcp |
closed |
ms-wbt-server |
Nmap scan report for |
192.168.124.100 |
||
Host is up (0.00026s |
latency). |
||
PORT |
STATE |
SERVICE |
|
21/tcp |
closed |
ftp |
|
22/tcp |
open |
ssh |
|
23/tcp |
closed |
telnet |
|
25/tcp |
closed |
smtp |
|
80/tcp |
closed |
http |
|
110/tcp |
closed |
pop3 |
|
139/tcp |
open |
netbios-ssn |
|
443/tcp |
closed |
https |
|
445/tcp |
open |
microsoft-ds |
|
3389/tcp |
closed |
ms-wbt-server |
3
Nmap scan report for 192.168.124.244
Host is up (0.017s latency).
PORT |
STATE |
SERVICE |
21/tcp |
closed |
ftp |
22/tcp |
closed |
ssh |
23/tcp |
closed |
telnet |
25/tcp |
closed |
smtp |
80/tcp |
closed |
http |
110/tcp |
closed |
pop3 |
139/tcp |
closed |
netbios-ssn |
443/tcp |
closed |
https |
445/tcp |
closed |
microsoft-ds |
3389/tcp |
closed |
ms-wbt-server |
Nmap scan report for 192.168.124.249
Host is up (0.035s latency).
PORT |
STATE |
SERVICE |
21/tcp |
closed |
ftp |
22/tcp |
closed |
ssh |
23/tcp |
closed |
telnet |
25/tcp |
closed |
smtp |
80/tcp |
closed |
http |
110/tcp |
closed |
pop3 |
139/tcp |
closed |
netbios-ssn |
443/tcp |
closed |
https |
445/tcp |
closed |
microsoft-ds |
3389/tcp |
closed |
ms-wbt-server |
Nmap done: 253 IP addresses (4 hosts up) scanned in 2.79 seconds
1.2.1.3 Определить версии сервисов Дополнение команды ключом V приведет к определению версий (где это возможно).
$ nmap -sV 192.168.124.3-255
Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-18 01:34 MSK Nmap scan report for 192.168.124.4
4
Host is up |
(0.029s latency). |
|
Not shown: |
999 closed ports |
|
PORT STATE SERVICE VERSION |
||
22/tcp open |
ssh |
OpenSSH 6.8 (protocol 2.0) |
Nmap scan report for |
192.168.124.100 |
|
Host is up |
(0.00018s |
latency). |
Not shown: |
997 closed ports |
PORT |
STATE |
SERVICE |
VERSION |
|
22/tcp |
open |
ssh |
(protocol 2.0) |
|
139/tcp |
open |
netbios-ssn Samba smbd 3.X |
(workgroup: IDEAPAD) |
|
445/tcp open |
netbios-ssn Samba smbd 3.X |
(workgroup: IDEAPAD) |
||
1 service unrecognized despite returning |
data. If you know the |
service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi : SF-Port22-TCP:V=6.40%I=7%D=5/18%Time=55591797%P=x86_64-pc-linux-gnu%r(NULL SF:,29,"SSH-2\.0-OpenSSH_6\.6\.1p1\x20Ubuntu-2ubuntu2\r\n");
Nmap scan report for 192.168.124.244
Host is up (0.0080s latency).
All 1000 scanned ports on 192.168.124.244 are closed
Nmap scan report for 192.168.124.249
Host is up (0.0041s latency).
Not shown: 999 closed ports
PORT STATE SERVICE VERSION 62078/tcp open tcpwrapped
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 253 IP addresses (4 hosts up) scanned in 54.77 seconds
1.2.1.4 Изучить файлы nmap-services, nmap-os-db, nmap-service-probes Служебный файл nmap-services представляет из себя базу данных портов и протоколов (отрывок файла приведён в листинге 1). Каждая запись имеет число, определяющее вероятность того, что порт может быть открыт.
5
Большинство строк имеют комментарии, которые Nmap игнорирует, но пользователь может использовать GREP для получения информации о том или ином номере порта. Этот файл был изначально построен на базе список IANA, в котором сервисам распределялись порты (http://www.iana.org/assignments/port-numbers), но IANA не отслеживает порты троянов, червей и т.п., что является важным для многих пользователей Nmap.
Листинг 1: Отрывок файла nmap-services
23 |
tcpmux |
1/ tcp |
0.001995 |
# |
TCP Port Service Multiplexer [rfc -1078] |
|||||||
24 |
tcpmux |
1/ udp |
0.001236 |
# |
TCP |
Port Service Multiplexer |
||||||
25 |
compressnet |
2/ tcp |
0.000013 |
|
# Management Utility |
|||||||
26 |
compressnet |
2/ udp |
0.001845 |
|
# Management Utility |
|||||||
27 |
compressnet |
3/ tcp |
0.001242 |
|
# Compression Process |
|||||||
28 |
compressnet |
3/ udp |
0.001532 |
|
# |
Compression Process |
||||||
29 |
unknown |
4/ tcp |
0.000477 |
|
|
|
|
|
|
|||
30 |
rje |
5/ udp 0.000593 |
# |
Remote |
Job |
Entry |
||||||
31 |
unknown |
6/ tcp |
0.000502 |
|
|
|
|
|
|
|||
32 |
echo |
7/ sctp |
|
0.000000 |
|
|
|
|
|
|
||
33 |
echo |
7/ tcp |
0.004855 |
|
|
|
|
|
|
|||
34 |
echo |
7/ udp |
0.024679 |
|
|
|
|
|
|
|||
35 |
unknown |
8/ tcp |
0.000013 |
|
|
|
|
|
|
|||
36 |
discard |
9/ sctp |
0.000000 |
# |
sink |
null |
||||||
37 |
discard |
9/ tcp |
0.003764 |
# |
sink |
null |
|
|||||
38 |
discard |
9/ udp |
0.015733 |
# |
sink |
null |
|
|||||
39 |
unknown |
10/ tcp |
0.000063 |
|
|
|
|
|
||||
40 |
systat |
11/ tcp |
0.000075 |
# |
Active |
Users |
||||||
41 |
systat |
11/ udp |
0.000577 |
# |
Active |
Users |
||||||
42 |
unknown |
12/ tcp |
0.000063 |
|
|
|
|
|
||||
43 |
daytime |
13/ tcp |
0.003927 |
|
|
|
|
|
||||
|
|
|||||||||||
|
Файл nmap-os-db содержит сотни примеров того, как различные операционные системы |
|||||||||||
|
ведут себя в различных ситуациях, создаваемых Nmap (листинг 2). Этот файл разделен на |
|||||||||||
|
блоки, известные как отпечатки пальцев (fingerprints) и с каждым отпечатком соотносится |
|||||||||||
|
имя операционной системы и её общая классификация |
|||||||||||
|
|
|
|
|
|
Листинг 2: Отрывок файла nmap-os-db |
||||||
21581 |
Fingerprint FreeBSD 7.0 |
|
|
|
|
|
||||||
21582 |
Class FreeBSD | FreeBSD | 7. X | general purpose |
|||||||||||
21583 |
CPE |
cpe :/ o: freebsd : freebsd :7.0 |
|
|
|
|||||||
21584 |
SEQ ( SP =100 -10 A% GCD =1 -6% ISR =108 -112% TI =I% II =I% SS =S% TS =21|22) |
|||||||||||
21585 |
OPS ( O1 = M5B4NW3NNT11 | M5B4NW8NNT11 % O2 = M578NW3NNT11 | M578NW8NNT11 % O3 = |
|||||||||||
|
M280NW3NNT11 | M280NW8NNT11 % O4 = M5B4NW3NNT11 | M5B4NW8NNT11 % O5 = M218NW3NNT11 | |
|||||||||||
|
M218NW8NNT11 % O6 = M109NNT11 ) |
|
|
|
||||||||
21586 |
WIN ( W1 = FFFF % W2 = FFFF % W3 = FFFF % W4 = FFFF % W5 = FFFF % W6 = FFFF ) |
6
21587 |
ECN (R=Y% DF =Y%T =3B -45% TG =40% W= FFFF %O= M5B4NW3 | M5B4NW8 % CC =N%Q =) |
|
21588 |
T1 |
(R=Y% DF =Y%T =3B -45% TG =40% S=O%A=S +% F= AS % RD =0% Q =) |
21589 |
T2 |
(R=N) |
21590 |
T3 |
(R=Y% DF =Y%T =3B -45% TG =40% W= FFFF %S=O%A=S +% F= AS %O= M109NW3NNT11 | M109NW8NNT11 % |
|
|
RD =0% Q =) |
21591 |
T4 |
(R=Y% DF =Y%T =3B -45% TG =40% W =0% S=A%A=Z%F=R%O =% RD =0% Q =) |
21592 |
T5 |
(R=Y% DF =Y%T =3B -45% TG =40% W =0% S=Z%A=S +% F= AR %O =% RD =0% Q =) |
21593 |
T6 |
(R=Y% DF =Y%T =3B -45% TG =40% W =0% S=A%A=Z%F=R%O =% RD =0% Q =) |
21594 |
T7 |
(R=Y% DF =Y%T =3B -45% TG =40% W =0% S=Z%A=S%F= AR %O =% RD =0% Q =) |
21595 |
U1 |
( DF =N%T =3B -45% TG =40% IPL =38% UN =0% RIPL =G% RID =G% RIPCK =G% RUCK =G% RUD =G) |
21596 |
IE ( DFI =S%T =3B -45% TG =40% CD =S) |
|
|
|
|
Файл nmap-service-probes содержит описания различных ситуация и ответного поведения сервиса (листинг 3). Это необходимо чтобы определить, какая программа прослушивает порт.
Листинг 3: Отрывок файла nmap-service-probes
11087 |
############################## NEXT PROBE ############################## |
|
|||||||||
11088 |
Probe |
UDP |
SIPOptions |
q| OPTIONS |
sip : nm SIP /2.0\ r\ nVia : SIP /2.0/ UDP nm ; branch = |
||||||
|
foo ; rport \r\ nFrom : <sip : nm@nm >; tag = root \r\ nTo : <sip : nm2@nm2 >\ r\ nCall - ID : |
||||||||||
|
50000\ r\ nCSeq : 42 OPTIONS \r\ nMax - Forwards : 70\ r\ nContent - Length : 0\ r\ |
|
|||||||||
|
nContact : <sip : nm@nm >\ r\ nAccept : application / sdp \r\n\r\n| |
|
|
|
|||||||
11089 |
rarity |
5 |
|
|
|
|
|
|
|
|
|
11090 |
ports |
5060 |
|
|
|
|
|
|
|
|
|
11091 |
# Some |
VoIP |
phones take longer |
to respond |
|
|
|
|
|||
11092 |
totalwaitms |
7500 |
|
|
|
|
|
|
|
||
11093 |
|
|
|
|
|
|
|
|
|
|
|
11094 |
match |
sip |
m |^ SIP /2\.0 |
200 |
OK \r\n .* Server : Asterisk PBX ([\ w._+~ -]+) \r\n|s p/ |
||||||
|
Asterisk / |
v/ $1 / d/ PBX / |
|
|
|
|
|
|
|||
11095 |
match |
sip |
m |^ SIP /2\.0 |
200 |
OK \r\n .* Server : FPBX -([\ w._ \(\) -]+) \r\n|s |
p/ FPBX / |
|||||
|
v/ $1 / d/ PBX / |
|
|
|
|
|
|
|
|||
11096 |
match |
sip |
m |^ SIP /2\.0 |
404 |
Not Found \r\n .* User - Agent : Asterisk |
PBX \( digium \) |
|||||
|
\r\n|s |
p/ Digium Switchvox PBX / i/ based on Asterisk / d/ PBX / |
|
|
|
||||||
11097 |
match |
sip |
m |^ SIP /2\.0 |
200 |
OK \r\n .* User - Agent : SAGEM / 3202\.3 |
/ 2601 EC \r\n| |
|||||
|
s p/ Sagem ADSL router / |
d/ broadband router / |
|
|
|
|
|||||
11098 |
match |
sip |
m |^ SIP /2\.0 |
408 |
Request timeout \r\n .* Server : sipXecs /([\ w._ -]+) |
||||||
|
sipXecs / sipXproxy |
\( Linux \) \r\n|s p/ SIPfoundry sipXecs PBX / |
v/ $1 / |
o/ Linux |
|||||||
|
/ cpe :/ o: linux : linux_kernel /a |
|
|
|
|
||||||
11099 |
match |
sip |
m |^ SIP /2\.0 |
404 |
Not Found \r\n .* User - Agent : AVM ( FRITZ ! Box |
Fon |
WLAN |
||||
|
[\ w._ |
-]+) (?: Annex A |
) ?(?:\( UI \) ) ?([\ w._ -]+ \(\ w+ +\ d+ |
+\ d +\) )|s |
p/ |
||||||
|
AVM |
$1 |
SIP / v/ $2 / |
d/ WAP / cpe :/ h: avm : $1 / |
|
|
|
|
|||
11100 |
match |
sip |
m |^ SIP /2\.0 |
200 |
OK \r\n .* Server : NetSapiens |
SiPBx 1 -1205 c\r\n|s |
p/ |
||||
|
NetSapiens SiPBX SIP switch / |
d/ switch / |
|
|
|
|
|||||
11101 |
match |
sip |
m |^ SIP /2\.0 |
481 |
Call |
Leg / Transaction Does |
Not Exist \r\ nFrom : <sip : |
7
|
nm@nm >; tag = root \r\ nTo : <sip : nm2@nm2 >; tag =0 -\ w+ -\w+ -\w+ -\w +\ r\ nCall - ID : |
||||||||
|
50000\ r\ nCSeq : 42 OPTIONS \r\ nVia : SIP /2\.0/ UDP nm ; received =[\ d .]+; rport =\ |
||||||||
|
d +; branch = foo \r\ nContent - Length : 0\ r\n\r\ n$ | p/ Sony PCS - TL50 |
|
|||||||
|
videoconferencing SIP / |
cpe :/ h: sony :pcs - tl50 / |
|
|
|||||
11102 |
match sip |
m |^ SIP /2\.0 200 |
OK \r\ nCSeq : 42 OPTIONS \r\ nVia : SIP /2\.0/ UDP nm ; |
||||||
|
branch = foo ; rport \r\ nFrom : <sip : nm@nm >; tag = root \r\ nCall - ID : 50000\ r\ nTo : < |
||||||||
|
sip : nm2@nm2 >\ r\ nContact : <sip : nm2@ [\ d .]+ >\ r\ nContent - Length : 0\ r\n\r\ n$ | |
||||||||
|
p/ Ekiga SIP / |
v /3.2.7/ |
|
|
|
|
|
||
11103 |
match sip |
m |^ SIP /2\.0 403 |
Forbidden \r\n .* From : <sip : nm@nm >; tag = root \r\ nTo : < |
||||||
|
sip : nm2@nm2 >; tag = Mitel -([\ w._ -]+) _\d+ -\d +\ r\n|s p/ Mitel $1 |
PBX |
SIP / d/ PBX |
||||||
|
/ |
|
|
|
|
|
|
|
|
11104 |
match sip |
m |^ SIP /2\.0 200 |
OK \r\n .* Allow : INVITE , ACK , CANCEL , |
BYE , |
OPTIONS , |
||||
|
INFO , REFER , SUBSCRIBE , |
NOTIFY \r\ nAccept : application /sdp , application / |
|||||||
|
dtmf - relay , application / simple - message - summary , message / sipfrag \r\ nAccept - |
||||||||
|
Encoding : identity \r\n|s |
|
p/ Siemens Gigaset DX800A VoIP phone SIP / d/ VoIP |
||||||
|
phone / |
|
|
|
|
|
|
|
|
11105 |
|
|
|
|
|
|
|
|
|
11106 |
match sip - proxy |
m |^ SIP /2\.0 |
|
.*\ r\ nServer : OpenS [ Ee ][ Rr ] \(([\ w\d \. -]+) \(([\ |
|||||
|
d\w /]+) \) \) |s |
p/ OpenSER |
SIP Server / v/ $1 / i/ $2 / |
|
|
||||
11107 |
match sip - proxy |
m |^ SIP /2\.0 |
|
.*\ r\ nServer : Sip EXpress router \(([\ w\d \. -]+) |
|||||
|
\(([\ d\w /]+) \) \) |s p/ SIP |
|
Express Router / v/ $1 / i/ $2 / |
|
|
||||
11108 |
# OpenSER and SER have joined to become SIP Router |
|
|
||||||
11109 |
match sip - proxy |
m |^ SIP /2\.0 |
|
.*\ r\ nServer : SIP Router \(([\ w\d \. -]+) \(([\ d\w |
|||||
|
/]+) \) \) |s |
p/ SIP Router / |
|
v/ $1 / i/ $2 / |
|
|
|||
11110 |
match sip - proxy |
m |^ SIP /2\.0 |
|
.*\ r\ nUser - Agent : Asterisk PBX \r\n|s p/ Asterisk |
|||||
|
PBX / |
|
|
|
|
|
|
|
|
11111 |
match sip - proxy |
m |^ SIP /2\.0 |
|
.*\ r\ nServer : OpenSIPS \(([\ w\d \. -]+) |
\(([\ d\w |
||||
|
/]+) \) \) |s |
p/ OpenSIPS |
SIP |
Server / v/ $1 / i/ $2 / |
|
|
|||
11112 |
match sip - proxy |
m |^ SIP /2\.0 |
|
200 OK \r\n .*\ r\ nUser - Agent : ComdasysB2BUA ([\ w._ |
|||||
|
-]+) \r\n|s |
p/ Comdasys |
SIP |
Server / v/ $1 / |
|
|
|||
11113 |
|
|
|
|
|
|
|
|
|
11114 |
softmatch |
sip |
m |^ SIP /2\.0 |
([ -\ w\s .]+) \r\n .* Server : ([ -\ w\s/_ \.\(\) ]+) \r\n|s |
|||||
|
p/ $2 / |
i/ Status : $1 / |
|
|
|
|
|
||
11115 |
softmatch |
sip |
m |^ SIP /2\.0 |
([ -\ w\s .]+) \r\n| i/ SIP end point ; Status : $1 / |
|||||
|
|
|
|
|
|
|
|
|
|
1.2.1.5 Добавить новую сигнатуру службы в файл nmap-service-probes (для этого создать минимальный tcp server, добиться, чтобы при сканировании nmap указывал для него название и версию)
Исходный код простого TCP-сервера приведён в листинге 4.
|
|
|
|
Листинг 4: Пример простого TCP-сервера |
1 |
/* |
Name : Simple |
TCP |
server */ |
2 |
/* |
Version : 1.0 |
.0 -3 |
*/ |
|
|
|
|
|
8
3 |
|
|
4 |
# include |
<sys / socket .h > |
5 |
# include |
< netinet / in .h > |
6 |
# include |
< stdio .h > |
7 |
# include |
< string .h > |
8 |
|
|
9 |
int main ( int argc , char ** argv ) |
10{
11int listenfd ;
12int connfd ;
13int msgsize ;
14 |
|
|
15 |
struct |
sockaddr_in servaddr ; |
16 |
struct |
sockaddr_in cliaddr ; |
17 |
|
|
18 |
socklen_t clilen ; |
|
19 |
pid_t |
childpid ; |
20 |
char |
mesg [1000]; |
21 |
|
|
22listenfd = socket ( AF_INET , SOCK_STREAM , 0) ;
23bzero (& servaddr , sizeof ( servaddr ));
24 |
|
|
|
|
25 |
servaddr . sin_family = AF_INET ; |
|
|
|
26 |
servaddr . sin_addr . s_addr = htonl ( INADDR_ANY ); |
/* ADDR : ANY ! */ |
||
27 |
servaddr . sin_port = htons (2404) |
; |
/* PORT : 2404 */ |
|
28 |
bind ( listenfd , ( struct |
sockaddr |
*) & servaddr , |
sizeof ( servaddr )); |
29 |
|
|
|
|
30 |
listen ( listenfd , 1024) |
; |
|
|
31 |
|
|
|
|
32for (;;)
33{
34clilen = sizeof ( cliaddr );
35 |
connfd = accept ( listenfd , ( struct sockaddr *) & cliaddr , & clilen ); |
36 |
|
37if (( childpid = fork () ) == 0)
38{
39 close ( listenfd );
40
41for (;;)
42{
43 |
msgsize = recvfrom ( connfd , mesg , 1000 , 0, ( struct sockaddr *) & |
|
cliaddr , & clilen ); |
44 |
if (! strncmp ( mesg ," version " , 7) ) |
45 |
{ |
46 |
strcpy ( mesg , " 1.0.0\ n"); |
9
47 |
msgsize = strlen ( mesg ); |
48 |
} |
49 |
sendto ( connfd , mesg , msgsize , 0, ( struct sockaddr *) & cliaddr , |
|
sizeof ( cliaddr )); |
50 |
|
51 |
} |
52 |
|
53}
54close ( connfd );
55}
56}
Простой запуск этого сервера можно обнаружить при помощи Nmap, но Nmap пока не знает, с чем имеет дело.
$ nmap -sV -p 2404 192.168.124.4
Starting Nmap 6.40 ( http://nmap.org ) at 2015-05-18 03:42 MSK Nmap scan report for 192.168.124.4
Host is up (0.0038s latency).
PORT |
STATE |
SERVICE VERSION |
2404/tcp |
open |
echo |
Service detection performed.
Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 41.28 seconds
Надо отметить, что основная идея определена верно - это действительно эхо-сервис. Но никаких данных о версии у нас нет. Теперь добавим описание сервиса в файл nmap-service- probes
$ tail -n 7 /usr/share/nmap/nmap-service-probes
##############################NEXT PROBE##############################
# Simple TSP server.
Probe TCP simple-tcp-server-ver q|version\r\n| rarity 9
ports 2404
match stcps m|^1\.0\.0$| p/Simple TCP Server/ v/1.0.0-3/
И снова проведём сканирование
10