¿Cómo alguien piratearía Facebook o Google?

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.

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

Para casi cualquier aplicación en Internet, sus bases de datos no son accesibles directamente desde su computadora. Cualquier solicitud que haga a Google o Facebook pasa por al menos una o dos capas antes de enviar un mensaje a una base de datos.

Su computadora => Load Balancer => Servidor de aplicaciones => Base de datos

La lógica en el servidor de aplicaciones está diseñada para exponer solo la información que se le permite ver. Si solicita la página de perfil de alguien de Facebook, verificará si se ha autenticado, determinará si tiene acceso al perfil de ese usuario y le devolverá la información que puede ver.

Si quieres hackearlos, deberías evitar esa lógica de alguna manera. Algunas formas de hacerlo:

  • enviar alguna solicitud con formato incorrecto para que sus servidores web y servidores de aplicaciones se manejen mal debido a un error en la forma en que están escritos
  • encontrar un puerto en algún servidor que deba deshabilitarse o requerir autenticación, pero no se deba a un error que cometieron
  • colocar un virus en la computadora portátil o unidad USB de un empleado, como los virus Stuxnet o Flame. El virus podría programarse para esperar hasta que esté dentro del firewall de Facebook e intentar acceder a sus bases de datos desde allí.
  • robar la contraseña / credenciales de alguien que puede acceder a sus sistemas de forma remota, como un administrador de sistemas

De una forma u otra, es necesario que haya un error de software o un error humano para que pueda ingresar allí.

Como dijo Jan Christian Meyer, me sorprendería que cualquiera de esas compañías almacenara las contraseñas de una manera que pudiera descifrarse. El uso de hashes criptográficos para contraseñas ha sido una práctica recomendada de seguridad durante muchos años.

No sé una respuesta directa, pero de todos modos agregaré dos puntos.

Hipotéticamente, al descubrir que algo por el estilo sería posible, publicar un método en foros de preguntas y respuestas como este sería menos apropiado que notificar silenciosamente a Facebook o Google sobre su problema de seguridad y, por lo tanto, darles una advertencia justa para solucionarlo antes de revelar detalles a el público general. Permitir que dicha información se pierda en la web en un estado explotable solo permitiría que cualquier delincuente aleatorio cometiera todo tipo de fraude y robo de identidad contra muchas víctimas inocentes igualmente aleatorias, preferiría llamarlo irresponsable que asombroso. No digo esto por querer moralizar, creo que es una razón real que le da a esta pregunta muy pocas posibilidades de obtener una respuesta precisa para satisfacer su curiosidad.

En cuanto a obtener contraseñas en forma utilizable, no esperaría que Facebook o Google puedan deducir las contraseñas de los usuarios, no hay ninguna razón para que almacenen una contraseña en un estado del que pueda recuperarse de manera sensata. Ciertamente no lo necesitan para nada, por lo que no parece útil retener más información al respecto de lo que se necesita para reconocer cuándo se ha escrito correctamente, y gracias a las maravillas de alguna función de cifrado hash, la contraseña en sí no es en realidad no es necesario para eso. Una buena solo te deja adivinar independientemente de si has obtenido la suma de verificación o no.

Si estaba incómodo o molesto por eso, entonces sus sentimientos son válidos

Tener un abogado de antemano sería imprescindible, mucho antes de cualquier problema técnico. Quizás dos abogados.

Bueno