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
Hola,
'
Has probado con metasploit?
www.exploit-db.com/exploits/16482/
sino también existe el siguiente:
www.exploit-db.com/exploits/5727/
Salu2
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 :)
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
Hola,
Cita de: 0x120x7 en 28 Enero 2013, 21:28 PMVi 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... :)
Cita de: 0x120x7 en 28 Enero 2013, 21:28 PM
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:
uname -a
Para ver que kernel tiene? Y un nmap de esa máquina quizá nos ayude a proponer ideas.
PD: Utilizas backtrack?
Salu2
Hola, muchas gracias de nuevo RevangelyonX
Cita de: RevangelyonX en 29 Enero 2013, 20:50 PM
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...
Cita de: RevangelyonX en 29 Enero 2013, 20:50 PM
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)
Cita de: RevangelyonX en 29 Enero 2013, 20:50 PM
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:
uname -a
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.
Cita de: RevangelyonX en 29 Enero 2013, 20:50 PM
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
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:
> 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:
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.
CitarYo 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
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-3301 (https://security-tracker.debian.org/tracker/CVE-2010-3301)
Citarlinux-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