Bueno bueno bueno, pues hace ya unos dias quería saber cómo podía funcionar esto que está tan en boga llamado phishing, y por esa misma razón aquí va un sencillo ejemplo _inocuo_ de phishing bancario cuyo target es La Caixa (pero lo mismo aplica al resto del sector bancario online). Por si alguno se pregunta cuáles son los requisitos para entender este ejemplo, comentar que es necesario saber un poco de PHP, qué es cURL y un poco de regexps PCRE (expresiones regulares parecidas a las de Perl). ¡Pero tranquilos, son pocas lineas! Vale, entonces, ¿qué haremos? Podríamos crear una réplica física del site origen (en este caso, el site de La Caixa), o bien podríamos hacer todo lo que podamos al vuelo. Es decir, obtener dinámicamente todo lo posible. Ya veremos que alguna cosa (como este .js simplificado y modificado alojado en la réplica) sí que tendrá que ser estática y permanecer en nuestro site: la réplica. Esta última opción parece más elegante y eficiente, porque no desperdiciamos espacio en disco de modo innecesario y -sobretodo- porque es menos propenso (por su naturaleza dinámica) a estar "desincronizado" con el sitio origen. Esto no significa que nuestra creación esté libre de errores ante cambios del site origen, pero lo estará menos. A modo de guión simplificado (porque no voy a comentarlo linea a linea), esto es lo que se hace en el script:
Tenéis una PoC en funcionamiento Dejo aquí el tarball del asunto, para quien lo prefiera todo agrupado y del tirón. Sólo cabe desempaquetar ambos ficheros en un mismo directorio y cambiar la primera variable del archivo php para que la URL sea aquella donde residan éstos archivos. Notas adicionales: para el elemento flash principal (base_ca.swf) del site origen, para no complicarme yo la vida ni complicar el script, tras decompilar el flash me decanté por descartar el slideshow de las 4 animaciones flash y fijar una de ellas. No está de más decir que el site declina toda responsabilidad derivada del mal uso que la gente le pueda dar, quedando su práctica y uso limitado a fines didácticos y de investigación. Comentarios (17) |