Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Descobrindo OS de máquina remota

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Descobrindo OS de máquina remota

    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:
    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.

    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
    Ping:
    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
    Tcping:
    Código:
    Usage: tcping [-q] [-t timeout_sec] [-u timeout_usec] <host> <port>
    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:
    Código:
    tcping wikipedia.org 80
    Agora, vamos ver se ele está aceitando requisições ICMP:
    Código:
    ping wikipedia.org
    Com esses exemplos, vemos que o servidor está on-line e aceitando requisições ping comuns. Veja como faremos agora:
    Código:
    nmap -O wikipedia.org
    Lembrando que caso o servidor não aceite ping comum (ICMP), você deve fazer:
    Código:
    nmap -O -PN wikipedia.org
    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.
    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%)
    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).
    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é+!
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)
    Similar Threads

  • Font Size
    #2
    otimo tuto, mas é claro que nem sempre o programa acerta quanto ao SO, podemos entao fazer buscas por regras de firewall e depois de uns tracerts atraveis de pacotes em UDP podemos saber o SO ao certo e logo o firewall sendo usado belo tuto man!

    Comment

    X
    Working...
    X