Autor
|
Tema: entrar a un windows server (Leído 8,288 veces)
|
0x120x7
Desconectado
Mensajes: 10
|
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: OMITIDO; OS: Windows
|
|
|
En línea
|
|
|
|
|
0x120x7
Desconectado
Mensajes: 10
|
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
|
|
|
En línea
|
|
|
|
0x120x7
Desconectado
Mensajes: 10
|
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
|
|
|
En línea
|
|
|
|
RevangelyonX
|
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. 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: Para ver que kernel tiene? Y un nmap de esa máquina quizá nos ayude a proponer ideas. PD: Utilizas backtrack? Salu2
|
|
|
En línea
|
Just Linux OSCP certified
|
|
|
0x120x7
Desconectado
Mensajes: 10
|
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. 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: Para ver que kernel tiene? 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 Lo del uname y tal ya se lo habia hecho. Es un debian squeeze: $ uname -a Linux OMITIDO 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 6.0.5 (squeeze) Release: 6.0.5 Codename: squeeze 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): Installed package name: apache2 Installed version: 2.2.16-6+squeeze7 Vulnerability name: DSA-2579 apache2 Vulnerability fixed in version: 2.2.16-6+squeeze10 Vulnerability date: 30 Nov 2012 Vulnerability description: Multiple issues Vulnerability url: http://www.debian.org/security/2012/./dsa-2579
Installed package name: bind9 Installed version: 1:9.7.3.dfsg-1~squeeze6 Vulnerability name: DSA-2560 bind9 Vulnerability fixed in version: 1:9.7.3.dfsg-1~squeeze8 Vulnerability date: 20 Oct 2012 Vulnerability description: denial of service Vulnerability url: http://www.debian.org/security/2012/./dsa-2560
Installed package name: bind9 Installed version: 1:9.7.3.dfsg-1~squeeze6 Vulnerability name: DSA-2547 bind9 Vulnerability fixed in version: 1:9.7.3.dfsg-1~squeeze7 Vulnerability date: 12 Sep 2012 Vulnerability description: improper assert Vulnerability url: http://www.debian.org/security/2012/./dsa-2547
Installed package name: gnupg Installed version: 1.4.10-4 Vulnerability name: DSA-2601 gnupg, gnupg2 Vulnerability fixed in version: 1.4.10-4+squeeze1 Vulnerability date: 06 Jan 2013 Vulnerability description: missing input sanitation Vulnerability url: http://www.debian.org/security/2013/./dsa-2601
Installed package name: libxml2 Installed version: 2.7.8.dfsg-2+squeeze5 Vulnerability name: DSA-2580 libxml2 Vulnerability fixed in version: 2.7.8.dfsg-2+squeeze6 Vulnerability date: 02 Dec 2012 Vulnerability description: buffer overflow Vulnerability url: http://www.debian.org/security/2012/./dsa-2580
Installed package name: perl Installed version: 5.10.1-17squeeze3 Vulnerability name: DSA-2586 perl Vulnerability fixed in version: 5.10.1-17squeeze4 Vulnerability date: 11 Dec 2012 Vulnerability description: several vulnerabilities Vulnerability url: http://www.debian.org/security/2012/./dsa-2586
Installed package name: php5 Installed version: 5.3.16-1~dotdeb.0 Vulnerability name: DSA-2527 php5 Vulnerability fixed in version: 5.4.4-4 Vulnerability date: 13 Aug 2012 Vulnerability description: several vulnerabilities Vulnerability url: http://www.debian.org/security/2012/./dsa-2527
Installed package name: php5 Installed version: 5.3.16-1~dotdeb.0 Vulnerability name: DSA-2492 php5 Vulnerability fixed in version: 5.4.4~rc1-1 Vulnerability date: 10 Jun 2012 Vulnerability description: buffer overflow Vulnerability url: http://www.debian.org/security/2012/./dsa-2492
Installed package name: php5 Installed version: 5.3.16-1~dotdeb.0 Vulnerability name: DSA-2465 php5 Vulnerability fixed in version: 5.4.3-1 Vulnerability date: 09 May 2012 Vulnerability description: several vulnerabilities Vulnerability url: http://www.debian.org/security/2012/./dsa-2465
Los paquetes de php son de dotdeb, asi que a saber si las vulnerabilidades sirven para esos o estan mas o menos parcheados que los de debian. Eso de momento no lo he mirado, pero es que... Intentar nada para que? Si lo intento con la cuenta limitada no gano nada; y si consigo usarlas mediante el apache, tampoco, porque correran como el usuario nobody de apache... 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
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze2 (protocol 2.0) 25/tcp open smtp Postfix smtpd 53/tcp open domain ISC BIND 9.X 80/tcp open http Apache httpd 2.2.16 ((Debian)) 110/tcp open pop3 Dovecot pop3d 111/tcp open rpcbind 143/tcp open imap Dovecot imapd 443/tcp open ssl/http Apache httpd 2.2.16 ((Debian)) 953/tcp open rndc? 993/tcp open ssl/imap Dovecot imapd 995/tcp open ssl/pop3 Dovecot pop3d 3306/tcp open mysql MySQL 5.1.58-1~dotdeb.1 5222/tcp open unknown 5223/tcp open ssl/unknown 5229/tcp open unknown 5269/tcp open xmpp Wildfire XMPP Client 5432/tcp open postgresql PostgreSQL DB 7070/tcp open http Jetty httpd 7.0.2-SNAPSHOT 7443/tcp open ssl/http Jetty httpd 7.0.2-SNAPSHOT 9090/tcp open zeus-admin? 9091/tcp open ssl/unknown 10000/tcp open http Webmin httpd 10023/tcp open unknown 38707/tcp open rpcbind Service Info: OS: Linux El 9090 y 9091 el nmap no reconoce los fingerprints, pero son de openfire (un servicio de jabber) 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
|
|
« Última modificación: 30 Enero 2013, 01:45 am por 0x120x7 »
|
En línea
|
|
|
|
RevangelyonX
|
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-selectionSi tienes que indicarle tu path absoluto para buscar todos los scripts que te permite nmap desde ubuntu: 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: 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. 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
|
|
|
En línea
|
Just Linux OSCP certified
|
|
|
0x120x7
Desconectado
Mensajes: 10
|
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 $ gcc xpl00.c -o xpl00 $ ./xpl00 resolved symbol commit_creds to 0xffffffff8106982c resolved symbol prepare_kernel_cred to 0xffffffff8106970a mapping at 3f80000000 UID 113, EUID:113 GID:118, EGID:118 $ id uid=113(postgres) gid=118(postgres) groups=118(postgres),113(ssl-cert) $ whoami postgres $ De hecho aqui figura que esta parcheado desde el 2.6.32-44: https://security-tracker.debian.org/tracker/CVE-2010-3301linux-2.6 (PTS) squeeze (security) 2.6.32-44 fixed Y el kernel de debian actualmente en uso es: $ cat /proc/version Linux version 2.6.32-5-amd64 (Debian 2.6.32-45) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Sun May 6 04:00:17 UTC 2012 Por si acaso, tambien lo he probado con la cuenta de usuario que sonsaque de la base de datos, que tiene mas privilegios que el postgres, pero lo mismo: $ cp xpl00 /tmp $ chmod a+rwx /tmp/xpl00 $ su OMITIDO Password: $ /tmp/xpl00 resolved symbol commit_creds to 0xffffffff8106982c resolved symbol prepare_kernel_cred to 0xffffffff8106970a mapping at 3f80000000 UID 1000, EUID:1000 GID:1000, EGID:1000 $ id uid=1000(OMITIDO) gid=1000(OMITIDO) groups=1000(OMITIDO),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev) $ whoami OMITIDO Respecto a los scripts nse tengo un problema. La version debian del nmap es la 5.00, y "solo" tiene estos scripts: $ nmap --version
Nmap version 5.00 ( http://nmap.org ) $ find / -iname "*.nse" 2>/dev/null /usr/share/nmap/scripts/skypev2-version.nse /usr/share/nmap/scripts/socks-open-proxy.nse /usr/share/nmap/scripts/ftp-brute.nse /usr/share/nmap/scripts/sql-injection.nse /usr/share/nmap/scripts/http-iis-webdav-vuln.nse /usr/share/nmap/scripts/smb-system-info.nse /usr/share/nmap/scripts/ftp-anon.nse /usr/share/nmap/scripts/smb-server-stats.nse /usr/share/nmap/scripts/ssh-hostkey.nse /usr/share/nmap/scripts/smb-os-discovery.nse /usr/share/nmap/scripts/html-title.nse /usr/share/nmap/scripts/whois.nse /usr/share/nmap/scripts/http-auth.nse /usr/share/nmap/scripts/smb-pwdump.nse /usr/share/nmap/scripts/smb-enum-domains.nse /usr/share/nmap/scripts/mysql-info.nse /usr/share/nmap/scripts/snmp-brute.nse /usr/share/nmap/scripts/asn-query.nse /usr/share/nmap/scripts/pptp-version.nse /usr/share/nmap/scripts/smb-enum-processes.nse /usr/share/nmap/scripts/dns-random-txid.nse /usr/share/nmap/scripts/smb-enum-users.nse /usr/share/nmap/scripts/smb-enum-shares.nse /usr/share/nmap/scripts/dns-recursion.nse /usr/share/nmap/scripts/banner.nse /usr/share/nmap/scripts/dns-zone-transfer.nse /usr/share/nmap/scripts/smb-brute.nse /usr/share/nmap/scripts/ftp-bounce.nse /usr/share/nmap/scripts/imap-capabilities.nse /usr/share/nmap/scripts/robots.txt.nse /usr/share/nmap/scripts/irc-info.nse /usr/share/nmap/scripts/pop3-brute.nse /usr/share/nmap/scripts/realvnc-auth-bypass.nse /usr/share/nmap/scripts/sniffer-detect.nse /usr/share/nmap/scripts/sslv2.nse /usr/share/nmap/scripts/nbstat.nse /usr/share/nmap/scripts/auth-spoof.nse /usr/share/nmap/scripts/finger.nse /usr/share/nmap/scripts/http-open-proxy.nse /usr/share/nmap/scripts/dns-random-srcport.nse /usr/share/nmap/scripts/telnet-brute.nse /usr/share/nmap/scripts/smtp-open-relay.nse /usr/share/nmap/scripts/smb-check-vulns.nse /usr/share/nmap/scripts/smtp-commands.nse /usr/share/nmap/scripts/rpcinfo.nse /usr/share/nmap/scripts/ms-sql-info.nse /usr/share/nmap/scripts/smb-enum-sessions.nse /usr/share/nmap/scripts/snmp-sysdescr.nse /usr/share/nmap/scripts/http-passwd.nse /usr/share/nmap/scripts/auth-owners.nse /usr/share/nmap/scripts/smb-security-mode.nse /usr/share/nmap/scripts/sshv1.nse /usr/share/nmap/scripts/http-trace.nse /usr/share/nmap/scripts/upnp-info.nse /usr/share/nmap/scripts/daytime.nse /usr/share/nmap/scripts/pop3-capabilities.nse /usr/share/nmap/scripts/smtp-strangeport.nse /usr/share/nmap/scripts/iax2-version.nse /usr/share/nmap/scripts/p2p-conficker.nse
Probe a subirle el script http-enum del ubuntu, pero parece que al ser una version superior dice que pa mi tia: $ nmap --script=http-enum.nse OMITIDA -p80
Starting Nmap 5.00 ( http://nmap.org ) at 2013-01-31 01:37 CST NSE: failed to initialize the script engine: /usr/share/nmap/nse_main.lua:236: ./http-enum.nse is missing a required function: 'hostrule' or 'portrule' stack traceback: [C]: in function 'assert' /usr/share/nmap/nse_main.lua:236: in function 'new' /usr/share/nmap/nse_main.lua:392: in function 'get_chosen_scripts' /usr/share/nmap/nse_main.lua:594: in main chunk [C]: ?
QUITTING! No estoy seguro de haber probado especificamente con esto a hacer un tunel SSH. Pero tengo la experiencia de que el nmap no reacciona igual. (Lo digo para lanzar el nmap desde el ubuntu y usar el debian de palanca hasta el w2003s) ¿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
|
|
|
En línea
|
|
|
|
|
|