Entradas con la etiqueta ‘Windows’

Recursos compartidos

Sábado, 16 de Junio de 2001

#####################################
## HACKINDEX ##
## http://www.hackindex.org ##
#####################################
Titulo: Recursos compartidos
Autor: CrinO
Tema: Acceso a las cosas remotas

La información incluída en este documento es expuesta en base a un interés educativo. HackIndex no se hace responsable del uso de dicha información.

El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuído de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: http://www.hackindex.org ; y se incluya este disclaimer en su totalidad y sin modificación alguna.

Queda extrictamente prohibida su distribución con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.
#####################################

Hola a todos, en este corto articulo voy a tratar de una forma casi practica los recursos compartidos de Microsoft (este articulo esta basado en una respuesta que di en las news), con una breve introduccion teorica, si despierta interes (y alguien se anima ;-P) mas adelante se puede dedicar otro capitulo a “destripar” el funcionamiento de los protocolos NetBios y NetBeui (estoy en ello :-) ).

Caso Primero: SIN CONTRASEÑA

DESDE WINDOWS:

¿Que se puede hacer?, bueno, lo contare como si operasemos desde otro guindos.

Antes de hacer nada, deberemos de activar nuestro cliente de NetBIOS, lo cual lo haremos dirigiendonos al Menu de inicio–>Configuracion–>Panel de control–>Red Una vez que estamos en la ventana de red, daremos a “agregar” y seleccionamos “cliente” y de la ventana de los clientes disponibles seleccionamos “Cliente para redes Micrisoft”. Daremos ha aceptar cuantas veces requiera (lo mismo nos pide el CD de Windows) y lo terminamos de instalar. Con esto ya tendremos todas las herramientas que necesitamos. Notese que no hemos instalado el servicio, ya que seriamos vulnerables a ataques del tipo aqui descrito y a los diversos nukes.

Lo primero que hacemos es abrir una ventana de MS-DOS, y ejecutamos el comando nbtstat, que por su nombre os podeis imaginar para que sirve.

c:\> nbtstat -A IP (donde IP es la ip del ordenador objetivo)

NetBios Remote Machine Name Table

Name type status
———————————–

PARDILLO <00> UNIQUE Registered
PARDILLOGROUP <00> GROUP Registered
PARDILLO <03> UNIQUE Registered
PARDILLO <20> UNIQUE Registered
PARDILLOGROUP <1E> GROUP Registered
PEPITO <00> UNIQUE Registered
PEPITO <1D> UNIQUE Registered
..__MSBROWSE__.. <01> GROUP Registered
PEPITO <03> UNIQUE Registered

MAC Address = loquesea

Bueno, ahora y antes de nada pasare a explicar por encima que significa cada campo de esta tabla:

<00> UNIQUE: Quieren decir que la maquina tiene activado el cliente para NetBIOS, y que su nombre NetBIOS es el que pone en el campo Name, en este caso es PARDILLO.

<00> GROUP: Indica el Dominio o Grupo de trabajo.

<03> UNIQUE: Este tipo significa que el servicio de mensajeria esta activo (Messeger Service), os suenan los mensajes emerjentes (Win Popup)?, pues es eso. En las maquinas Win9x esta activo por defecto, por eso aparece el nombre Netbios de la maquina hay tambie, pero si nos fijamos mas abajo, tambien aparece con el nombre del usuario conectado en ese momento.

<20> UNIQUE: Este tipo nos indica que tiene el File Server Service activo, o sea esta compartiendo archivos e impresoras, bueno, que tiene el servicio activo, aunque se puede dar el caso de que no comparta nada.

<1E> GROUP: Quiere decir que tiene activado el servicio Browser Service Elections, este servicio se encarga de negociar quien va ha ser el Master Browser del Dominio o Grupo.

<1D> UNIQUE: Indica que esta configurado para ser el Master Browser, que es como quien dice, el encargado de recoger los nombres NetBIOS de los equipos de su Grupo.

<01> GROUP: Indica que posee el estatus de Master Browser en su Grupo de Trabajo y esta marcado con __MSBROWSE__. Esta particularidad es muy util para conseguir informacion del resto de la red, ya que el mantiene, como Master Browser que es, una tabla con todos los nombres NetBIOS de su Grupo de Trabajo y las direcciones IP que les corresponde.

<1C> GROUP: Indica que la maquina es controlador de dominio, bien un PDC o BDC, logicamente, solo veremos este campo en Win NT server o en Samba Server.

<1B> GROUP: Nos indica el nombre del Domain-Controler del que depende.

Hay mas tipos de campos, eso tengo entendido, pero a dia de hoy yo conozco estos.

Pues bien, como hemos visto tras el analisis de la tabla, los campos <00> UNIQUE y <20> UNIQUE nos muestran el nombre NetBIOS de la maquina, en este caso PARDILLO, y en las etiquetas <03> UNIQUE,que aparecen mas abajo, vemos el usuario que esta en el ordenador y donde pone <00> GROUP es el del grupo de trabajo/dominio en el que se ubica la maquina.

¿Que sacamos de aqui?, pues que tenemos el nombre netbios de la maquina, el grupo de trabajo en el que esta, quien lo usa y que comparte recursos.

Siguiente:

Editamos el archivo LMHOSTS, que esta en c:\windows y le añadimos a ip y el nombre de la maquina que hemos obtenido. Si no sabeis el formato del archivo LMHOSTS, editad el LMHOSTS.sam que es un ejemplo (tambien esta en el directorio windows).

Ahora ejecutamos ntbstat -R, para que cargue el nuevo LMHOST.

Seguimos, vamos a ver que es lo que comparte la maquina PARDILLO:

c:\> net view \\PARDILLO

y nos saldra todo los recursos compartidos que tenga activos.

Hemos de notar aqui, como se comento antes, que aunque vieramos el Servidor de ficheros activo, podria darse el caso de que no tenga nada compartido.

Y ahora que ya sabemos los nombres de los recursos compartidos ya podemos utilizarlos :-) , simplemente:

c:\> dir \\PARDILLO\cartas

y nos dira todo lo que hay en el recurso “cartas”, por ejemplo copy, o del, o type, lo que os de la gana, ya que en este caso, si no tiene contraseña, no nos pedira autentificacion.

Hasta aqui bien, hemos supuesto que el objetivo tambien es una maquina Win9X pero si es una maquina Win NT?, pues segun maneja NT el protocolo NetBIOS no nos dejaria entrar, ya que no corresponde el usuario que nuestro ordenador le facilita con ninguno de su base de datos de seguridad. Para ello utilizaremos el usuario que nos facilito el comando netstat y esta vez no nos quedara mas remedio que montar la unidad de red de la siguiente manera:

c:\> net use d: \\PARDILLO\cartas /USER:dominio\usuario

Donde en este caso he utilizado la unidad “d”, pero podeis utilizar cualquier letra que tengais libre.

El parametro que hemos dado “/USER:dominio\usuario” sirve para especificar con que usuario nos conectamos, normalmente el campo “dominio” os lo saltareis, pero habra veces que sin el no deje conectarse. Es buena idea utilizar lo que aparecia en el netstat como grupo en este campo. En “usuario” pondremos el usuario anteriormente citado.

¿y porque no “conectarse a unidad de red”? pensara alguno, pues porque si lo hacemos asi apareceremos en el monitor de red, y supongo que no es agradable ¿verdad? X’DDD, en el caso del NT, deberemos correr el riesgo (¿o quiza no?).

DESDE LINUX:

Bueno, realizar la conexion desde Linux, viene a ser el mismo procedimiento pero usando distintos comandos. Antes de nada, debereis tener instalado el paquete “Samba”, el cual nos permite la conectividad con el protocolo NetBIOS sobre IP, ademas de que como servidor es excelente, segun lo veo yo. Tambien necesitareis el “nbtscan”, es un programa muy util, que hace la funcion del netstat de MS-DOS, pero contando con mas mejoras.

Empezaremos por averiguar el nombre NetBIOS del la IP que es nuestro objetivo y su grupo de trabajo, y de paso sacaremos mas datos de interes.

Para ello haremos lo siguiente desde una consola:

[crino@CrinO]$ nbtscan -vh IP
Doing NBT name scan for adresses from IP

NetBIOS Name Table for Host IP:

Name Service Type
—————————————-
PARDILLO Workstation Service
PARDILLOGROUP Domain Name
PARDILLO Messenger Service
PARDILLO File Server Service
PARDILLOGROUP Browser Service Elections
PARDILLO Messenger Service

Adapter address: la mac que sea
—————————————-

Como vemos, en este caso, el nbscan, con la opcion -h (human readable) nos ayuda a interpretar cada cosa.

El campo “Workstation Service”, es el campo que con el netstat de MS-DOS veiamos como <00> UNIQUE, para ver la tabla en ese formato solo tenemos que llamar a nbtscan sin la opcion -h, y este campo es el nombre NetBIOS que buscabamos como se comento antes. Tambien hemos de notar, que el tipo <03> UNIQUE que hay al final y que nbtscan nos muestra como “Messeger Service”, es el nombre del usuario conectado a la maquina, para ver esto mas claramente sera suficiente con que hagamos:

[crino@CrinO]$ nbtscan IP
Doing NBT name scan for adresses from IP

IP address NetBIOS Name Server User MAC address
——————————————————————————
IP PARDILLO PARDILLO La MAC que sea

Como vemos, en este caso coinciden el nombre de la maquina y el usuario conectado, esto pasa cuando no se han definido usuarios en un Win/9x, pero que si los hubiera, probablemente no coincidirian.

Como podemos observar, el nbtscan nos indica que tiene el servidor de ficheros activado, pues observamos “File Server Service” (<20> UNIQUE), entonces seguramente estara compartiendo algo, ahora pasemos a ver que comparte, para ello usaremos el cliente en modo texto del paquete Samba, que se asimila mucho a un cliente FTP:

[crino@CrinO]$ smbclient -L //PARDILLO -I IP
SSL: Error error setting CA cert locations: error:00000000::lib(0) :func(0) :reason(0)
trying default locations.
added interface ip=10.10.10.10 bcast=10.10.10.127 nmask=255.255.255.240
added interface ip=192.168.100.1 bcast=192.168.100.255 nmask=255.255.255.0
Got a positive name query response from 10.10.10.11 ( 10.10.10.11 )
Password:

Sharename Type Comment
——— —- ——-
C Disk
IPC$ IPC Comunicaci”n remota entre procesos

Server Comment
——— ——-

Workgroup Master
——— ——-
PARDILLOGROUP PARDILLO

Ya tenemos todos los datos necesarios, sabemos como se llama, su IP, su Grupo/Dominio y que comparte, ya podemos intentar conectarnos, para lo cual usaremos de nuevo el smbclient:

[root@CrinO /root]# smbclient //PARDILLO/c
SSL: Error error setting CA cert locations: error:00000000::lib(0) :func(0)
:reason(0)
trying default locations.
added interface ip=10.10.10.10 bcast=10.10.10.127 nmask=255.255.255.240
added interface ip=192.168.100.1 bcast=192.168.100.255 nmask=255.255.255.0
Password:
smb: \>

Y ya estamos dentro, cuando el smbclient nos pida la password, simplemente daremos al intro, tambien si le expecificamos el parametro -N no nos pedira la pass. El manejo del cliente es similar a un cliente de ftp, para mas informacion “man smbclient”.

Una vez aqui, volvemos a lo de antes, el caso de que sea un NT y no un win9x, lo cual requerira que le especifiquemos el usuario y Dominio (o Grupo de Trabajo):

[root@CrinO /root]# smbclient //PARDILLO/c -U PARDILLO -W PARDILLOGROUP
SSL: Error error setting CA cert locations: error:00000000::lib(0) :func(0)
:reason(0)
trying default locations.
added interface ip=10.10.10.10 bcast=10.10.10.127 nmask=255.255.255.240
added interface ip=192.168.100.1 bcast=192.168.100.255 nmask=255.255.255.0
Password:
smb: \>

Como se observa facilmente, las opciones para especificar usuario y grupo son -U y -W respecticamente.

Caso Segundo:SIN CONTRASEÑA

En el caso de que los recursos se encuentren con contraseña, deberemos utilizar otras tecnicas para llegar al caso uno.

Para conseguir la contraseña podemos recurrir a gran cantidad de programas que corren por la red, los cuales lo unico que hacen como norma general es un ataque por fuerza bruta. Ejemplo de este tipo de programa es el CAIN.

Otra tecnica mas “sutil” y avanza, de la cual no es proposito este texto, es aplicar sniffing y spoofing, tecnicas que solo pueden ser utilizadas en escenarios muy concretos o es posible usar algun bug del proceso de autentificacion en el caso de win95/98, los cuales han sido ya documentados.

En el caso de Win NT/2000, podremos continuar intentando los clasicos ataques por fuerza bruta al recurso, o a la hora de sniffar usar un crackeador de MD5 por fuerza bruta, ya que este es el metodo de encriptacion que usa esta plataforma. Tambien hay que tener en cuenta que cuando tratamos con Dominios de NT, deberemos ser autentificados previamente por un PDC o BDC…aunque tambien hay documentos mas avanzados en la red que explican vulnerabilidades de estos procesos…pero eso es otra historia ;-)

  • Share/Bookmark

¿Se puede hackear desde Windows?

Sábado, 16 de Junio de 2001

#####################################
##                                 HACKINDEX                               ##
##                     http://www.hackindex.org                    ##
#####################################
Titulo: ¿Se puede hackear desde Windows?
Autor: Lokutus
Tema: Windows

La información incluída en este documento es expuesta en base a un interés educativo. HackIndex no se hace responsable del uso de dicha información.

El siguiente documento es propiedad de HackIndex y de su autor, pudiendo ser distribuído de forma totalmente libre y sobre cualquier tipo de soporte siempre y cuando se respete el formato original, se cite a A.H.E. como fuente, se incluya un enlace actualizado al documento o a la web del grupo: http://www.hackindex.org ; y se incluya este disclaimer en su totalidad y sin modificación alguna.

Queda extrictamente prohibida su distribución con fines lucrativos, cuando se altere su contenido sin consentimiento o cuando se incumpla cualquier otra condicion citada anteriormente en el presente disclaimer.
#####################################

¿SE PUEDE HACKEAR DESDE WINDOWS?
——————————–

A veces, y leyendo las news o algún foro desde la web, uno se encuentra afirmaciones tales como, “No se puede hacer hacking desde Windows”, “para ser hacker tienes que tener linux, si no eres un lamer”

Aclaremos un primer punto, ¿qué es un hacker?, existen casi tantas definiciones como personas existen.

Si nos vamos al lexicon, o leemos el artículo de Richard Stalmand acerca de “como ser un hacker”, observamos que según algunos circulos, ser hacker no consiste en romper la seguridad de sistemas informáticos, si no en resolver problemas, desarrollar software libre, hacer traducciones, soporte gratuito en las news y en el IRC ayudando a los que tienen problemas, e incluso hacer trabajos menos reconocidos como moderar grupos de noticias o listas de correo.

Bajo ese punto de vista, es obvio que se puede desarrollar software libre para cualquier sistema operativo, ya sea Windows, BeOS, Linux o BSD en cualquiera de sus variantes. Y desde ese punto de vista, es probable que existan más hackers en “es.comp.linux.misc” que en “es.comp.hackers”.

A menudo leyendo documentaciones o escritos procedentes del mundo del software libre, encuentro la palabra “hackear”, a veces esa palabra la traduzco como “desarrollar”, y otras veces como “hacer ingeniería inversa” o “aprender todo acerca del funcionamiento del software XXX”.

Por ejemplo, cuando alguien intenta hallar el formato de un tipo de documento, o gráficos que no está documentado, o un protocolo, está hackeando. Los que programaron el software para ver DVD en linux, hackearon el sistema de encriptación del DVD.

Naturalmente, Windows es una plataforma más cerrada sobre la que tienes menos información, y hay cosas que desearía desarrollar pero que no puedo hacerlas por carecer de información técnica. Sin embargo en Linux hay toda la información que necesito.

Si nos centramos en el otro significado de la palabra “hacker”, invadir sistemas informáticos ajenos, o al menos ser capaz de hacerlo. También se puede hacer desde Windows. Nuevamente, es posible que inicialmente carezcamos de Herramientas, pero poco a poco podemos conseguirlas.

Por otro lado, muchas herramientas no se van a ejecutar en la máquina del “hacker” si no en la máquina destino, como los root shell, los zapper, etc.

A veces en la máquina “victima” no dispondrá de compilador, y necesitaremos compilar en nuestra propia máquina las “herramientas”, pero, ¿y si tienes linux y la máquina destino es un Solaris?, ¿y si una vez escarmentado, te has instalado solaris y la máquina de destino es un BSD en plataforma Power PC?, por muchos sistemas operativos que tengamos instalados siempre nos encontraremos con el problema de no poder compilar una herramienta.

Un hacker, según muchas definiciones, es ante todo un forofo de la informática, alguien que siempre está liado con ordenadores, y en mi opinión un forofo lo mismo que en un momento dado trastea con Linux, en el momento siguiente está trasteando con Windows 2000, y en el siguiente con BSD.

¿Visteis la película “RAMBO” cuando dice, “yo he pilotado tanques, helicopteros, y he manejado todo tipo de armas”?, pues es un poco, como ser un “RAMBO” pero de la informática, ser capaz de pilotar cualquier sistema operativo que le pongan por delante, poder meterse con cualquier lenguaje de programación, o al menos aprenderlo en poco tiempo.

Si, si, ya se que el que mucho abarca poco aprieta, pero el que tiene los conceptos bien claros, puede abarcar mucho, un desarrollador de software experto, cuando piensa en una arquitectura de software, le importa tres carajos en qué lenguaje de programación se va a desarrollar. A ningún programador de verdad, le asusta meterse de repente en Modula 2 cuando siempre ha programado en C, por ejemplo.

De la misma forma, meterse de repente con Open VMS, o con MVS no debería asustar a nadie si tiene los conceptos claros acerca de qué es un sistema operativo y como funciona. Al principio tendrá que ler mucho y hacerse chuletas, pero en un par de semanas como el que más.

En mi opinión, e independientemente del concepto de “hacker” que tengamos, puede ser util montarse un laboratorio “hacker” en casa, siempre y cuando sea posible.

Para empezar, aunque no imprescindible, pero si muy, muy aconsejable, disponer de varios ordenadores, yo en casa tengo siete ordenadores, pero si vivis con vuestros padres o estais casados no es aconsejable tener tantos, puesto que podeis tener problemas familiares, y puede que os envien a una terapia de grupo.

Un segundo o tercer ordenador, lo podeis conseguir de segunda mano bastante baratos, por ejemplo los que vivais en Madrid, podeis conseguir un Pentium 90 – 100 por unas 20.000.

Lo que llevais un tiempo usando ordenadores y sabeis algo de hartware, es muy probable que cada cierto tiempo actualizais vuestro ordenador, le cambiais la placa base, la tarjeta de video, y poco a poco, os encontrais con que teneis el ordenador original que teníais en piezas sueltas, en ese caso, sólo os falta compraros una caja minitorre para tener un segundo o tercer PC.

El segundo paso es instalaros una pequeña red local en vuestra casa, las tarjetas de red actualmente están tiradas de precio, por unas 2000 pesetas podeis conseguirlas. Un Hub de 4 puertos tampoco vale tanto, aunque os lo podeis ahorrar si adquiris tarjetas con conectores de varios tipos y os instalais la red con cableado coaxial.

Tambien os podeis ahorrar la compra de varios monitores con un conmutador de pantalla-teclado-raton, hay dos tipos de este dispositivo, los más baratos, son una vulgar caja con un conmutador de galleta dentro, eso suele dar problemas al conmutar, por ejemplo que el teclado deje de funcionar y tengais que rearrancar un ordenador. A veces por culpa de los falsos contactos, se os puede poner el monitor de color verde, o azul.

Los digitales, cuestan algo más de dinero, pero merecen la pena.

Usando varios ordenadores, podeis instalaros varios sistemas operativos, Windows, Linux, BSD, servidores web.

Si os va el hacking de guante blanco, podeis usar vuestra red casera para probar aplicaciones cliente servidor,

Si os va el lado oscuro de la fuerza, podeis usar vuestra red casera para replicar en una de vuestras máquinas un servidor que querais atacar, (las mismas versiones de todo), y probar a atacar vuestro propio servidor, cuando consigais entrar, lo intentais con el servidor que habeis replicado de tal forma que vais directamente al grano.

E incluso si solo intentais aprender acerca de seguridad informática, podeis intentar atacar un servidor vuestro, y desde el servidor observar en qué notais el ataque.

Por ejemplo, he observado que en un Linux, sin ninguna herramienta de seguridad, son más invisibles los escaneos de puerto de tipo full que los invisibles de tipo “sync”, por que algunos software de servidor, cuando reciben una trama “sync”, envían un mensaje de error al fichero de trazas.

Por otro lado, muchos, muchísimos bugs de seguridad, surgen para plataformas Windows, de tal forma que, ¿es posible detectar un bug en Windows si solo usas linux?, pues no. De hecho algo de lo que estoy convencido, es que muchos bugs de seguridad que aparecen tanto para Windows como para Linux, no han sido descubiertos por grupos de hackers, si no por administradores de sistemas, que los trabajan dia a dia o por empresas de seguridad informática.

Resumen: ¿Es “vergonzoso” usar OutLook para enviar a las news?, cada cual usa lo que quiere o le apetece, a veces uso OutLook desde Windows y a veces netscape desde Linux, depende de lo que esté haciendo,

Si envio mensajes desde Windows, o bien estoy en el trabajo, o bien estoy desarrollando algo en VC++. O estoy asimilando un virus. Si envío algo desde Linux, o bien estoy en el IRC, o bien estoy haciendo un simulador de troyanos en GTK efilon plan experimental.

  • Share/Bookmark