Olá.
Vamos ver aqui como é possível descobrir que sistema operacional está rodando em determinada máquina.
Para isso, vamos utilizar o nmap.
Além disso, teremos que utilizar também outros utilitários, como o ping, que já vem instalado, e o tcping (instale-o pelo apt-get. Disponível também versão para Windows).
Para iniciarmos, vejamos do que se trata cada ferramenta:
Antes de mais nada, vamos ver a ajuda de cada um dos programas, conseguidos através dos mesmos:
Nmap:
Ping:
Tcping:
Então, vamos à nossa primeira aventura: descobrir que sistema operacional está rodando nos servidores da Wikipédia.
Primeiramente, devemos ver se o servidor está on-line:
Agora, vamos ver se ele está aceitando requisições ICMP:
Com esses exemplos, vemos que o servidor está on-line e aceitando requisições ping comuns. Veja como faremos agora:
Assim, após um portscan, em 87 segundos, ele me apresenta os prováveis sistemas rodando lá, e as chances que cada um possui de ser verdadeiro:
Com este resultado, temos quase certeza de que está rodando um Linux de Kernel 2.6 (sim, está desatualizado) e provavelmente um Debian ou um Fedora (maiores chances).
Mas esta não é a única maneira de se ter esta informação. É sempre bom também usar Dorks no Google, apontando para o servidor alvo, à procura de Indexes. Veja, por exemplo, Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... Veja quanta informação podemos retirar de lá: OS do servidor e versão do Apache.
Sempre bom também rodar telnet (ou netcat) diretamente nas portas abertas indicadas pelo Nmap, principalmente as de e-mail (como a 25) e as de HTTP (como a 80).
Então, fica a dica: nunca acredite em apenas uma fonte. Vá em busca de vários. Todo hacker deve possuir um lado jornalista.
Até+!
Vamos ver aqui como é possível descobrir que sistema operacional está rodando em determinada máquina.
Para isso, vamos utilizar o nmap.
Além disso, teremos que utilizar também outros utilitários, como o ping, que já vem instalado, e o tcping (instale-o pelo apt-get. Disponível também versão para Windows).
Para iniciarmos, vejamos do que se trata cada ferramenta:
Nmap: (Network Mapper) scanner de redes e de portas muito utilizado (até mesmo em filmes).
Ping: (Packet Internet Grouper) ferramenta que envia pacotes de "lixo" (ICMP Echo Request - Ping) e recebe "lixo" (ICMP Echo Reply - Pong) caso o servidor remoto esteja ligado (porém, é fácil bloquear requisições deste tipo)
[B}Tcping:[/b] Ferramenta semelhante ao Ping, mas que utiliza o protocolo TCP.
Ping: (Packet Internet Grouper) ferramenta que envia pacotes de "lixo" (ICMP Echo Request - Ping) e recebe "lixo" (ICMP Echo Reply - Pong) caso o servidor remoto esteja ligado (porém, é fácil bloquear requisições deste tipo)
[B}Tcping:[/b] Ferramenta semelhante ao Ping, mas que utiliza o protocolo TCP.
Antes de mais nada, vamos ver a ajuda de cada um dos programas, conseguidos através dos mesmos:
Nmap:
Código:
Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL <inputfilename>: Input from list of hosts/networks -iR <num hosts>: Choose random targets --exclude <host1[,host2][,host3],...>: Exclude hosts/networks --excludefile <exclude_file>: Exclude list from file HOST DISCOVERY: -sL: List Scan - simply list targets to scan -sP: Ping Scan - go no further than determining if host is online -PN: Treat all hosts as online -- skip host discovery -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -PO[protocol list]: IP Protocol Ping -n/-R: Never do DNS resolution/Always resolve [default: sometimes] --dns-servers <serv1[,serv2],...>: Specify custom DNS servers --system-dns: Use OS's DNS resolver --traceroute: Trace hop path to each host SCAN TECHNIQUES: -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans -sU: UDP Scan -sN/sF/sX: TCP Null, FIN, and Xmas scans --scanflags <flags>: Customize TCP scan flags -sI <zombie host[:probeport]>: Idle scan -sY/sZ: SCTP INIT/COOKIE-ECHO scans -sO: IP protocol scan -b <FTP relay host>: FTP bounce scan PORT SPECIFICATION AND SCAN ORDER: -p <port ranges>: Only scan specified ports Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080 -F: Fast mode - Scan fewer ports than the default scan -r: Scan ports consecutively - don't randomize --top-ports <number>: Scan <number> most common ports --port-ratio <ratio>: Scan ports more common than <ratio> SERVICE/VERSION DETECTION: -sV: Probe open ports to determine service/version info --version-intensity <level>: Set from 0 (light) to 9 (try all probes) --version-light: Limit to most likely probes (intensity 2) --version-all: Try every single probe (intensity 9) --version-trace: Show detailed version scan activity (for debugging) SCRIPT SCAN: -sC: equivalent to --script=default --script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script-categories --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts --script-trace: Show all data sent and received --script-updatedb: Update the script database. OS DETECTION: -O: Enable OS detection --osscan-limit: Limit OS detection to promising targets --osscan-guess: Guess OS more aggressively TIMING AND PERFORMANCE: Options which take <time> are in milliseconds, unless you append 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). -T<0-5>: Set timing template (higher is faster) --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes --min-parallelism/max-parallelism <time>: Probe parallelization --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies probe round trip time. --max-retries <tries>: Caps number of port scan probe retransmissions. --host-timeout <time>: Give up on target after this long --scan-delay/--max-scan-delay <time>: Adjust delay between probes --min-rate <number>: Send packets no slower than <number> per second --max-rate <number>: Send packets no faster than <number> per second FIREWALL/IDS EVASION AND SPOOFING: -f; --mtu <val>: fragment packets (optionally w/given MTU) -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys -S <IP_Address>: Spoof source address -e <iface>: Use specified interface -g/--source-port <portnum>: Use given port number --data-length <num>: Append random data to sent packets --ip-options <options>: Send packets with specified ip options --ttl <val>: Set IP time-to-live field --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address --badsum: Send packets with a bogus TCP/UDP/SCTP checksum --adler32: Use deprecated Adler32 instead of CRC32C for SCTP checksums OUTPUT: -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename. -oA <basename>: Output in the three major formats at once -v: Increase verbosity level (use twice or more for greater effect) -d[level]: Set or increase debugging level (Up to 9 is meaningful) --reason: Display the reason a port is in a particular state --open: Only show open (or possibly open) ports --packet-trace: Show all packets sent and received --iflist: Print host interfaces and routes (for debugging) --log-errors: Log errors/warnings to the normal-format output file --append-output: Append to rather than clobber specified output files --resume <filename>: Resume an aborted scan --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML --webxml: Reference stylesheet from Nmap.Org for more portable XML --no-stylesheet: Prevent associating of XSL stylesheet w/XML output MISC: -6: Enable IPv6 scanning -A: Enables OS detection and Version detection, Script scanning and Traceroute --datadir <dirname>: Specify custom Nmap data file location --send-eth/--send-ip: Send using raw ethernet frames or IP packets --privileged: Assume that the user is fully privileged --unprivileged: Assume the user lacks raw socket privileges -V: Print version number -h: Print this help summary page. EXAMPLES: nmap -v -A scanme.nmap.org nmap -v -sP 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -PN -p 80 SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
Código:
Usage: ping [-LRUbdfnqrvVaAD] [-c count] [-i interval] [-w deadline] [-p pattern] [-s packetsize] [-t ttl] [-I interface] [-M pmtudisc-hint] [-m mark] [-S sndbuf] [-T tstamp-options] [-Q tos] [hop1 ...] destination
Código:
Usage: tcping [-q] [-t timeout_sec] [-u timeout_usec] <host> <port>
Primeiramente, devemos ver se o servidor está on-line:
Código:
tcping wikipedia.org 80
Código:
ping wikipedia.org
Código:
nmap -O wikipedia.org
Lembrando que caso o servidor não aceite ping comum (ICMP), você deve fazer:
Duas coisas que devemos saber são: (1) O Nmap precisa de pelo menos 1 porta aberta e outra fechada no servidor remoto para funcionra; (2) O teste de sistema operacional não é 100% confiável.Código:
nmap -O -PN wikipedia.org
Assim, após um portscan, em 87 segundos, ele me apresenta os prováveis sistemas rodando lá, e as chances que cada um possui de ser verdadeiro:
Código:
Linux 2.6.X|2.4.X (97%), Aastra embedded (93%), AXIS Linux 2.6.X (93%), Gemtek embedded (92%), Siemens embedded (92%), Linksys embedded (91%), IBM embedded (91%) Aggressive OS guesses: Linux 2.6.13 - 2.6.27 (97%), Linux 2.6.18 (Debian 4.0, x86) (97%), Linux 2.6.24 (Fedora 8) (97%), Linux 2.4.20 (Red Hat 7.2) (96%), Linux 2.6.17 - 2.6.28 (96%), Linux 2.6.9 - 2.6.27 (94%), Aastra RFP L32 IP DECT WAP (93%), AXIS 207 Network Camera (Linux 2.6.16) or 241Q Video Server (93%), DD-WRT v23 - v24 (Linux 2.4.20 - 2.4.35) (93%), Linux 2.6.13 - 2.6.24 (93%)
Mas esta não é a única maneira de se ter esta informação. É sempre bom também usar Dorks no Google, apontando para o servidor alvo, à procura de Indexes. Veja, por exemplo, Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... Veja quanta informação podemos retirar de lá: OS do servidor e versão do Apache.
Sempre bom também rodar telnet (ou netcat) diretamente nas portas abertas indicadas pelo Nmap, principalmente as de e-mail (como a 25) e as de HTTP (como a 80).
Dica: para bloquear requisições de ping comum (ICMP) ao seu computador, abra o terminal, logue-se como root e abra o arquivo /etc/sysct1.conf no seu editor de texto predileto (como o nano). Feito isso, altere o valor de "net.ipv4.icmp_echo_ignore_all " para "1".
Então, fica a dica: nunca acredite em apenas uma fonte. Vá em busca de vários. Todo hacker deve possuir um lado jornalista.
Até+!
Comment