Creo que para Google y Facebook, como con cualquier organización razonablemente competente, el punto débil no es la tecnología que se usa, sino las personas que la usan. Entonces, para su pregunta anterior, que espero sea hipotética, habría dos vectores que podrían tomarse para obtener acceso a la información. Obtener las contraseñas en sí sería otra cosa.
1) Solicite un trabajo en la organización usted mismo y use los accesos que se le han otorgado para intentar acceder a su base de datos, o el conocimiento de las redes internas para encontrar una debilidad. Además de los desafíos obvios de conseguir el trabajo, deberá evitar la detección por parte de los controles técnicos y organizativos internos de la organización (IDS, registro, seguridad corporativa, etc.).
Una desventaja de este enfoque es que la organización en cuestión sabrá exactamente quién es usted, por lo que cuando descubran lo que sucedió, deberá pasar directamente al consejo de Frank Harvey a continuación.
- ¿Cuál es la mejor manera de probar un sitio web para la vulnerabilidad de inyección SQL?
- ¿Por qué Lenovo no fue castigado por el adware super fish?
- ¿Cuáles son los ataques XSS más efectivos?
- ¿Cuál es el mejor antivirus para Android en Play Store que 'vale' y funciona de verdad?
- ¿Qué debo aprender sobre seguridad cibernética o aprendizaje automático?
2) Podría intentar comprometer la cuenta de alguien que ya tiene un trabajo en la organización. Aquí encontrará una guía paso a paso para llevarlo a cabo: Sneakers (1992), pero tenga cuidado; Ben Kingsley sabrá que una computadora nunca emparejaría a Mary McDonnell con Stephen Tobolowsky.
Más recientemente, esta fue la forma en que se atacó a RSA, y cuando escuchas de “APT”, generalmente es el caso de que un atacante ha comprometido la PC de un usuario final, y luego está tratando de usar el acceso de ese usuario para obtener más acceso, y así sucesivamente, hasta que el atacante pueda extraer la información que le interesa.
Finalmente, tiene el problema de qué hacer con las bases de datos una vez que haya logrado extraerlas. Como Jon y Jan señalaron, las contraseñas mismas (probablemente) no se almacenan en estas bases de datos, sino un hash de la contraseña y algún otro valor (llamado Salt). Estas “funciones hash” también se conocen como funciones unidireccionales o trampillas, ya que solo permiten que la función se ejecute en una dirección, en este caso contraseña + sal -> valor hash, nunca al revés. En teoría, con el conocimiento de la función hash y los valores de sal, podría utilizar tablas de arcoíris para forzar algunas contraseñas, específicamente las más débiles (palabras cortas, comunes, etc.), pero esto requeriría tiempo y poder de procesamiento.
Aquí hay algunos enlaces que puede ver para comenzar, pero si está interesado en esta área, podría hacer algo peor que mirar Criptografía Aplicada
Sal (criptografía)
Función hash criptográfica
Mesa arcoiris