Documentos de Académico
Documentos de Profesional
Documentos de Cultura
,i%ura 9! 2structura de las tramas 2t+ernet y 789!) 2l campo de longitud 'len%t+* indica cu#ntos bytes presentes en el campo de datos, desde un m&nimo de 8 +asta un m#?imo de 1@88! /un0ue un campo de datos de 8 bytes es le%al, ori%ina un problema! Por ejemplo, cuando un transmisorAreceptor detecta una colisi$n, trunca la trama 0ue se est# transmitiendo, por lo cual 0uiere decir 0ue, en el cable aparecer#n peda3os de tramas y bits par#sitos! Para simplificar la distinci$n entre las tramas 0ue son v#lidas deber#n tener por lo menos una lon%itud de <= bytes, desde la direcci$n destinataria +asta el c$di%o de redundancia! (i la parte de datos correspondiente a una trama es menor de =< bytes, el campo de relleno se utili3ar# para llenar la trama al tamaBo m&nimo re0uerido! "tra de las ra3ones para atener una trama de lon%itud m&nima es con objeto de evitar 0ue
,i%ura 1! 2ncapsulamiento de protocolos en TCP/IP Capa de enlace5 2t+ernet Para redes locales '6/4* actualmente la tecnolo%&a m#s popular a nivel de la capa de enlace es 2t+ernet! 2l est#ndar 789!) difiere de 2t+ernet en el sentido de 0ue describe una familia completa de sistemas, operando a velocidades 0ue van desde 1 a 18888 bit/s sobre varios medios f&sicos 'cobre, f&bra, inal#mbrico*! 6a estructura b#sica de las tramas utili3adas en 2t+ernet y en 789!) se muestra en la fi%ura 9! Cada trama comien3a un
A9A una estaci$n complete la transmisi$n de una trama corta, antes de 0ue el primer bit +aya alcan3ado el e?tremo final del cable, donde podr&a sufrir una colisi$n con al%una otra trama! 6as tramas 0ue contienen menos de <= bytes se consideran fra%mentos resultante de al%una colisi$n y deben ser descartadas 'se les llama runts, mientras 0ue a las tramas m#s lar%as del l&mite le%al se le llama jabbers*! 2s oportuno +acer notar 0ue usualmente las tramas 0ue se utili3an con TCP/IP son 2t+ernet y no 789!)! 6a diferencia principal es 0ue en 2t+ernet el campo de lon%itud no se usa para tal fin, sino para identificar el tipo de protocolo de la capa superior mediante un n>mero 'type*! Por ejemplo, si lleva IP, entonces el n>mero es 8788 en +e?adecimal! 2l campo final 'FCS, frame check sequence* corresponde al c$di%o de redundancia ciclico 'CCC*! 2s un c$di%o especial de )9 bits 0ue permite detectar errores en los datos, por ejemplo debido al ruido en el cable! C!p! de enl!ce+ PPP 2l protocolo para cone?iones punto a punto 'PPP* es una soluci$n muy popular para transportar tr#fico 'incluyendo 2t+ernet* entre dos sitios, por ejemplo entre la casa y el provedor de acceso a Internet 'I(P* v&a modem! 6a estructura de la trama PPP es muy parecida a la trama .D6C y se muestra en fi%ura )!
,i%ura @! .eader IP Versi n! 2ste campo proporciona informaci$n sobre la versi$n de IP 0ue se +a utili3ado para construir el pa0uete! 2l est#ndar actual es IP versi$n = y en el futuro tendremos IP versi$n <! "#$! 2ste n>mero es la lon%itud total de la cabecera, en unidades de = bytes! 6a lon%itud m&nima de una cabecera IP es @, o un total de 98 bytes! %ipo de ser&icio5 2ste campo permite solicitar una deterA minada calidad en la transmisi$n! 2n funci$n del tipo de red por la 0ue est;n viajando los datos, este campo puede ser utili3ado o i%norado! Por ejemplo, confi%urando adeA cuadamente este campo, se pueden solicitar una ruta con lo' delay 'bajo retardo(, high throughput 'alto caudal* o high reliability 'alta confiabilidad*! $ongitud total! 6a lon%itud total del pa0uete 0ue se env&a! "dentificaci n! Utili3ado para ensamblar los pa0uetes fra%A mentados! "ndicadores! 2stos indicadores se utili3an para determinar si un pa0uete es un fra%mento de un pa0uete mayor o si se puede fra%mentar! )epla*amiento del fragmento +offset(5 Indica la posici$n del fra%mento con respecto al pa0uete ori%inal no fra%mentado! %iempo de &ida! 2ste byte representa el tiempo de vida de un pa0uete! Consiste en un >nico byte, 0ue almacena un determinado n>mero en se%undos! 2n cada dispositivo por el 0ue pase el pa0uete, una enrutador o pasarela por ejemplo, este valor se +a de decrementar en al menos una unidad! Protocolo! 2ste campo indica el protocolo 0ue fue utili3ado en la parte de datos del pa0uete, por ejemplo TCP o UDP! Suma de comprobaci n de la cabecera! 2ste n>mero representa una verificaci$n, 0ue ase%ura 0ue la informaci$n contenida en la cabecera si%ue inalterada! )irecci n origen,destino! 2stos d&%itos constituyen las direcciones IP de )9 bytes para identificar a las m#0uinas a trav;s de los distintos se%mentos de una red! -pciones! 6as opciones pueden contener diversos datos, entre otros informaci$n de enrutamiento! 2s posible llevar un re%istro de la ruta 0ue tome un pa0uete, a medida 0ue viaje a trav;s de la red, confi%urando una opci$n de este campo!
,i%ura =! 2structura de la trama PPP 6a bandera 'Flag* indica el inicio y el final de la trama! 6os campos Address y Control normalmente no se utili3an! 2l campo Protocol lleva el c$di%o del protocolo encapsulado, de acuerdo al C,C 1:88! 2l campo Payload lleva los datos del protocolo encapsulado y su lon%itud m#?ima es de 1@88 bytes! 2l campo Checkum lleva el c$di%o para detectar errores 'CCC*! C!p! de red+ IP Pasando a+ora a la capa encima de la capa de enlace, all& nos encontramos con data%ramas IP 0ue contienen una cabecera con los si%uientes campos5 versi$n, I.6, tipo de servicio, lon%itud total, identificaci$n, marcadores, despla3amiento del fra%mento, tiempo de vida, protocolo, suma de comprobaci$n de la cabecera, direcci$n de ori%en, direcci$n de destino, opciones y relleno!
A)A .elleno! 6a cabecera IP debe ser divisible en unidades de = bytes ')9 bits*! Para ase%urar 0ue la cabecera cumple esta condici$n se aBaden ceros al final de la misma! Capa de red5 IC P /dem#s del IP, 0ue se usa para la transferencia de datos, TCP/IP tiene varios protocolos de control 0ue se usan en la capa de red, incluidos IC P, /CP, y C/CP! 6a operaci$n de Internet es supervisada cuidadosamente por los enrutadores! /I ocurrir al%o inesperado, el IC P '"nternet Control /essage Protocol* informa del suceso! (e +a definido un %ran n>mero de mensajes IC P, por ejemplo 2C." 'conocido como pin%*, 0ue tambi;n se usa para probar la conectividad! Cada tipo de mensaje de IC P se encapsula en un pa0uete IP! 6os m#s importantes se listan a continuaci$n! 85 2c+o reply )5 Destination unreac+able =5 (ource 0uenc+ @5 Cedirect 75 2c+o D5 Couter advertisement 185 Couter solicitation 115 Time e?ceeded 195 Parameter problem 1)5 Timestamp re0uest 1=5 Timestamp reply 1@5 Information re0uest 'obsolete* 1<5 Information reply 'obsolete* 1:5 /ddress mask re0uest 175 /ddress mask reply )85 Traceroute )15 Data%ram conversion error )95 obile +ost redirect ))5 IPv< -+ere/reEou )=5 IPv< I/m.ere 6os mensajes tipo 7 de solicitud de ec+o ' 0cho request* y tipo 8 de respuesta al ec+o '0cho replay* sirven para ver si un destino dado es alcan3able y est# vivo 'pin%*! (i el campo Code es 8 si%nifica 0ue no +ay problemas! "dentifier es un n>mero invariable 0ue identifica a la m#0uina de ori%en! Sequence number es un n>mero variable 0ue lo %enera la m#0uina de ori%en para diferenciar los mensajes )5 Port unreac+able =5 ,ra%mentation needed but t+e Do 4ot ,ra%ment bit Fas set @5 (ource route failed <5 Destination netFork unknoFn :5 Destination +ost unknoFn 75 (ource +ost isolated 'obsolete* D5 Destination netFork administratively pro+ibited 185 Destination +ost administratively pro+ibited 115 4etFork unreac+able for t+is type of service 195 .ost unreac+able for t+is type of service 1)5 Communication administratively pro+ibited by filterin% 1=5 .ost precedence violation 1@5 Precedence cutoff in effect 2l mensaje de Tiempo e?cedido ' %ime e1ceeded* se env&a cuando un pa0uete se descarta debido a 0ue su contador lle%a a cero! 2ste suceso es un s&ntoma de 0ue los pa0uetes est#n en ciclo, de 0ue +ay un con%estionamiento enorme, o de 0ue los valores de tempori3aci$n son demasiado bajos! 2l mensaje de Problema de par#metro 'Parameter problem* indica 0ue se +a detectado un valor ile%al en un campo de cabecera! 2ste problema indica una falla en el softFare de IP del +ost, o posiblemente en el softFare de un enrutador transitado! 2l mensaje (upresi$n de ori%en ' Source quench* se usaba antes para controlar a los +osts 0ue enviaban demasiados pa0uetes! /l recibir un +ost este mensaje, se esperaba 0ue se refrenara! 2ste mensaje se usa poco en la actualidad por0ue, al ocurrir con%estionamientos, estos pa0uetes tienden a ec+arle m#s leBa al fue%o! 2l control de con%estionamiento de Internet se +ace a+ora en %ran medida en la capa de transporte! 2l mensaje de Cedireccionamiento '.edirect* se usa cuando un enrutador se da cuenta de 0ue un pa0uete parece estar mal enrutado y el enrutador lo usa para indicar al +ost transmisor el posible error! 6os mensajes (olicitud de marca de tiempo ' %imestamp request* y Cespuesta de marca de tiempo '%imestamp reply* son parecidos, e?cepto 0ue el tiempo de lle%ada del mensaje y el tiempo de partida de la respuesta se re%istran en ln respuesta! 2ste recurso se emplea para medir el desempeBo de la red! C!p! de tr!nsporte+ TCP , UDP / nivel de esta capa tenemos se%mentos TCP ' %ransmission Control Protocol* o UDP '2ser )atagram Protocol*! UDP es muy importante +oy, ya 0ue se utili3a muc+o en vo3 sobre IP 'VoIP* y en otras aplicaciones! 6a diferencia fundamental entre UDP y TCP es 0ue UDP no proporciona necesariamente transmisiones de datos confiables! De +ec+o, el protocolo no %aranti3a 0ue los datos lle%uen a su destino! /un0ue esto puede parecer un re0uerimiento e?traBo para un protocolo, en realidad es muy >til! Cuando la finalidad de un pro%rama es transmitir la m#?ima informaci$n en el menor tiempo posible, y cada eleA mento de datos carece relativamente de importancia, se utili3a UDP! Por ejemplo, las aplicaciones 0ue transmiten v&deo est#n interesadas en enviar el flujo de v&deo a su destino tan r#pido como puedan! 4o tiene demasiada importancia si uno o dos p&?eles se pierden, sino 0ue el v&deo se %enere lo m#s suave y fluido posible! 2ste tipo de comunicaciones tambi;n se emplea en muc+os jue%os de Internet! Cuando ju%amos con otras personas por Internet, es poco probable 0ue todos los elementos de informaci$n sobre la posici$n sean imprescindibles para 0ue
,i%ura <! .eader IC P tipo 2C." 2l mensaje Destino inalcan3able ')estination unreachable* se usa cuando la subred o un enrutador no pueden ubicar el destino! 2l campo Code para mensajes tipo ) 'destino inalcanA 3able*, contiene uno de los si%uientes valores5 85 4etFork unreac+able 15 .ost unreac+able 95 Protocol unreac+able
A=A el jue%o funcione adecuadamente, por lo 0ue los datos se env&an lo m#s r#pido posible y lo 0ue no Ile%a en su formato ori%inal se descarta! uc+os pro%ramas utili3an cone?iones separadas TCP y UDP 6a informaci$n importante sobre el estado se env&a a trav;s de una cone?i$n TCP confiable, mientras 0ue el flujo de datos principales se env&a por UDP! 2l prop$sito de TCP es proporcionar transmisiones de datos 0ue puedan ser consideradas confiables y mantener una cone?i$n virtual entre dispositivos o servicios 0ue est;n +ablando entre s&! TCP es responsable de la recuperaci$n de datos en caso de 0ue los se%mentos se reciban de forma no secuencial, o si se produce al%>n tipo de corrupci$n durante la entre%a! 2sta recuperaci$n la lleva a cabo proporcionando un n>mero de secuencia con cada se%mento 0ue env&a! Cecu;rdese 0ue el nivel de red inferior trata cada pa0uete como una unidad separada, por lo 0ue es posible 0ue los se%mentos se env&en a trav;s de rutas diferentes, incluso aun0ue todos ellos formen parte de un mismo mensaje! 2ste enrutamiento es muy similar a la forma con la 0ue el nivel de red %estiona la fra%mentaci$n y ensamblado de los pa0uetes, s$lo 0ue en un nivel superior! Para ase%urar 0ue los datos se +an recibido correctamente, TCP re0uiere 0ue se reciba una confirmaci$n, denominada /CG, de la m#0uina de destino, una ve3 0ue +aya recibido satisfactoriamente los datos! (i no se recibe la confirmaci$n /CG adecuada en un determinado espacio de tiempo, se retransA mitir# el se%mento! (i la red est# con%estionada, esta retransA misi$n dar# lu%ar a la duplicaci$n de los se%mentos enviados! (in embar%o, la m#0uina receptora utili3ar# el n>mero de secuencia para determinar si son duplicados, en cuyo caso los descartar#! TCP tambi;n permite 0ue el receptor especifi0ue la cantidad de datos 0ue desea 0ue le env&en! /1 especificar los n>meros de secuencia aceptables, posteriores a la >ltima secuencia recibida, el emisor ser# informado de 0ue el receptor s$lo es capa3 de recibir un conjunto de datos muy espec&fico y no se%uir# enviando datos cie%amente y esperando su confirmaci$n! Un se%mento TCP contiene la si%uiente informaci$n5 puerto de ori%en, puerto de destino, n>mero de secuencia, n>mero de confirmaci$n, lon%itud de la cabecera, banderas UCH//CG/P(./C(T/(E4/,I4, ventana, suma de comprobaA ci$n, puntero de ur%encia, opciones y relleno! Puerto de destino! 2l n>mero de puerto del dispositivo receptor al cual van diri%idos los datos! 34mero de secuencia! Indica el orden de un determinado pa0uete! (e utili3a para reordenar secuencias de se%mento y eliminar duplicados! 34mero de confirmaci n! Identifica el si%uiente n>mero de secuencia esperado!2s decir, confirma 0ue +a recibido bien +asta 4A1 bytes de datos! $ongitud de la cabecera! Indica el tamaBo del +eader en unidades de = bytes! 6a lon%itud m&nima de una cabecera TCP es @, o un total de 98 bytes! .eser&ado! /ctualmente sin utili3ar 'Unused*! 2.5,AC6,PS#,.S%,S73,F"3! Ianderas de un bit, 0ue se utili3an para especificar determinadas condiciones 0ue est#n presentes en la cone?i$n! UCH5 6os datos contenidos en ur%ente son importantes y no se deben i%norar! /CG5 6os datos contenidos en el campo de confirmaci$n no se deben i%norar! P(.5 ,or3ar la transmisi$n! C(T! Ceiniciali3a la cone?i$n! (E45 (incroni3a los n>meros de secuencia! ,I45 4o +ay m#s datos del emisor! Ventana! 2specifica la cantidad de datos se%uidos 0ue el transmisor puede enviar sin esperar confirmaci$n! (e usa para el control de flujo!
Suma de comprobaci n! "tra comprobaci$n m#s de la e?actitud de los datos! "bserve 0ue en cada nivel +ay una verificaci$n de errores independiente! Puntero de urgencia! Identifica los datos 0ue deber#n ser considerados como ur%entes! -pciones! 6as opciones se pueden utili3ar para especificar informaci$n adicional sobre la cone?i$n TCP 'por ejemplo ((, ma?imum se%ment si3e*! .elleno! ,unciona de la misma manera 0ue en la cabecera IP! (e utili3a para rellenar la cabecera TCP de forma 0ue sea un m>ltiplo de = bytes! TCP es un protocolo de la capa de transporte para comunicar datos confiablemente entre dos m#0uinas a trav;s de un circuito virtual! 6os se%mentos TCP 0ue atraviesan la red pueden lle%ar fuera de orden o daBados! Por tal ra3$n se utili3a el n>mero de secuencia para reordenarlos y el n>mero de confirmaci$n para confirmar su recepci$n correcta! 2n la fi%ura 7 se muestra c$mo en una sesi$n ,TP capturada con un anali3ador de protocolos, se incrementa el n>mero de secuencia en 1)99 bytes, el cual representa el n>mero efectivo de datos enviados en cada se%mento! 2l tamaBo 'Si*e* de 1):< bytes indicado en la >ltima columna es el tamaBo total de la trama 2t+ernet e incluye 98 bytes del +eader TCP, m#s 98 bytes de +eader IP, m#s 1= bytes
,i%ura :! .eader TCP Puerto de origen! Un n>mero de 1< bits 0ue especifica el puerto de ori%en de los datos! Cuando la m#0uina receptora responde, utili3a este n>mero como puerto de destino para la respuesta!
A@A del +eader 2t+ernet, es decir 1)99J@=! 6os 1= bytes del +eader 2t+ernet corresponden a las direcciones /C '<J< bytes* y tipo de protocolo '9 bytes*, pero no incluye los 9 bytes del ,C( 'c+e0uo de errores*, los cuales se encar%a de procesarlos la subcapa 66C y son invisibles para el anali3ador de protocolos!
,i%ura 7! 2jemplo de incremento del n>mero de secuencia en una transferencia de arc+ivos ',TP* Pero antes de poder transferir realmente datos usando TCP, se debe establecer una cone?i$n entre las 9 m#0uinas usando el procedimento llamado apret$n de manos de ) v&as '89'ay handshaking* mediante los fla%s (E4 y /CG y el n>mero de secuencia inicial 'I(4*, tal como se ilustra en la fi%ura D! (E4 y con n>mero de secuencia ?J1; adem#s confirma la recepci$n mediante yJ1! / este punto se +a establecido una cone?i$n fullAduple? y se puede comen3ar a transferir datos! 2n la fi%ura 18 se ilustra un ejemplo simple de establecimiento de cone?i$n! 6as l&neas est#n numeradas para facilitar la referencia; las flec+as 0ue apuntan +acia la derec+a indican la salida de un se%mento TCP desde el protocolo TCP / +asta el I, o la lle%ada de un se%mento a I procedente de /! 6as flec+as 0ue apuntan +acia la i30uierda indican lo contrario! 6os estados TCP representan el estado despu;s de la salida o lle%ada del pa0uete 'cuyo contenido se muestra en el centro de cada l&nea*! 2l contenido se muestra de forma abreviada, con n>mero de secuencia, campo /CG e indicadores de control 'CT6*! 2n aras de la claridad, se +an dejado fuera otros campos referentes a la ventana, direcciones, lon%itudes y te?to! 2n la l&nea 9 de la tabla, TCP / comien3a enviando un se%mento (E4 0ue indica 0ue va a utili3ar n>meros de secuencia a partir del n>mero 188! 2n la l&nea ), TCP I env&a un (E4 y confirma el (E4 recibido de TCP /! "bs;rvese 0ue el campo de confirmaci$n indica 0ue TCP I espera a+ora recibir el n>mero de secuencia 181, confirmando as& el (E4 0ue ocupaba el n>mero de secuencia 188! 2n la l&nea =, TCP / responde con un se%mento vac&o 0ue contiene la confirmaci$n /CG, para el se%mento (E4 del TCP I y en la l&nea @, TCP / env&a al%unos datos! "bserve 0ue el n>mero de secuencia del se%mento en la linea @ es el mismo 0ue en la l&nea =, por0ue los mensajes /CG no ocupan espacio de n>meros de secuencia 'si lo +icieran, terminar&amos teniendo 0ue confirmar los mensajes de confirmaci$n*!
,i%ura D! 2l 89'ay handshaking 2l +ost 1 0ue 0uiere establecer la cone?i$n env&a un se%mento con la bandera (E4 'sincroni3ar*! 2ste se%mento contiene el n>mero de puerto de destino y un n>mero aleatorio de secuencia inicial ?! 2l +ost 9 contesta con un se%mento con la bandera (E4 y 0ue contiene su propio n>mero aleatorio de secuencia inicial; adem#s lleva el n>mero de confirmaci$n ?J1 y la bandera /CG! 2l +ost 1 env&a otro se%mento con la bandera
A<A
A:A
A7A Por ejemplo, cuando intentamos acceder a http!,,''':hispa9 sec:com un servidor de D4( reali3a los si%uientes pasos5 Consulta a un servidor ra&3 para conocer 0ue servidor dispone de informaci$n acerca del dominio !com 'dominio de primer nivel*! Con la informaci$n obtenida, conecta al servidor con informaci$n del dominio !com y solicita 0ue servidor dispone de informaci$n del dominio +ispasec!com 'dominio de se%undo nivel*! Una ve3 determinado el servidor del dominio +ispase!com, conecta directamente con ;l y solicita la direcci$n IP asociada al nombre de m#0uina FFF!+ispasec!com 2videntemente para optimi3ar todo este proceso, los servidores de nombres disponen de memorias cac+; para reducir, siempre 0ue sea posible, las consultas a los servidores ra&3 y los servidores responsables de los dominios de se%undo nivel! Cada servidor ra&3 atiende, apro?imadamente, 9:8 millones de consultas cada d&a! 2?isten 1) servidores ra&3 en todo el mundo5 die3 de ellos est#n situados en 2stados Unidos, dos en 2uropa '6ondres y 2stocolmo* y el >ltimo en Kap$n! 2sta distribuci$n deja un poco 0ue desear, ya 0ue +ay una elevada concentraci$n de servidores en #reas %eo%r#ficas muy reducidas! /s& +ay cuatro servidores en la costa oeste de los 2stados Unidos 'todos ellos en California* y seis en la costa este 'cuatro en Vir%inia y dos en aryland*! 6os interesados en conocer la ubicaci$n de cada uno de los servidores y las or%ani3aciones responsables de los mismos, pueden ver un mapa en5 +ttp5//FFF!0uands!info/misc/Febsf1!%if! M!ne3o del DNS 6a or%ani3aci$n responsable de aBadir nuevos T6Ds tales como com, edu y otros, es la Autoridad de 34meros Asignados a "nternet 'I/4/*! 6os servicios de re%istro para un n>mero de T6Ds usados com>nmente son5 Com,edu,org y net! Inter4IC maneja servicios de re%istro para estos cuatro T6Ds! 2l dominio edu est# reservado para institutos de educaci$n superior! 6os servicios de re%istro se locali3an en FFF!internic!net! %ov! 2l dominio %ov est# reservado para el %obierno federal de U!(! 6os %obiernos locales y estadales se desprenden del T6D de U!(! 6os servicios de re%istro para el dominio %ov est#n locali3ados en FFF! Ce%istration!fed!%ov! mil! 2l dominio mil est# reservado para la milicia de los estados unidos! 6os servicios de re%istro est#n locali3ados en FFF!nic!mil! us! 6os servicios de re%istro del dominio us son manejados por el Instituto de servicios de Informaci$n 'I(I*! 6os re%istros de servicios us est#n locali3ados en5 FFF!isi!edu/inAnotes/usdnr! 2n adici$n a los sufijos de dominio de tres caracteres m#s usados, a cada pa&s en el mundo se le +a asi%nado un sufijo c$di%o de pa&s de dos letras! Por ejemplo, el dominio de los 2stados Unidos est# re%istrado como us, Italia it, 2spaBa es! Cada pa&s normalmente desi%na una autoridad para controlar los re%istros de nombre de dominio bajo su c$di%o de pa&s! D&CP 2l Protocolo de Confi%uraci$n de .ost Din#mico 'D.CP* +abilita a las computadoras para 0ue le sean asi%nados autom#ticamente los arre%los de confi%uraci$n TCP/IP desde otro computador! 2l computador 0ue recibe la informaci$n de confi%uraci$n se considera el cliente D.CP, mientras 0ue el computador 0ue suple la informaci$n de confi%uraci$n se considera un servidor D.CP! Como m&nimo, el servidor D.CP confi%ura el cliente D.CP con una direcci$n IP y una m#scara subnet! 2s posible confi%urar el cliente D.CP con arre%los de confi%uraci$n adicionales tales como direcciones IP para %ateFay por defecto, servidores D4( y servidores -I4(! D.CP es un protocolo usado para asi%nar autom#ticamente los par#metros de confi%uraci$n de TCP/IP! D.CP puede confi%urar los par#metros re0ueridos tales como direcciones IP y m#scaras subnet, as& como par#metros opcionales tales como D4( y direcciones IP del servidor -I4(! 2l uso de D.CP puede simplificar el trabajo de los computadores! Puede reducir los costos de soporte por no re0uerir t;cnicos 0ue se vayan al campo a confi%urar manualmente los par#metros de TCP/IP sobre cada computador! D.CP es especialmente importante en el ambiente de +oy en d&a donde muc+os empleados car%an laptops entre oficinas de %randes corporaciones! Usar manualmente las direcciones IP confi%uradas sobre el laptop le permite al computador interconectarse usando TCP/IP >nicamente sobre una red! 2l empleado debe reconfi%urar TCP/IP cada ve3 0ue viaje a otra oficina, o el usuario simplemente no puede usar TCP/IP sobre la red! (in embar%o, si D.CP se instala en cada oficina, el empleado simplemente conecta el laptop a la red, lo enciende y comien3a a trabajar con todas las capacidades normales de TCP/IP! M1todos p!r! Resol#cin de No$"re , &ost Para el usuario com>n, los nombres son muc+o m#s si%nificativos y f#ciles de recordar 0ue los n>meros pero, los computadores son muc+o m#s r#pidos en rellamar, comparar, y manipular n>meros de lo 0ue la %ente pudiera lle%ar a ser! Puesto 0ue los computadores usan n>meros de )9 bits, 0ue son las direcciones IP, para conversar con otros se necesita una manera de ayudar a la %ente a resolver estos n>meros a nombres f#cilmente recordables! .ay al%unas convenciones 0ue se usan com>nmente para dar nombres a los computadores5 nombres de +ost, nombres D4( y nombres 4etII"(! No$"res de &osts 2l uso de los nombres de +ost es una convenci$n 0ue +a estado en todas partes desde los primeros d&as del /CP/net! 2n esta convenci$n, se le asi%na un nombre >nico a cada computador! 6os nombres de +ost se utili3an para ocupar un espacio de nombre plano, lo cual si%nifica 0ue no +ay una estructura jer#r0uica o vertical asociada con el nombre! /l principio, los nombres de +ost para todos los computadores se manten&an en un >nico arc+ivo llamado .osts!t?t! 2ste arc+ivo administraba en forma centrali3ada y e?i%&a a cada computador tener un nombre >nico! Cuando el n>mero de computadores creci$, los nombres asi%nados se +icieron artificiales y poco si%nificativos en su intento de ser >nicos! 2l efecto de red de los espacios de
ADA nombre es 0ue no escalan bien y se vuelven inmanejables cuando est#n involucrados un %ran n>mero de nombres! 2l D4( es un mecanismo de resoluci$n de nombre 0ue se cre$ para conducir los problemas in+erentes a los nombres de +ost y el arc+ivo .ost!t?t! / diferencia de los espacios de nombre 0ue se usa con los nombres de +ost, el D4( es una base de datos distribuida jer#r0uicamente! (e entiende por jer#r0uico, el +ec+o de 0ue el sistema D4( comprime capas m>ltiples y aparece como una estructura de #rbol! Un nombre de dominio es un nombre de dos arre%los 0ue se administra por una autoridad central para ase%urar su unicidad! 6a primera parte del nombre identifica o se relaciona con una compaB&a espec&fica u or%ani3aci$n! 6a se%unda porci$n de un nombre de dominio es un sufijo 0ue proporciona un medio de clasificaci$n 'com, %ov, o edu*! 2stos tambi;n refieren a los dominios de m#s alto nivel 'T6D*! 2l nombre de dominio se re%istra y pertenece a la compaB&a u or%ani3aci$n! 2l nombre F+ite+ouse!%ov es un ejemplo de un nombre de dominio! 2l sistema D4( es realmente bueno en cuanto a c$mo funciona y miles de servidores corren sobre el servicio D4(! /un0ue D4( se considera una base de datos, no est# almacenada toda en un solo lu%ar, lo cual si%nifica 0ue es una base de datos distribuida! 2st# dispersa sobre miles de computadores llamados servidores D4( o servidores de nombres, cada uno con su parte de la base datos! Cada compaB&a, or%ani3aci$n, instituci$n educativa etc! 0ue ten%a un servidor D4( es responsable por +acer su parte del D4(, accesible al resto del sistema! Para entender completamente la estructura del D4( se debe entender 0u; es un ,LD4! Un servidor D4( usa el ,LD4 para locali3ar computadores individuales en otros dominios distintos al suyo y se deriva de la combinaci$n del nombre +ost y el nombre de dominio! Por ejemplo, una m#0uina con un nombre de +ost bobscomputer y el dominio lastingimpressions:com, tendr&a el ,LD4 de bobscomputer:lastingimpressions:com: D4( concede nombres de control local dentro del nombre de dominio asi%nado! 6os servidores D4( en todo el mundo trabajan conjuntamente para formar una base de datos donde se locali3a toda la informaci$n detallada ubicada sobre los servidores D4( 0ue son locales para las compaB&as u or%ani3aciones a los cuales pertenecen los nombres de dominio! D4( le permite al usuario recobrar arc+ivos y documentos desde computadores 0ue podr&an estar virtualmente en cual0uier parte del mundo! Uso de los !rc7i4os de &osts , el DNS /un0ue el Inter4IC +a administrado centralmente el arc+ivo .osts!t?t, ;ste no es el 0ue m#s se mantiene, los arc+ivo .osts todav&a se usan en las redes de +oy en d&a! 2l uso del D4( no e?cluye el uso de los arc+ivos .osts, y al contrario tambi;n! (i se usa o no el arc+ivo .osts depende de 0u; tipo de ambiente de red se ten%a! (obre redes pe0ueBas y estables, donde los computadores mantienen los mismos nombres y direcciones IP por lar%os per&odos de tiempo y donde los computadores no se aBaden o remueven muy a menudo, un arc+ivo .osts podr&a ser una buena opci$n pues, es sencillo de editar y confi%urar y re0uiere atenci$n s$lo cuando se reali3a un cambio! Tambi;n, si una red usa un proveedor de servicios de Internet 'I(P*, ;ste podr&a usar servidores de D4( para resolver nombres sobre Internet y un arc+ivo .osts para resolver nombres sobre la red privada! Una red necesita usar un servidor D4( si es particularmente %rande y cambia con cual0uier %rado de frecuencia! 6a confi%uraci$n y manejo de un servidor D4( puede re0uerir muc+os recursos y +ardFare! Arc7i4os 7ost 2l prop$sito de un arc+ivo .osts es resolver nombres de +ost y opcionalmente ,LD4s a direcciones IP, esto es necesario cuando un computador no tiene acceso a un servidor D4(! 2l arc+ivo +ost a menudo se denomina .ost, aun0ue al%unas implementaciones usan el nombre de arc+ivo .ost!t?t! 2l arc+ivo .ost contiene entradas para +ost 0ue son necesarias para 0ue un computador se comuni0ue con otro, permitiendo introducir est#ticamente una direcci$n IP con el nombre de +ost correspondiente! /s& mismo, el arc+ivo contiene normalmente una entrada para la direcci$n loopback, 19:!8!8!1! la direcci$n loopback se usa para dia%n$sticos TCP/IP y representa Mese computadorN! Cuando una aplicaci$n sobre un computador necesita resolver un problema para una direcci$n IP, el sistema compara primero su propio nombre al nombre 0ue est# siendo re0uerido! (i no +ay coincidencia, el sistema mira en el arc+ivo .ost para ver si el nombre del computador est# en la lista! (i se encuentra al%una coincidencia, la direcci$n IP se retorna al computador local y se usa junto con /CP para obtener la direcci$n de +ardFare del otro sistema! 2n este momento, la comunicaci$n entre ambos puede darse a lu%ar! (i el nombre no coincide con nin%una entrada del arc+ivo .ost, o si no +ay arc+ivo .ost presente, entonces los nombres son enviados a los servidores D4( para su resoluci$n, asumiendo 0ue el sistema est# confi%urado para usar servidores D4(! Edicin de los !rc7i4os &osts Para implementar un cambio usando arc+ivos +osts, se re0uiere editar manualmente o reempla3ar los arc+ivos .osts sobre cada computador! 6a ra3$n de 0ue muc+as compaB&as usen servidores D4( en lu%ar de arc+ivos .ost es a causa de 0ue un cambio +ec+o a un servidor D4( es reconocido r#pidamente por muc+as m#0uinas! (in embar%o, virtualmente cada implementaA ci$n de TCP/IP concede el uso de arc+ivos .ost!
A18A
A11A Tanto 6 .osts como -I4( permiten locali3ar computadoras sobre redes remotas, al%o 0ue el m;todo de resoluci$n basado en broadcast no puede ejecutar! Cecientemente los nombres resueltos de 4etII"( son almacenados en la memoria cac+e de 4etII"(! (iempre y cuando un usuario intente locali3ar un computador espec&fico el sistema siempre consulta la memoria cac+e de 4etII"( antes de buscar el arc+ivo 6 .ost! (i no encuentra nin%una coincidencia, las entradas dentro del arc+ivo 6 .ost pueden ser e?aminadas por el nombre re0uerido! 2ste puede ser un proceso 0ue consume tiempo si +ay muc+as entradas en el arc+ivo 6 .ost, as&, para acelerar el proceso se pueden diseBar ciertas entradas a ser precar%adas dentro de la memoria cac+; de 4etII"(! 2l arc+ivo 6 .ost es e?aminado una ve3 por completo cuando comien3a la intercone?i$n! Resol#cin de No$"re Ser4icio de Internet de 9indows -9INS. -I4(, fue creado para resolver las deficiencias de 6 .osts, as& como el D4( se cre$ para cubrir las deficiencias de los arc+ivos .osts! Cuando un cliente necesita obtener la direcci$n IP de un computador, ;ste puede pre%untar al servidor -I4( por la informaci$n! 2sto se conoce como resoluci$n pAnodo! 6os otros dos modos de resoluci$n de nombres son mAnodo y +Anodo! 6os computadores mAnodo primero usan broadcast para tratar de resolver el nombre, si no resulta entonces usan los servidores -I4(! 6os computaodres .Anodos pre%untan primero a -I4(, si no resulta van a broadcast! Cuando los clientes -indoFs se confi%uran para usar un servidor -I4(, ese cliente, por defecto, se convierte en un cliente +Anodo! -I4( mantiene una base de datos de nombres 4etII"( re%istrados para una variedad de objetos incluyendo usuarios, computaodres, servicios 0ue corren sobre otros computadores y %rupos de trabajo! (in embar%o, en ve3 de las entradas de esta base de datos venir de la edici$n manual de arc+ivos de te?to, como en D4(, los computadores clientes re%istran din#micaA mente sus nombres y direcciones IP con el servidor -I4( cuando comien3an! 2sto puede +acer 0ue estos consuman muc+o menos tiempo para mantenerse 0ue un servidor D4(!
A19A
C!r!cter5stic!s 4etFork /ddress Translator /si%naci$n autom#tica de direcciones IP 'D.CP* /si%naci$n manual de direcciones IP Conversi$n de direcciones de red para IP p>blica '4/T para IP p>blica* Definici$n de filtros manuales /%ente pro?y -I4( Definici$n de los valores de TI 2 "UT para sesiones mapeadas de forma din#mica Pool de direcciones y puertos especiales
ICS NAT (& (& AAA AAA AAA AAA AAA AAA (& (& (& (& (& (& (& (&
Como se puede ver en esta tabla comparativa, IC( y 4/T consi%uen el mismo resultado, aun0ue 4/T tiene m#s opciones de confi%uraci$n! Tanto IC( como 4/T est#n pensados para redes privadas, pero 4/T soporta una red en la 0ue al%uno de los +osts ten%a una direcci$n IP p>blica 'a trav;s del pool de direcciones* mientras 0ue IC( no lo soporta! (i la red est# utili3ando un servidor de D.CP, IC( no podr# correr ya 0ue este lleva un miniAservidor incorporado D.CP 0ue no se puede desactivar! ientras 0ue s& se utili3a 4/T, se puede
desactivar el allocator de D.CP y utili3ar el servidor D.CP de -indoFs 9888! Tanto 4/T como IC( se utili3an cuando todos los usuarios tienen el mismo nivel del acceso! (i es muy importante 0ue un %rupo de usuarios ten%a distintos privile%ios de acceso a otro %rupo, 0ui3#s se deber# considerar el uso de un servidor pro?y, por ejemplo el Pro?y (erver 9!8 de icrosoft! (i en nuestra red +ay servidores p>blicos o privados, como un servidor +ttp o ,TP, entonces 4/T puede ser confi%urado para 0ue cual0uier m#0uina e?terna, desde Internet, ten%an
A1)A acceso a estos servidores! Caracter&stica, 0ue por ejemplo IC( no contempla! /un0ue 4/T es una soluci$n bastante completa, debemos tener en cuenta varios aspectos 0ue no soporta5 6i%+tFei%+t Directory /ccess Protocol '6D/P* Gerberos @ '6os controladores de dominio no pueden replicar a trav;s de 4/T* Cemote Procedure Call 'CPC* Internet Protocol (ecurity 'IP(ec A 4/T no puede traducir los pa0uetes ya 0ue las cabeceras IP est#n encriptadas* C" y DC" (imple 4etFork ana%ement Protocol '(4 P* Cual0uier protocolo 0ue no sea IP, por ejemplo IPP/(PP ,inalmente, podemos observar 0ue 4/T no es una soluci$n est#ndar, sino 0ue depende del tipo de red y del uso 0ue se le prevea! 2l escenario ideal es una red pe0ueBa, peer to peer, donde todos los usuarios tienen los mismos privile%ios de acceso a Internet!
A1=A
,i%ure 15 (tatic 4/T! (omeone on t+e Internet Fants to send a messa%e to a user named Koe at Company /IC! T+e laptop first +as to find out F+at device is +andlin% t+e mail for Company /IC and Fill 0uery D4( servers t+rou%+out t+e Internet! In t+is e?ample, t+e D4( tables reveal t+at IP address 9)8!9)8!9)8!18 is +andlin% t+e mail for Company /IC! T+e laptop t+en packa%es t+e mail and sends it to MKoeQ9)8!9)8!9)8!18N; it still +as to %et to Company /ICRs mail server! T+is is s+oFn in ,i%ure 9! Company /IC +ad obtained IP address space from its I(P, and t+e I(P assi%ned it t+e netFork 9)8!9)8!9)8!8! -+en t+e laptop sends t+e messa%e, it is routed t+rou%+ t+e Internet by different I(Ps until it %ets to t+e I(P t+at is assi%ned t+at netFork block! If, +oFever, t+e address 9)8!9)8!9)8!8 Fas %iven to Company /IC by t+e Inter4IC, t+en Company /IC +as to tell its I(P t+at it needs to route t+at netFork to t+em! 4oF t+e mail comes into t+e fireFall! /ddress 9)8!9)8!9)8!18 is not t+e address of t+e mail server; address 18!1!1!@ is!
A1@A up t+e fireFall to use static netFork address translation to map 18!1!1!@ to 9)8!9)8!9)8!18! T+e fireFall itself is probably address 9)8!9)8!9)8!1, but an e?ternal router Fants to send t+e packet to address 9)8!9)8!9)8!18! T+e e?ternal router Fould send out an /CP re0uest, t+e /CP re0uest says, M-+o is IP address 9)8!9)8!9)8!18UN, and normally, t+e end device Fould just send back its /C address! In t+is 4/T e?ample, t+e fireFall must be confi%ured so t+at F+en t+e e?ternal router sends out an /CP for 9)8!9)8!9)8!18, t+e fireFall/VP4 must respond to t+at re0uest Fit+ its oFn /C address! T+e fireFall/VP4 Fould t+en reply to t+e e?ternal router, sayin% t+at it +as t+e IP address of 9)8!9)8!9)8!18! T+en t+e fireFall/VP4 Fould %et t+e packet; it knoFs t+at /C address of t+e mail server at 18!1!1!@, so it just modifies t+e address on t+e data packet and sends it to t+e mail server! T+e second form of netFork address translation is referred to as Mpooled,N or Mmany to many!N It is a dynamic oneAtoAone mappin% of public IP addresses to your or%ani3ationRs private address space! Eou need to obtain a ran%e of addresses from your I(P and implement t+ese on your fireFall/VP4 device! ,i%ure ) illustrates a manyAtoAmany mappin%! mappin% for a specified time! If no furt+er communication comes from t+at internal +ost, t+e IP address is placed back in t+e pool! / potential problem Fit+ t+is is, if you make t+e time interval too s+ort, every time t+e mac+ine passes t+e device, it is allocated an IP address, F+ic+ loFers t+e available IP addresses left for ot+er mac+ines! If you make t+e time interval too lar%e, F+en t+e communication stream is done, t+at particular translation is still left in t+e device until t+e timer clears, a%ain loFerin% t+e available IP addresses left for ot+er mac+ines! T+is type of netFork address translation is seldom used anymore! T+is setup re0uires you to +ave more public IP addresses t+an available internal +osts, F+ic+ mi%+t be accessin% t+e Internet! If you +ad 18,888 users, and at any time, =88 end users mi%+t be accessin% t+e Internet, you Fould need =88J public IP addresses! T+is is due to t+e timin% interval e?plained in t+e last para%rap+ and because some IP addresses mi%+t not be available for immediate use! Eou Fill see by t+e ne?t 4/T tec+ni0ue, usually referred to as M+ide, port, poolN or MmanyAtoAone,N t+ere is no limitation to t+e number of available IP addresses! Tec+nically, t+ere is a limit, but t+e pool is so lar%e it is considered unlimited! ,i%ure = illustrates a pool 4/T!
,i%ure )5
In ,i%ure ), T+e or%ani3ation +as obtained anot+er Class C IP address of 9)1!9)1!9)1!8 to use as t+eir public netFork ran%e for 4/T translation; t+is consists of a pool of 9@@ +osts! T+eir internal netFork is addressed usin% netFork 18; t+erefore, t+eir +osts are 18!8!8!1,18!8!8!9,18!8!8!), and so on! -e Fill for%et about subnets for t+e moment! T+e fireFall/VP4 device noF does a mappin% of t+e internal private netFork numbers to t+e neF available public netFork numbers! T+e manyAtoAmany translations are dynamic in allocation! Internal +osts are only locked for t+e session, but t+e session is confi%ured on a time interval! T+e mac+ine at address 18!8!8!1 is translated to address 9)1!9)1!9)1!1 on t+e first session passin% t+rou%+ t+e device! T+e ne?t device, t+e mac+ine at address 18!8!8!9, is translated to 9)1!9)1!9)1!9, if 9)1!9)1!9)1!1 is not available! If IP 9)1!9)1!9)1!1 is available, it Fill use t+at one! T+is address translation is confi%urable t+ou%+; you set t+e time t+at t+e translation stays locked into t+e fireFall/VP4 device! (ince client/server communications are stateless, a device +as no Fay of knoFin% if t+e client +as finis+ed its session Fit+ a +ost! T+erefore, a timer is usually set in t+e device! -+en a particular communication stream stops, t+e device Fill +old t+at
T+is type of netFork address translation is becomin% very common; all t+e internal mac+ines are translated to t+e one public IP address of t+e fireFall/VP4 device! T+e device uses ports to keep track of individual mac+ines t+e same Fay a mac+ine uses ports to si%nify upperAlevel applications, e!%!, port 9) for Telnet! T+e device uses similar unused ports to keep track of internal +ost mappin%! T+is type of translation Forks as folloFs5 1! T+e mac+ine at address 18!8!8!9 Fants to connect to -eb (erver 1! 9! T+e re0uest is sent to t+e device on Destination Port 78 'F+ic+ is .TTP* 'FeRll assume t+at 18!8!8!9 is usin% source port @888*! )! T+e device translates t+at address to 9)8!9)8!9)8!1 't+e e?ternal IP address of t+e fireFall*, inserts its oFn source port as 9)=@, and sends t+e re0uest to -eb (erver 1, Destination Port 78! =! T+e server responds back to 9)8!9)8!9)8!1 'Destination Port 9)=@*!
A1<A @! <! :! T+e fireFall/VP4 device looks at t+e port '9)=@*, t+en looks in its table and reali3es t+at it %oes to address 18!8!8!9 port '@888*! It translates t+e address and t+e port and sends t+e packet to t+e local mac+ine! T+e process is repeated over and over!
T+ere is no timer confi%uration Fit+ t+is type of 4/T, since every address is translated to t+at one public IP address! T+is type of 4/T is becomin% e?tremely common! T+e poFer of servers today alloFs t+e fireFall/VP4 device to +andle t+ousands of 4/T re0uests per minute Fit+ no performance de%radation! T+is means t+at you could +ave a device t+at +as a <=,888AtoA1 address translation ratio! In most situations, a combination of pool and static translation is used to accomplis+ netFork address translation! Eou Fould use pool translation for tFo reasons5 1! Eou +ave a nonpublic address Fit+ a lar%e endAuser population! In t+is case, you donRt +ave a c+oice; you need a public routable Internet IP address to transverse t+e Internet and t+at can scale to t+e amount of users you +ave; or 9! Eou already +ave a public address, but Forry about security! Eour or%ani3ation +as a public routable address, but for security reasons, you do not Fant your internal public addresses to be routed alon% t+e Internet! If you did, anyone snoopin% on t+e 4et can see your IP traffic! In t+is case, t+ey Fill see public IP traffic comin% from your internal netFork, possibly see a pattern developin%, and try to compromise your internal +osts! Eou Fould rat+er +ave all traffic directed to t+e fireFall/VP4 device for inspection!
A1:A
Net8IOS NULL Sessions+ t7e =ood' t7e 8!d' !nd t7e U<l,
8rown Uni4ersit, Upd!ted A#<#st >??@
I T7e NULL Session Concept+ T7e =ood2 4U66 sessions take advanta%e of MfeaturesN in t+e ( I '(erver essa%e Ilock* protocol t+at e?ist primarily for trust relations+ips! Eou can establis+ a 4U66 session Fit+ a -indoFs +ost by lo%%in% on Fit+ a 4U66 user name and passFord! Usin% t+ese 4U66 connections alloFs you to %at+er t+e folloFin% information from t+e +ost5 6ist of users and %roups 6ist of mac+ines 6ist of s+ares Users and +ost (IDV '(ecurity Identifiers*
1)D ==@
UDP TCP
Port 1)D or ==@ TCP is re0uired to be open in order for a 4U66 session to be successful 'it needs to connect to IPCW first*! T+e ot+er ports may be re0uired, dependin% on t+e confi%uration, for services suc+ as name resolution! T+ere are many tools available to e?ploit 4U66 sessions, +ere are some e?amples5 En#$ '+ttp5//FFF!bindvieF!com/(ervices/C/X"C/UtiliA ties/-indoFs/enumYreadme!cfm* enum is truly one of t+e best tools for e?ploitin% t+e 4U66 session vulnerability! It is t+e Z(Fiss army knifeZ of 4U66 session +ackin%, alloFin% you to e?ploits every aspect of t+is flaF! Its true poFer lies in t+e ability to enumerate users, and t+en try to brute force t+e passFord usin% a supplied passFord list! (ample output is beloF 'I usually run Fit+ t+e [( and [U fla%s as s+oFn beloF*5
C:\tools>enum -SU <IP Address> server: <IP Address> setting up session... success. getting user list (pass 1 inde! "#... success got $. Administrator %uest IUS&'C(A))*+ I,A-'C(A))*+ victim'user enumerating s.ares (pass 1#... got / s.ares " le0t: IPC1 c A2-I)1 C1 cleaning up... success.
4U66 sessions e?ist in FindoFs netForkin% to alloF5 Trusted domains to enumerate resources Computers outside t+e domain to aut+enticate and enumerate users T+e (E(T2 resources account to aut+enticate and enumerate
4etII"( 4U66 sessions are enabled by default in -indoFs 4T and 9888! -indoFs PP and 988) Fill alloF anonymous enumeration of s+ares, but not (/ accounts! II T7e 8!d !nd t7e U<l, T+e 4U66 session vulnerability is fairly Fidespread, +oFever t+e introduction of -indoFs PP and -indoFs 988) +as made it far less useful! ,or t+e most part if t+e appropriate ports are accessible a 4U66 session is possible!
Description 6ocation (ervice 'CPC endpoint mappin%* 6ocation (ervice 'CPC endpoint mappin%* 42TII"( 4ame (ervice 42TII"( 4ame (ervice 42TII"( Data%ram (ervice 42TII"( Data%ram (ervice 42TII"( (ession (ervice
,rom t+e above output Fe can see t+at t+e mac+ine +as one additional user aside from t+e default accounts, called MvictimYuserN, and t+at none of t+e default accounts +ave been renamed! T+is is anot+er %reat usa%e of 4U66 sessions, if t+e user +as been conscientious and renamed t+e administrator account, Fe can see F+at it +as been c+an%ed to! T+e %uest account e?ists as Fell, F+ic+ comes by default in most FindoFs, and s+ould be left disabled! It appears as t+ou%+ t+is mac+ine is also runnin% icrosoft II( Feb server, from t+e IU(CYSmac+ine nameT account t+at e?ists! ovin% on to t+e s+ares Fe see all of t+e default +idden administrative s+ares 'denoted by t+e MWN c+aracter*, as Fell as an un+idden s+are called McN! T+e ability to vieF +idden s+ares on t+e +ost is yet anot+er %reat feature of 4U66 sessions! &#nt '+ttp5//FFF!foundstone!com/resources/freetools/+unt!3ip* Part of t+e 4T ,orensic Toolkit from ,oundstone, t+is tool makes it very easy to enumerate users and s+ares from a
A17A vulnerable FindoFs +ost, and is t+e most accurate in my e?perience! (ome sample output is beloF5
C:\tools>.unt \\<IP Address>
8#ilt%in tools Eou can use builtAin tools to enumerate 4U66 sessions by e?ecutin% t+e folloFin% command usin% t+e ZnetZ utility t+at comes Fit+ -indoFs! -it+out 4U66 sessions F+en Fe attempt to list t+e s+ares on a remote FindoFs computer Fe %et t+e folloFin% error5
C:\tools>net vie9 \\-C.SU4.)*@.IP
s.are 3 IPC1 - &emote IPC s.are 3 c s.are 3 A2-I)1 - &emote Admin s.are 3 C1 - 2e0ault s.are User 3 Administrator 4uilt-in account 0or administering t.e computer5domain Admin is <)et4I6S )ame>\Administrator User 3 %uest 4uilt-in account 0or guest access to t.e computer5domain User 3 IUS&'<)et4I6S )ame> Internet %uest Account 4uilt-in account 0or anon7mous access to Internet In0ormation Services 4uilt-in account 0or anon7mous access to Internet In0ormation Services User 3 I,A-'<)et4I6S )ame> Internet %uest Account 4uilt-in account 0or anon7mous access to Internet In0ormation Services out o0 process applications 4uilt-in account 0or anon7mous access to Internet In0ormation Services out o0 process applications User 3 victim'user 8ictim )ame
Iy default Fe Fould not +ave permissions to list t+e s+ares! If Fe map t+e IPCW s+are 'Inter Process Communications* usin% our 4U66 username and passFord combinations Fe are successful5
C:\tools>net use \\-C.SU4.)*@.IP\IPC1 DD 5u:DD @.e command completed success0ull7.
/bove Fe see t+e same information as enum presents represented in a sli%+tly different format! winAo '+ttp5//ntsecurity!nu/toolbo?/Finfo/* T+is command line tool 0ueries t+e +ost for most of t+e information made available by a 4U66 session 'Includin% any trust relations+ips* and displays it to t+e screen! (ample output is beloF5
C:\>9in0o 1:;.1/;.1$1.< =n 9in0o 1.$ - cop7rig.t (c# 1>>>-:""1 Arne 8idstrom - .ttp:55999.ntsecurit7.nu5tool?o!59in0o5
@r7ing to esta?lis. null session... )ull session esta?lis.ed. US*& ACC6U)@S: A Administrator (@.is account is t.e ?uilt-in administrator account# A %uest (@.is account is t.e ?uilt-in guest account# A victim'user ,6&BS@A@I6) @&US@ ACC6U)@S: I)@*&26-AI) @&US@ ACC6U)@S: S*&8*& @&US@ ACC6U)@S: S(A&*S: A IPC1 A drivec1
III Usin< t7e InAor$!tion /n attacker Fill use t+e information %ained from 4U66 sessions and try to lo%on to t+e system, usin% various tools t+at Fill try different username and passFord combinations! Common attacks a%ainst University computers +ave s+oFn t+at attackers Fill typically %ain access to t+e system, install ,TP servers, ICC bots, and DD"( tools, t+en copy t+e ille%al 'copyri%+ted and pirated* softFare up for distribution! T+e ,TP server (ervAU ,TP (erver and t+e ICC bot iroffer are very common as Fell! T+is task is made easier by users F+o F+en prompted for an administrator passFord F+en installin% 4T/9888/PP leave it blank! Please set a passFord on every account on your mac+ine, if not for t+e security of your mac+ine, t+en for t+e security of all our mac+ines! / Form called MXotobN t+at takes advanta%e of t+e (8@A8)D vulnerability relies on 4U66 sessions to propa%ate! ,olloF t+e instructions in t+e ne?t section to protect yourself 'and of course apply all operatin% system patc+es*! IB &ow to Dis!"le Net8IOS NULL Sessions ,olloF t+e link beloF to doFnload a script to disable 4U66 sessions5 DoFnload Disable 4U66 sessions (cript '/ut+ored by IroFn University (oftFare (ervices* IeloF are instructions on +oF to manually disable 4etII"( 4U66 sessions5
T+e output above s+oFs t+e listin% of users, similar to t+e ot+er tools! Finfo is uni0ue in t+at it Fill also s+oF t+e trust relations+ips t+is mac+ine may +ave Fit+ ot+er mac+ines! ,inally, it Fill list t+e s+ares it +as made available! D#$psec '+ttp5//FFF!systemtools!com/c%iAbin/doFnload!plU Dump/cl* ,ormerly Dumpacl, T+is tool is similar to Finfo, but +as a HUI interface!
A1DA 9indows CP &o$e Edition 4ote5 T+is also Forks in -indoFs 9888 and PP Professional! 1! (et t+e ,olloFin% Ce%istry Gey5 .G6 /(ystem/CurrentControl(et/Control/6(//Cestrict/nony mous\9 9! Ceboot to make t+e c+an%es take effect! 9indows CP ProAession!l Edition !nd 9indows Ser4er >??D 1! Ho to /dministrative Tools AAT 6ocal (ecurity Policy AAT 6ocal Policies AAT (ecurity "ptions! ake sure t+e folloFin% tFo policies are enabled5 4etFork /ccess5 Do not alloF anonymous enumeration of (/ accounts5 2nabled +)efault( 4etFork /ccess5 Do not alloF anonymous enumeration of (/ accounts and s+ares5 2nabled T+is can also be accomplis+ed usin% t+e folloFin% re%istry keys5 .G6 ](ystem]CurrentControl(et]Control]6sa]Cestrict/nonym ous\1 +%his disallo's enumeration of shares( .G6 ](ystem]CurrentControl(et]Control]6sa]Cestrict/nonym ous(/ \1 +)efault, not allo'ing enumeration of user accounts( 9! Ceboot to make t+e c+an%es take effect! 9indows >??? 1! Ho to AAT /dministrative Tools AAT 6ocal (ecurity (ettin%s AAT 6ocal Policies AAT (ecurity "ptions 9! (elect Z/dditional restrictions of anonymous connectionsZ in t+e Policy pane on t+e ri%+t )! ,rom t+e pull doFn menu labeled Z6ocal policy settin%Z, select5 Z4o access Fit+out e?plicit anonymous permissionsZ =! Click "G @! T+e re%istry settin% e0uivalent is5 .G6 ](ystem]CurrentControl(et]Control]6sa]Cestrict/nonym ous\9 <! Ceboot to make t+e c+an%es take effect! 9indows NT E ? -Ser4ice P!c: D or l!ter. (et t+e ,olloFin% Ce%istry Gey5 .G6 /(ystem/CurrentControl(et/Control/6(//Cestrict/nony mous\1 S!$"! I am not certain +oF t+is Forks in t+e latest releases of (amba! Please email me Fit+ any feedback or e?periences you could provide! B F#rt7er DeAenses -+ile t+e above describes +oF to disable t+is vulnerability on t+e +ost, t+ere are some t+in%s you can do on t+e netFork to +elp defend a%ainst 4U66 sessions5 Ilockin% 4etII"( ports on your fireFall or border router Ilockin% t+e -indoFs netForkin% ports in ,i%ure 1 Fill prevent a%ainst 4U66 sessions '/nd ot+er attacks t+at use 4etII"(* Cemove t+e IPCW s+are 'net s+are IPCW /delete*
Intr#sion Detection ost Intrusion Detection systems come Fit+ si%natures to detect 4U66 session activity, alt+ou%+ F+en run on t+e MinsideN of your netFork Fill %enerate false positives if not confi%ured correctly! Confi%urin% t+e (nort ' FFF!snort!or% * 4U66 session detection rule '+ttp5//FFF!snort!or%/pubAbin/si%s!c%iU sid\@)8* to look at certain traffic proves to be very effective! ,or e?ample, you may only Fant to look at 4U66 session attempts from t+e Internet to your internal netFork, and ID( rules s+ould be confi%ured accordin%ly! Acco#nt Polic, /ll versions of -indoFs t+at are vulnerable to t+is attack provide some mec+anism to set account policies! T+e Center for Internet (ecurity +as released benc+mark standards for all -indoFs platforms t+at include recommended account policies '(ee +ttp5//FFF!cisecurity!or% for more details and to doFnload t+e benc+marks*! T+ey cover passFord e?piration, passFord len%t+, and account lockout policies, F+ic+ s+ould all be applied to your domain 'or Forkstation if you are not part of a domain*! T+ese documents also outline some recommendations for audit policies, or lo%%in% of certain activity on your computer! Eou s+ould enable lo%%in% of security events on your FindoFs servers and Forkstations for accountin% purposes! /ccount and auditin% policies s+ould be tailored to individual or%ani3ations needs! .avin% t+ese in place Fill si%nificantly decrease t+e risk of someone usin% 4U66 sessions to %ain access to your mac+ine! BI ReAerences !nd F#rt7er Re!din< 9e" Sites+ rr!sans!or%/Fin/null!p+p A M4U66 sessions In 4T/9888N A Per+aps t+e best description of F+y 4U66 sessions e?ist, and %eneral 4U66 session facts includes a complete description of +oF 4etII"( 4U66 sessions are used in a -indoFs netForkin% environment! Iy Koe ,inamore! FFF!%iac!or%/certifiedYprofessionals/practicals/%ci+/8)=@!p+p A M-eak PassFords J 4U66 (ession \ -indoFs 9888 2?ploitN AT+is paper outlines t+e dan%ers of 4U66 sessions and %ives an e?ample of incident t+at uses t+is vulnerability! Iy ic+ael (! Griss!
A98A FFF!+sc!fr/ressources/presentations/nullYsessions/msrpcYnullY sessions!pdf A M (CPC 4U66 sessions A e?ploitation and protectionN [ / neF Fay to e?ploit 4U66 sessions usin% (CPC and named pipes! 6ets you do more t+an just vieF users and s+ares! FFF!soft+eap!com/security/sessionAaccess!+tml A Z.oF is information enumerated t+rou%+ 4U66 session access, Cemote Procedure Calls and IPCWUZ FFF!sy%ate!com/alerts/4etbiosY4ullY/ttack!+tm A M4etII"( 4U66 (ession /ttack in PPN FFF!microsoft!com/tec+net/treevieF/default!aspU url\/Tec+4et/prodtec+nol/Fin?ppro/proddocs/FindoFsYsecurit yYdifferences!asp A Important differences betFeen -indoFs 4T =!8 and -indoFs PP Professional secinf!net/info/nt/Fardoc!t?t A MT+e -indoFs 4T -/CD"C5 / (tudy in Cemote 4T PenetrationN FFF!sans!or%/top98/OF) A (/4(/,II Top 98 6ist, -indoFs Cemote /ccess (ervices 8oo:s+ Z.ackin% 2?posedZ or Z.ackin% -indoFs 9888 2?posedZ, (cambray ^ cClure, C+apter =5 2numeration Ot7er Uni4ersities Descriptions oA Net8IOS NULL Sessions+ FFF!cit!cornell!edu/computer/security/scannin%/FindoFs/nulls essions!+tml rusecure!rut%ers!edu/addYsecYmeas/nullssn!p+p security!uc+ica%o!edu/FindoFs/netbios/inde?!s+tml mit!edu/ist/topics/FindoFs/server/Finmitedu/security!+tml