Título: entrar a un windows server Publicado por: 0x120x7 en 28 Enero 2013, 10:01 am Hola, disculpad si mi pregunta no corresponde aqui. Soy nuevo y no sabia si colocarla aqui o en windows o donde.
Soy novato en esto, llevo como un mes intentando conseguir root en un sistema, pero es un debian y esta parcheado hasta el techo (te odio debian). Entre mediante una inyeccion sql, y como era un postgresql, tuve que crear una funcion python para lanzar comandos de sistema, pero tenia la problematica de que los netcats se me morian al instante, puesto que al parecer, al termino de la consulta sql, el postgresql mataba la funcion python que a su vez mataba al comando de sistema, y ni nohup ni lanzarlo como trabajo ni chufas funcionaba, asi que tuve que buscarme una reverse shell, subirla mediante wget y lanzarla ya como demonio y resolvi mi problema. Ya tuve una shell como usuario postgres, luego no me costo mucho averiguar una clave de un usuario del sistema buscando en la misma base de datos del psql, pero aparte de estar en los tipicos grupos de usuario normales (video, sonido, udevd, etc), ya no ha habido manera de encontrar ningun sitio por el que obtener root. Todos los exploits que he probado en mis ubuntus han fallado en ese debian, y eso que la ultima actualizacion no es muy reciente... Aparte de eso solo he encontrado un proceso vulnerable ejecutado como root para intentar provocarle un desbordamiento (que sea util, por eso lo de root), que es el perl y esta ejecutando un webmin. Ocurre que el webmin en si filtra muy bien todo y no tengo acceso mas que a la pagina de login... y no pilla ni inyecciones ni nada... De hecho, si consiguiera acceso al webmin, ya no necesitaria hacerle el buffer overflow al perl, puesto q el webmin tiene algunas vulnerabilidades que me permitirian escribir y leer archivos y realmente no necesito mucho mas para obtener root. La cuestion es que la red local del sistema tiene un windows (parece un server) con bastantes puertos abiertos, y entre otras cosas tiene IIS6 y MDaemon. Se me ha ocurrido que si pudiera entrar ahi, podria ejecutarle un programita de estos que sacan los hashes de las claves de usuarios, y ya despues tranquilamente procesarlas mediante las famosas webs que usan rainbow tables... y con suerte, esperar que la contraseña del admin sea la misma que la del root del debian. He probado uno de esos programas y funciona, saca los hashes mientras el win esta encendido, genial, pero los he buscado en las famosas webs y no han encontrado nada. Realmente no se como funcionan esas webs o el rainbow tables, pero claro, tampoco esperaba milagros. Tengo la sensacion de que finalmente esos hashes los terminan procesando y quedan disponibles mas tarde para encontrarlos. Mi pregunta es si esto es asi o como funciona exactamente, porque no quiero perder mas tiempo atacando el win si finalmente no conseguire la clave. Y mi segunda pregunta es si me podeis ayudar a entrar al win, porque yo en eso si que me pierdo del todo. El IIS lo tienen configurado de modo que un GET a / siempre devuelve que "host incorrecto" o algo por el estilo, asi que sin saber el nombre del dominio que utilizan, no tengo acceso a mas informacion... Os doy la lista del nmap -sV al win, a ver si me podeis echar un cable. Muchas gracias a todos: PORT STATE SERVICE VERSION 25/tcp open smtp Alt-N MDaemon mail server 9.6.1 42/tcp open wins Microsoft Windows Wins 53/tcp open domain Microsoft DNS 80/tcp open http Microsoft IIS webserver 6.0 88/tcp open kerberos-sec Microsoft Windows kerberos-sec 110/tcp open pop3 MDaemon pop3d 9.6.1 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 143/tcp open imap Alt-N MDaemon imapd 9.6.1 366/tcp open smtp Alt-N MDaemon mail server 9.6.1 389/tcp open ldap 443/tcp open ssl/http Alt-N MDaemon World Client webmail 9.6.2 445/tcp open microsoft-ds Microsoft Windows 2003 microsoft-ds 464/tcp open kpasswd5? 465/tcp open ssl/smtp Alt-N MDaemon mail server 9.6.1 587/tcp open smtp MDaemon smtpd 9.6.1 (MSA support) 593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0 636/tcp open tcpwrapped 993/tcp open ssl/imap Alt-N MDaemon imapd 9.6.1 995/tcp open ssl/pop3 MDaemon pop3d 9.6.1 1000/tcp open http World Client WDaemon httpd 3.0 1026/tcp open LSA-or-nterm? 1027/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0 1049/tcp open msrpc Microsoft Windows RPC 1091/tcp open unknown 1092/tcp open unknown 1098/tcp open msrpc Microsoft Windows RPC 1116/tcp open unknown 1443/tcp open ies-lm? 1723/tcp open pptp Microsoft (Firmware: 3790) 3000/tcp open http World Client WDaemon httpd 9.6.2 3268/tcp open ldap 3269/tcp open tcpwrapped 3389/tcp open microsoft-rdp Microsoft Terminal Service 5405/tcp open netsupport NetSupport PC remote control (Name URANO) 47001/tcp open http Microsoft IIS httpd Service Info: Host: Título: Re: entrar a un windows server Publicado por: RevangelyonX en 28 Enero 2013, 13:48 pm Hola,
' Has probado con metasploit? www.exploit-db.com/exploits/16482/ sino también existe el siguiente: www.exploit-db.com/exploits/5727/ Salu2 Título: Re: entrar a un windows server Publicado por: 0x120x7 en 28 Enero 2013, 21:28 pm Hola, muchas gracias
La verdad es que desde que empece con esto, no he hecho mas que oir metasploit por aqui y leer metasploit por alla. Vi lo que era y realmente no me gusto nada, porque es un producto que no enseña a la gente a hacer las cosas por si mismos y ademas por lo que he podido comprobar, la version buena, de pago. Pero al final he caido ya por pura desesperacion y ya lo estoy utilizando. Mirare esos exploits que me dices. Muy agradecido :) Título: Re: entrar a un windows server Publicado por: 0x120x7 en 29 Enero 2013, 19:26 pm Bueno, el primer exploit necesita de un usuario autenticado y no tengo ninguno :( y el antiguo usuario "MDaemon" no vale. El segundo no lo he probado porque no me sale en la lista del metasploit y no se como usarlo, y ademas creo que tambien necesita de una cuenta tambien...
He probado tambien el ms08_067_netapi y aunque parece que es un w2003 server sp2, no le vale... me imagino que estara parcheado. El spoolss tampoco... Una ayudita, por favor Título: Re: entrar a un windows server Publicado por: RevangelyonX en 29 Enero 2013, 20:50 pm Hola,
Vi lo que era y realmente no me gusto nada, porque es un producto que no enseña a la gente a hacer las cosas por si mismos. Tengo que decirte que estás equivocado. Eso no va a depender de la herramienta, (en este caso metasploit) sinó de quien lo utilize. Piensa que la mayoría de los exploits que tiene metasploit son portados, es decir, antes era un exploit en Python (por ejemplo) que alguién lo ha pasado a ruby bajo metasploit. Es decir, si utilizas un exploit que no has programado tu, no has aprendido a hacer las cosas por ti mismo... al igual que utilizar nmap... :) Pero al final he caido ya por pura desesperacion y ya lo estoy utilizando. Ahora es cuando poco a poco te vas a enamorar ;) Referente al tema, utiliza un auxiliar de metasploit smb_version para intentar averiguar la versión exacta. No acabo de entender lo que comentas del IIS pero prueba de atacar por el IIS. Lo primero, como siempre, information gathering al máximo. Código: nmap --script=/tu/ruta/de/nse/script/http-enum.nse ip.ip.ip.ip -p80 Sobre el linux, ya que tienes una shell sin privilegios, puedes ejecutar: Código: uname -a Para ver que kernel tiene? Y un nmap de esa máquina quizá nos ayude a proponer ideas. PD: Utilizas backtrack? Salu2 Título: Re: entrar a un windows server Publicado por: 0x120x7 en 30 Enero 2013, 01:37 am Hola, muchas gracias de nuevo RevangelyonX
Es decir, si utilizas un exploit que no has programado tu, no has aprendido a hacer las cosas por ti mismo... Pues tambien es verdad...No acabo de entender lo que comentas del IIS pero prueba de atacar por el IIS. Lo del IIS, (sin ponerme a buscar exactamente los nombres) es algo asi como que esta desconfigurado. Como cuando uno pone en el navegador ejemplo1.com y le lleva a la ip 80.80.80.80, o pone ejemplo2.com y tambien le lleva a la ip 80.80.80.80. Entonces el server sabe que tiene que ofrecer una web o la otra dependiendo de esos nombres que van en el comando GET del http request que se envia... Bueno, pues normalmente si uno pide un GET a /, el server esta configurado para ir a una web por defecto, pero en este caso no lo tienen configurado asi.(Lo siento pero la terminologia no es lo mio, tengo memoria de pez para los nombres) Lo primero, como siempre, information gathering al máximo. No sabia que hubiera scripts de nmap. Supongo que ese que me pones de http-enum.nse no te lo habras inventado, o sea que voy a buscarlo y ver lo que hace :)Código: nmap --script=/tu/ruta/de/nse/script/http-enum.nse ip.ip.ip.ip -p80 Sobre el linux, ya que tienes una shell sin privilegios, puedes ejecutar: Código: uname -a Para ver que kernel tiene? Lo del uname y tal ya se lo habia hecho. Es un debian squeeze: Código: $ uname -a De hecho hasta hice un script (que ha resultado no funcionar demasiado bien) para comparar las versiones de los paquetes instalados con las de los reportes de debian security, para intentar encontrar aquellos que por la ultima actualizacion que tiene el sistema aun no esten parcheados. El resultado (pensaba publicar el script, por eso esta en ingles, pero como ha resultado ser una M pues paso): Código: Installed package name: apache2 El unico con potencial es el de perl, que esta ya corriendo como root. El problema es que no tengo manera de darle entrada para causar un buffer overflow. Bueno eso ya lo explique en la pregunta del principio. Y un nmap de esa máquina quizá nos ayude a proponer ideas. PD: Utilizas backtrack? Salu2 Código: PORT STATE SERVICE VERSION Estoy usando ubuntu... Yo atacar el debian lo veo realmente jodido... y el win2003 estoy empezando a verlo igualmente jodio... Buf, ya no se pa donde tirar... De nuevo, gracias Edito: Se me olvidaba, el bind9 tambien podria tener potencial. Parece ser que se le puede hacer que casque (no lo he probado), y si por casualidad tuviera una race condition leyendo de /tmp ... pues por ahi podria hacer algo, no? Pero dudo mucho que haga eso, no se Título: Re: entrar a un windows server Publicado por: RevangelyonX en 30 Enero 2013, 14:24 pm Hola 0x120x7,
Referente al tema del IIS, tienes algún DNS en la red para hacer consultas? De todos modos, es necesario que apliques métodos de information gathering, es lo más esencial para un ataque. Por lo tanto te recomiendo probar los scripts de NSE o cualquier otra herramienta. http://nmap.org/book/nse-usage.html#nse-script-selection Si tienes que indicarle tu path absoluto para buscar todos los scripts que te permite nmap desde ubuntu: Código: > find / -name *.nse Imagino que te devolverá donde están ubicados. Después veo que en el Windows existe otro puerto que sirve HTTP: 1000 3000 Prueba también de listar directorios y files con nmap u otra herramienta y peleate con lo que encuentres a ver si existe algo interesante. Sabiendo que puedes subir exploits en el servidor Linux he encontrado uno interesante para ese kernel: Código: isitup.wordpress.com/2010/09/17/kernel-local-root-exploit-cve-2010-3301/ Prueba de subirlo y compilarlo en el servidor, dentro de /tmp ya que tienes permisos de escritura y ejecución. Siempre y cuando tengas y puedas ejecutar gcc. Citar Yo atacar el debian lo veo realmente jodido... y el win2003 estoy empezando a verlo igualmente jodio... Buf, ya no se pa donde tirar... Bien pues te doy un consejo, obten el máximo de información de los servicios con más vectores y una vez tengas una matriz, dedicate sólo a una máquina. Mi consejo es que busques (y pruebes el que te paso) exploits locales para el Debian para escalar privilegios porque ya dispones de un acceso a la máquina (aunque limitado) y ya estás más cerca que en el de Windows. Ya me cuentas. Salu2 Título: Re: entrar a un windows server Publicado por: 0x120x7 en 31 Enero 2013, 07:51 am Bueno, antes de nada, agradecerte nuevamente el esfuerzo.
El link del exploit me salia como ya visitado en el navegador, asi que imagino que ya lo habria probado. De hecho lo he probado y nada :( Código: $ gcc xpl00.c -o xpl00 https://security-tracker.debian.org/tracker/CVE-2010-3301 (https://security-tracker.debian.org/tracker/CVE-2010-3301) Citar linux-2.6 (PTS) squeeze (security) 2.6.32-44 fixed Y el kernel de debian actualmente en uso es:Código: $ cat /proc/version Código: $ cp xpl00 /tmp Respecto a los scripts nse tengo un problema. La version debian del nmap es la 5.00, y "solo" tiene estos scripts: Código: $ nmap --version Código: $ nmap --script=http-enum.nse OMITIDA -p80 ¿Deberia probar todos los scripts de nmap que tengo en el debian? ¿Me recomiendas alguno en concreto? Lo que si voy a hacer es un tunel del 1000 y 3000 como sugeriste y ver que encuentra el acunetix. Aunque la verdad es que he probado tantas cosas que ya no se si lo habre probado antes jajaja. Bueno, muchas gracias por todo. Saludos |