En teoría, es posible interceptar cualquier evento en una computadora en la que tengas todos los derechos. En la práctica, la dificultad de interceptar dependerá de la forma en que la entrada llegue a su computadora y de si el software que maneja esa entrada busca activamente evitar esa intercepción (piense en un software anti-trampas para juegos).
Una contraseña escrita y enviada a través de un navegador puede interceptarse mediante un proxy web. Si SSL está en uso, entonces tiene que confiar en los certificados falsos generados por el proxy. Puede usar Burp Free Edition y instale su certificado .
Para las contraseñas ingresadas en un software simple, también puede encontrar la contraseña en la memoria y escribir un programa que la lea de la memoria. Para encontrar la dirección de memoria exacta, primero debe ingresar un patrón de prueba y encontrarlo en la memoria. Una forma más fácil es volcar toda la memoria, analizar strings y busque el patrón de prueba y recuerde las cadenas que se encuentran cerca. Luego descargue la memoria con la contraseña real y busque entre las cadenas que anotó en el paso anterior. En Linux es más fácil porque tiene /proc/<pid>/mem
para el contenido de la memoria de cualquier proceso y el comando strings
está integrado.