Que tal.
Pues en bugtraq salen muchos bugs.
Uno de los que he leido, se enfoca en la obtencion de passwords en modo pre-boot; o sea, cuando
el sistema aun no ha booteado el kernel ( ya sea Linux o Windoze ). Estas passwords a obtener
son las utilizadas en la BIOS ( via la BIOS API ) y la utilizada en el boot loader ( AKA LILO ).
Lo que ocurre, es que en modo pre-boot aun no se ha descomprimido el kernel y no se pueden
usar ninguna de las APIS de este para el manejo de la obtencion y corroboracion de la password.
Asi que lo que queda es hacer uso de la APIS de la BIOS.
El problema esta en que los programadores inadvertidos, no flushean las areas de memoria utilizadas
por dicha API, quedando registradas en memoria dichas passwords para futuras lecturas. Todo esto esta
mas que resumido, y le podeis echar el vistazo completo en el siguiente documento original:
http://www.ivizsecurity.com/research/preboot/preboot_whitepaper.pdf
El caso es que a modo de PoC, os pongo lo siguiente sacado del texto: ( resumido por mi )
Tratad de ponerle password a vuestro LILO boot loader ( en caso de que tengais a LiLo! ). O sea,
editadlo ( vi /etc/lilo.conf ) y en la imagen del nucleo actual que cargueis, ponedle las password
que querais ( aniadidle la linea password="la-que-kerais" ). Tras ello, pues haced un /sbin/lilo -v
Queda claro que para todo esto, sera necesario acceso r00t.
Ahora, rebootad vuestro PC ( shutdown -t3 -r now, por ejemplo ), y disponeros a cargar la imagen
del kernel con la password. Cuando os salga el prompt, pues la introduciis y booteais el sistema como
siempre. Bueno, pues esa password, en las versionas mas recientes de Lilo y antecesoras, quedara
registrada en una locacion de memoria especifica, locacion que leeremos al bootear el sistema y nos
dara la password introducida.
Pues ahora, una vez booteado el sistema, id a una terminal y ( como r00t ) teclead lo siguiente:
# xxd -l 32 -s 0x041e /dev/mem
Automagicamente, tendreis la password del boot loader ( Lilo ) por lo citado anteriormente.
Ahora expongo por que se me hace familiar todo esto. Pues resulta que, hace un tiempo, me imagine
algo parecido a esto.
El caso es que en sistemas que utilicen el modulo PAM ( Pluggable Authentication Module -- o algo asi )
hay maneras intentables para ver, desde memoria ( /dev/mem ) la password de root y de cualquier
usuario. Esto que comento ahora, es mio y cuando digo mio quiero decir que no lo he leido antes
en ninguna otra parte. Es una lammerada, pero el caso es exponer ideas no?
Pues resulta que tengo varios modos en los que se pueden probar para localizar/leer la password de r00t
y de cualquier user del sistema, siendo utilizado PAM como modulo de autenticacion.
Esto no quiere decir que no funcione con Distros que no usen PAM..
El primer comando, trabaja por supuesto en modo terminal y hace uso de /dev/mem:
# strings /dev/mem | grep -C 2 "^root$" | less
Yo, em mi Red Hat, con este string consigo, ademas de ver la password de r00t, el hash del /etc/shadow,
Cabe decir que, para hacer brute-force de un user existente, primero podriamos ir viendo que users
estan el el sistema. Para ello, usariamos la libreria readline asi desde la linea de comandos:
# ~s[TAB][TAB] ( o sea, empezariamos el string con ~ seguido de la primera letra del user a probar
seguido de dos Tabulaciones ).
Asi, si hubiera users en el sistema llamados sultan, samara y sergio nos saldrian en pantalla.
Para tratar de lograr la password del user "sultan", podriamos hacer lo siguiente:
# strings /dev/mem | grep -C 2 "^sultan$" | less
El segundo intento seria algo como:
# strings /dev/mem | grep -C 2 "^USER=sultan$"
Esto dependera tambien del kernel utilizado, y como no de la distro.
Otro string a probar ( exclusivo para distros con PAM ) es:
# strings /dev/mem | grep -C 2 "^@/pam$" | less
Bueno, pues sobra decir que el acceso como r00t es mas que importante, ya que de otra manera no
tendremos acceso de lectura a /dev/mem ( ... ).
Bueno, pues esto por si conseguimos r00t en algun sitio, puede servir para escupir las passwords de
los users del sistema ( ya.. que si somos r00t pa que queremos esto, que siempre podemos crackear
/etc/shadow blah blah.. jeje ).
Saludos y Suerte.










Autor



En línea
, basicamente insertaban un USB o CDlive, dumpleando la RAM, modifcaban la data y entraban sin pass etc, si alguien lo tiene , que me lo postee.