Last week was published the dump of the data base of Ashley Madison. A lot of people has started to look into this to find cool stuff, including me.

So first I downloaded the relatively-large dump (10GB). Then I extracted the archive corresponding to email addresses (aminno_member_email.dump), and from this, with a few lines of python, I ended with a list of 36 396 162 email addresses.

Let’s wander a little bit

From that, I made a few statistics (grep + wc) with no big interest, but some are funny :

  • .fr: 275 708
  • .gouv.fr: 33
  • cea.fr: 3
  • upmf-grenoble.fr: 2
  • imag.fr: 1

And … one very amusing: pope@vatican.com

Then, I checked a few email addresses of people I know, just in case …

Up to the next level

Ok, so now what? Well, what if I could check all people I know to see if they are in this list? Still just in case …

Getting emails from people I know

I have a file containing all email addresses registered on Ashley Madison, but I need to collect all email addresses from people I know. Exporting my address book does not fulfill my goals. I’d like to extend to all people I’ve sent an email to or received an email from. So how to extract this from my email desktop client (here, Mail from Apple) ?

From the user interface, it is very unlikely that such a thing is possible. If any, I did not find it. But I found two interesting posts on the web (http://superuser.com/questions/192227/how-to-export-email-addresses-from-apple-mail and http://c-command.com/spamsieve/help/how-can-i-rebuild-apple). From the first one, I learned that Mail store information in a sqlite database. The other one told me about an interesting file: /Users//Library/Mail/V3/MailData/Envelope Index, which is one of these sqlite files. It sizes 31MB, and was written just a few minutes ago. A strings on it tells me that it contains (a lot of) emails plus the headers, including email addresses. So a few sqlite commands later, here I am with a file containing all email addresses I (directly or indirectly) interacted with during the last two years. Here is the detail of the sqlite commands I used, for those who are interested:

This gave me a file of 5669 lines, one email address per line.

Computing the matching

Once I have these two files, it becomes quite easy to compute the intersection, with a few lines of Python and a little optimization thoughts. Some important points of the implementation:

  • I first sorted the email list from the dump alphabetically, to speed up the search.
  • I sort of hashed it using the first two letters as a key

The implementation can be found here.

The result of my experimentation:

Unfortunately, no one of my email contacts was registered on Ashley Madison …

Bonus

As a bonus, here is a part of the descriptions people use in their profiles on Ashley Madison. Enjoy.

@_Frky

Bienvenue sur le premier (et dernier ?) writeup du Vancouver BSides CTF autrement appelé yvrCTF qui à eu lieu en début de semaine.

Nous allons commencer pour la seule épreuve de reverse du CTF, un reverse 250 nommé Detent.

Nous avons un énoncé minimal avec un serveur où est lancé le binaire, cela servira à tester notre solution pour avoir le flag !

Very much not the same thing as a détente.

detent.termsec.net 9182

Read More →

Dans le cadre du CTF « open to all »  : http://ctf2.opentoall.net/

Dans la catégorie MISC pour  200 points :

La seule indication en notre possession pour ce challenge est une IP ainsi qu’un numéro de port :

 104.131.107.153 : 12121

Une connexion avec un simple Telnet nous renvoie le message suivant :

Hey dude, can you help me with my math homework? I have a few addition problems to do…
You have 10.000000 seconds to solve this problem: 714 + -479

Read More →

Pièces jointes

Mobius-Strip[1]

Après épluchage des quelques 60 propositions qui nous sont parvenues, voici le script vainqueur du while not challenge (proposé par perdu):

file = open('/dev/random')
file.read()

Les slides de la présentation des résultats (présentation des différentes idées reçues): ici

L’intégralité des propositions reçues: ici

Merci à tous pour votre participation !

Pièces jointes

Hier, quelqu’un m’a dit: « C’est étrange, mon programme python ne termine pas alors qu’il n’y a pas de while« . Bon, le fait est qu’il y avait un while ET qu’il a tout de même fini par terminer. Mais ça m’a amené à me demander s’il était possible de faire un programme sans while qui boucle infiniment en python. J’ai cherché un peu, et j’ai fini par trouver une solution, mais je pense qu’on peut trouver plus élégant. Je propose le challenge suivant :

Sujet: Ecrire, en python, un programme qui boucle infiniment SANS utiliser l’instruction while.

Dead Line: Jeudi 29/01/15 à 17h
/!\ LE CHALLENGE EST PROLONGÉ JUSQU’À VENDREDI 30/01/15 à 18h

Soumissions: à francky.dg@gmail.com

Prix: Un superbe poster de grehack 2013 !

Note: Un programme qui tourne une minute et qui crash une MemoryError par exemple ne sera pas accepté.

Les soumissions répondant à la consigne seront départagées selon leur élégance et leur originalité.
J’ajoute qu’une solution n’utilisant pas l’instruction for (par ailleurs autorisée) serait très fortement valorisée.

NOMBRE DE SOUMISSIONS: 67 (màj 30/01/15 18:00)
NOMBRE DE PARTICIPANTS DISCTINCTS: 38 (màj 30/01/15 18:00)

CLOTÛRE DES SOUMISSIONS

Les résultats ainsi que les diverses propositions reçues seront publiées dans le courant de la semaine prochaine.

Salut !
Pour ceux qui étaient en Amphi, en D102, dans un couloir, dans le tram B ou peut-être en D109, pendant la présentation de jeudi, voici la version pdf ainsi que divers liens concernant ce sujet… complexe (qui a dit bordélique ?)

 

Présentation :

 

SAP official :

La création d’un compte est gratuit… mais très franchement je donne ces liens plus pour info qu’autre chose. C’est difficile de s’y retrouver pour des personnes non familiarisées à SAP. Le plus parlant reste les ‘security notes’.

 

Blogs / Publications / Talks / Articles

C’est plus ici que vous trouverez des infos. Un peu en vrac, faut fouiller, mais il y a des perles. Les trois gros acteurs du ‘marché’ sont Onapsis (US), ERPScan (RU) et VirtualForge (DE). Read More →

Cet article reprends les grandes lignes de la présentation donnée le 28 novembre 2014 à SecurIMAG.

La présentation était globalement divisée en 2 parties :

  1. Introduction du contexte et à la notion d’Exploit Kit
  2. Analyse d’un shellcode avec Miasm

Contexte

Le shellcode analysé en seconde partie provient d’une tentative d’exploitation via un Exploit Kit.
Read More →

Un petit résumé de la présentation Securimag du jeudi 13 Novembre consacrée à l’étude des hyperviseurs, au fuzzing et à toutes les bonnes choses dont on vous a privé quand vous étiez petit.

Dis moi papa, c’est quoi cette bouteille de lait un hyperviseur ?

Un hyperviseur, c’est toute l’architecture qui permet d’émuler le matériel nécessaire au fonctionnement d’un ordinateur (et plus encore puisque Qemu permet aussi de modéliser les microprocesseurs embarqués, vous pouvez donc modéliser tout ce qui est nécessaire à votre balance intelligente si vous n’avez que ça à faire).

Donc en gros, un hyperviseur, ça permet de créer une (ou plusieurs) machine virtuelle dans lesquels vous allez pouvoir faire tourner un Linux (ou un Windows) comme si vous étiez sur une vrai machine.

Dans toute la suite, j’ai pris l’exemple de Qemu/KVM puisque c’est ce logiciel que j’ai attaqué. Je ne peux que vous conseiller d’aller voir comment marche les autres hyperviseurs. (Il y a un très bon MISC à ce sujet).

C’est quoi une machine physique ?

Oui, parce que si on veut émuler quelque chose, il faut savoir ce que c’est. Et un ordinateur, c’est ça:

archicomputer

 Il va donc falloir émuler le processeur, la MMU (Memory Management Unit, qui gère les accès à la mémoire physique) la mémoire et les périphériques. On fait de l’émulation, et non pas de la simulation. Read More →

Pièces jointes