{"id":8148,"date":"2015-02-09T20:50:13","date_gmt":"2015-02-09T23:50:13","guid":{"rendered":"http:\/\/www.ethicalhacker.com.br\/site\/?p=8148"},"modified":"2019-06-18T17:33:22","modified_gmt":"2019-06-18T20:33:22","slug":"reconhecimento-de-sistemas-operacionais-atraves-do-ping","status":"publish","type":"post","link":"https:\/\/www.ethicalhacker.com.br\/site\/2015\/02\/basico\/reconhecimento-de-sistemas-operacionais-atraves-do-ping\/","title":{"rendered":"Reconhecimento de Sistemas Operacionais atrav\u00e9s do PING"},"content":{"rendered":"<p>Tempos\u00a0atr\u00e1s, \u00a0um aluno me perguntou se havia algum jeito de detectar sistemas operacionais atrav\u00e9s do PING, respondi que, apesar de n\u00e3o ser algo 100% confi\u00e1vel \u00e9 poss\u00edvel sim.<\/p>\n<p>Mas como? bem, o protocolo IP possui um campo chamado TTL ou (Time-To-Live) tempo de vida.<\/p>\n<p>A fun\u00e7\u00e3o do TTL \u00e9 evitar que os pacotes permane\u00e7am na rede por tempo indeterminado de tal forma que n\u00e3o ocorram loops.<\/p>\n<p>Roteadores est\u00e3o programados para decrementar uma unidade do TTL a cada roteador alcan\u00e7ado.<\/p>\n<p>Sistemas Operacionais possuem TTL padr\u00f5es, exemplo: [Linux 64], [Windows 128] , [Solaris 255] e assim por diante.<\/p>\n<p>Diante do exposto, basta executar o comando ping\u00a0 e verificar o resultado que se encontre mais pr\u00f3ximo ao padr\u00e3o .<\/p>\n<p>Veja o exemplo de um ping contra um host Linux :<\/p>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">linux:~ root# ping -c 5 127.0.0.1<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">PING 127.0.0.1 (127.0.0.1): 56 data bytes<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.057 ms<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.066 ms<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.065 ms<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.071 ms<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.065 ms<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">--- 127.0.0.1 ping statistics ---<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">5 packets transmitted, 5 packets received, 0.0% packet loss<\/span><\/strong><\/em><\/pre>\n<pre><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">round-trip min\/avg\/max\/stddev = 0.057\/0.065\/0.071\/0.004<\/span><\/strong><\/em><\/pre>\n<p>Abaixo, um ping executado contra uma m\u00e1quina Windows :<\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">root@kali:\/# ping -c 3 192.168.0.21<\/span><\/strong><\/em><\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">PING 192.168.0.21 (192.168.0.21) 56(84) bytes of data.<\/span><\/strong><\/em><\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 192.168.0.21: icmp_req=1 ttl=128 time=0.615 ms<\/span><\/strong><\/em><\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 192.168.0.21: icmp_req=2 ttl=128 time=0.414 ms<\/span><\/strong><\/em><\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">64 bytes from 192.168.0.21: icmp_req=3 ttl=128 time=0.314 ms<\/span><\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">&#8212; 192.168.0.21 ping statistics &#8212;<\/span><\/strong><\/em><\/p>\n<p><em><strong><span style=\"font-family: 'trebuchet ms', geneva;\">3 packets transmitted, 3 received, 0% packet loss, time 1998ms<\/span><\/strong><\/em><\/p>\n<p>O porqu\u00ea de n\u00e3o acreditar 100% ? muito simples &#8230;. (\u00e9 poss\u00edvel mudar os padr\u00f5es TTL) no Linux, \u00a0basta o seguinte comando para verificar o padr\u00e3o:<\/p>\n<p><strong><em>root@kali:\/# cat \/proc\/sys\/net\/ipv4\/ip_default_ttl<\/em><\/strong><\/p>\n<p><strong><em>64<\/em><\/strong><\/p>\n<p>Depois o comando para alterar:<\/p>\n<p><em><strong>root@kali:\/# echo 128 &gt; \/proc\/sys\/net\/ipv4\/ip_default_ttl<\/strong><\/em><\/p>\n<p><em><strong>root@kali:\/# cat \/proc\/sys\/net\/ipv4\/ip_default_ttl<\/strong><\/em><\/p>\n<p><em><strong>128<\/strong><\/em><\/p>\n<p>Abaixo um Kali Linux com padr\u00e3o Windows de 128:<\/p>\n<p><em><strong>root@kali:\/# ping 127.0.0.1<\/strong><\/em><\/p>\n<p><em><strong>PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.<\/strong><\/em><\/p>\n<p><em><strong>64 bytes from 127.0.0.1: icmp_req=1 ttl=128 time=0.027 ms<\/strong><\/em><\/p>\n<p><em><strong>64 bytes from 127.0.0.1: icmp_req=2 ttl=128 time=0.020 ms<\/strong><\/em><\/p>\n<p><em><strong>64 bytes from 127.0.0.1: icmp_req=3 ttl=128 time=0.023 ms<\/strong><\/em><\/p>\n<p><em><strong>&#8212; 127.0.0.1 ping statistics &#8212;<\/strong><\/em><\/p>\n<p><em><strong>3 packets transmitted, 3 received, 0% packet loss, time 1998ms<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p>E isso ai !!!<\/p>\n<p>&nbsp;<\/p>\n\r\n\t\t<div class='author-shortcodes'>\r\n\t\t\t<div class='author-inner'>\r\n\t\t\t\t<div class='author-image'>\r\n\t\t\t<img src='https:\/\/www.ethicalhacker.com.br\/site\/wp-content\/uploads\/186048_100001838322519_1550894_n-11668_57x57.jpg' alt='' \/>\r\n\t\t\t<div class='author-overlay'><\/div>\r\n\t\t<\/div> <!-- .author-image --> \r\n\t\t<div class='author-info'>\r\n\t\t\t<p>Autor: S\u00edlvio C\u00e9sar Roxo Giavaroto<\/p>\n<p>\u00c9 MBA Especialista em Gest\u00e3o de Seguran\u00e7a da Informa\u00e7\u00e3o,<\/p>\n<p>Tecn\u00f3logo em Redes de Computadores, C|EH Certified Ethical Hacker,<\/p>\n<p>atua como Pentest e Analista de Seguran\u00e7a em Servidores Linux no<\/p>\n<p>Governo do Estado de S\u00e3o Paulo, Professor Universit\u00e1rio , Instrutor<\/p>\n<p>C|EH e C|HFI.<\/p>\r\n\t\t<\/div> <!-- .author-info --><\/p>\r\n\t\t\t<\/div> <!-- .author-inner -->\r\n\t\t<\/div> <!-- .author-shortcodes -->\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tempos\u00a0atr\u00e1s, \u00a0um aluno me perguntou se havia algum jeito de detectar sistemas operacionais atrav\u00e9s do PING, respondi que, apesar de n\u00e3o ser algo 100% confi\u00e1vel \u00e9 poss\u00edvel sim. Mas como? bem, o protocolo IP possui um campo chamado TTL ou (Time-To-Live) tempo de vida. A fun\u00e7\u00e3o do TTL \u00e9 evitar que os pacotes permane\u00e7am na [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7928,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[89,100],"tags":[],"class_list":["post-8148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-basico","category-diversos"],"_links":{"self":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/8148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/comments?post=8148"}],"version-history":[{"count":4,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/8148\/revisions"}],"predecessor-version":[{"id":8152,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/8148\/revisions\/8152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media\/7928"}],"wp:attachment":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media?parent=8148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/categories?post=8148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/tags?post=8148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}