{"id":2295,"date":"2017-04-27T10:11:58","date_gmt":"2017-04-27T10:11:58","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=2295"},"modified":"2017-04-27T10:11:58","modified_gmt":"2017-04-27T10:11:58","slug":"cuando-la-bios-va-por-su-cuenta","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2017\/04\/27\/cuando-la-bios-va-por-su-cuenta\/","title":{"rendered":"Cuando la BIOS va por su cuenta &#8230;"},"content":{"rendered":"<p>&#8230; en cuestiones de red termina por liarse.<\/p>\n<p><!--more--><\/p>\n<p>M\u00e1s de dos d\u00edas me ha costado encontrar el problema. Resulta que reemplac\u00e9 una de las m\u00e1quinas de facturaci\u00f3n, una instalaci\u00f3n Linux con Debian, con un equipo nuevo, m\u00e1s moderno, m\u00e1s potente, m\u00e1s cuqui, pero donde pr\u00e1cticamente no toqu\u00e9 la configuraci\u00f3n del sistema (la del BIOS).<\/p>\n<p>Estaba reutilizando la instalaci\u00f3n previa en el disco y, ya que los n\u00facleos de Debian que empleo son gen\u00e9ricos, no vi raz\u00f3n para ello. Arrancar y gozar del sistema.<\/p>\n<p>Bueno, el goce lo he tenido yo porque me he encontrado una situaci\u00f3n bastante absurda: no hab\u00eda forma de que el servidor DHCP de la red registrase el nombre correcto de la m\u00e1quina.<\/p>\n<p>Todo lo dem\u00e1s funcionaba excepto un par de detalles: al no tener el nombre correcto no pod\u00eda acceder v\u00eda SSH para actualizarla ni VNC para asistir al operador en vivo y en directo. Todo por direcci\u00f3n IP.<\/p>\n<p>Buscando y buscando en los registros ve\u00eda que el nombre era siempre uno muy especial: SOE28219 y el sufijo de la red local, pero ni rastro del que ten\u00eda que tener.<\/p>\n<p>As\u00ed que me dio por hacer un barrido de la red y me encuentro, oh sorpresa, con un servicio abierto tal que as\u00ed:<\/p>\n<pre class=\"lang:sh decode:true\">$ sudo nmap -sT 192.168.100.74\r\n\r\nStarting Nmap 6.47 ( http:\/\/nmap.org ) at 2017-04-27 11:05 CEST\r\nNmap scan report for 192.168.100.74\r\nHost is up (0.0027s latency).\r\nNot shown: 995 closed ports\r\nPORT      STATE SERVICE\r\n22\/tcp    open  ssh\r\n111\/tcp   open  rpcbind\r\n631\/tcp   open  ipp\r\n5900\/tcp  open  vnc\r\n<strong>16993\/tcp open  amt-soap-https<\/strong>\r\nMAC Address: 2C:41:38:93:FD:B5 (Hewlett-Packard Company)\r\n<\/pre>\n<p>Lo primero que pens\u00e9 es que hab\u00eda alg\u00fan programa <em>rarito<\/em> y busqu\u00e9 entre los procesos de la m\u00e1quina sin ning\u00fan \u00e9xito. Proced\u00ed, un poco en plan loco, a instalar programas para detectar procesos ocultos, troyanos y <em>rootkit<\/em> (rkhunter, tiger, unhide, &#8230;) y nada de nada. Es una m\u00e1quina de trabajo sencilla, no tiene nada raro conectado, y tampoco pueden instalar programas por su cuenta. Ni lo intentan, para ser claros.<\/p>\n<p>Y es entonces cuando me fijo en la descripci\u00f3n del servicio: <em>amt-soap-https<\/em> y me da por buscar en la red y, \u00a1 mira por d\u00f3nde ! resulta que corresponde al interfaz de un mecanismo muy espec\u00edfico de Intel llamado <a href=\"http:\/\/www.intel.com\/technology\/platform-technology\/intel-amt\/\">Intel Active Management Technology.<\/a><\/p>\n<p>Este mecanismo, del que hablan en el <a href=\"https:\/\/wiki.debian.org\/AMT\">wiki de Debian<\/a>, no es m\u00e1s (ni menos) que una forma de gestionar remotamente un equipo conectado en red. En red, ojo, y he aqu\u00ed donde est\u00e1 todo el problema: el BIOS emplea la misma interfaz de red para solicitar una direcci\u00f3n IP al servidor central con un nombre de cliente espec\u00edfico. Activa entonces un servidor en esa misma direcci\u00f3n y se queda a la escucha. Adem\u00e1s filtra las conexiones cuando son desde la propia m\u00e1quina as\u00ed que s\u00f3lo aparece desde fuera. En algunos foros y p\u00e1ginas de la red lo llaman directamente <em>backdoor<\/em>, y vaya que lo es.<\/p>\n<p>Lo hace regularmente, encima, por lo que es bastante normal encontrarse entradas como la siguiente en el registro:<\/p>\n<pre class=\"lang:default decode:true\">Apr 27 09:34:10 barbacana dnsmasq-dhcp[378]: DHCPDISCOVER(br-lan) 192.168.100.74 2c:41:38:93:fd:b5\r\nApr 27 09:34:10 barbacana dnsmasq-dhcp[378]: DHCPOFFER(br-lan) 192.168.100.74 2c:41:38:93:fd:b5\r\nApr 27 09:34:10 barbacana dnsmasq-dhcp[378]: DHCPREQUEST(br-lan) 192.168.100.74 2c:41:38:93:fd:b5\r\nApr 27 09:34:10 barbacana dnsmasq-dhcp[378]: DHCPACK(br-lan) 192.168.100.74 2c:41:38:93:fd:b5 <strong>operador<\/strong>\r\nApr 27 09:38:49 barbacana dnsmasq-dhcp[378]: DHCPREQUEST(br-lan) 192.168.100.74 2c:41:38:93:fd:b5\r\nApr 27 09:38:49 barbacana dnsmasq-dhcp[378]: DHCPACK(br-lan) 192.168.100.74 2c:41:38:93:fd:b5 <strong>SOE88219\r\n<\/strong><\/pre>\n<p>As\u00ed que el sistema operativo solicita una direcci\u00f3n IP a la red, se le ofrece una y se anota el nombre de m\u00e1quina requerido. Un poquito despu\u00e9s el BIOS pide de nuevo la direcci\u00f3n y al ser la misma MAC el sistema se la renueva y apunta el extra\u00f1o nombre.<\/p>\n<p>Hay herramientas en Linux para poder aprovechar las ventajas del mecanismo. Un paquete llamado <a href=\"https:\/\/linux.die.net\/man\/1\/amtterm\">amtterm<\/a> (Serial-over-lan (sol) client for Intel AMT, console version) pero que tiene problemas para conectar por fallos en el certificado digital as\u00ed que por ah\u00ed no he conseguido nada tampoco. Como curiosidad anoto que el puerto 16993 es para conexiones SOAP sobre HTTPS y el puerto 16992 para conexiones sin cifrado.<\/p>\n<p>En resumen: puede que tenga utilidad para mi en alg\u00fan futuro pero por ahora s\u00f3lo es una molestia.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; en cuestiones de red termina por liarse.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[5],"tags":[18,704,41,412,43],"class_list":["post-2295","post","type-post","status-publish","format-standard","hentry","category-hardware","tag-administracion-de-sistemas","tag-amt","tag-debian","tag-intel","tag-redes"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=2295"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2295\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=2295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=2295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=2295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}