Contes et légendes informatiques inachevées – Livre 1 « Sécurité Informatique : toujours se méfier des applications mobiles gratuites… »

Contes et légendes informatiques inachevées – Livre 1 « Sécurité Informatique : toujours se méfier des applications mobiles gratuites… »

Je m’en vais vous conter une bien étrange histoire… Mais je vais vous donner la morale de l’histoire au début de celle-ci : se méfier, toujours se méfier des services ou applications gratuits.

Chapitre 1 : un appel au secours

Je suis à Genève, chez un de mes clients quand je reçois l’appel d’un ami qui me dit avoir un problème avec son compte email. Mon ami Cyril est arbitre de handball, et suivant mon conseil il s’est créé une adresse email dédiée pour dialoguer avec la FFHB. Il utilise une adresse en @outlook.fr et consulte ses emails depuis son PC ou depuis son mobile Android. Il n’est pas très féru d’informatique, mais aucun problème pour lui quant au paramétrage d’une boite email sur un mobile, il fait lui-même office de référent informatique auprès de sa petite famille !

Il m’explique que sa boite email est bloquée, qu’il n’arrive plus à se connecter. Etant à l’étranger, et ne pouvant pas passer rapidement chez lui, il m’envoie son login+mdp, oui je sais ce n’est pas bien, mais cet ami c’est la famille, donc pas de problème de confidentialité entre nous. Je teste rapidement depuis mon PC, et effectivement l’interface outlook.com m’indique que la boite a été bloquée par mesure de sécurité car une activité suspecte a été détectée. Dans ce cas il faut suivre une procédure de déblocage avec un envoi de code unique part SMS sur le numéro de GSM fourni à la création de la boite email. Comme je suis chez un client et que je ne suis pas trop disponible, je lui dis que nous voyons tout cela à mon retour. Nous convenons de nous rappeler, et je vaque à mes activités sécurité chez mon client. 2 jours après, retour en France.

Chapitre 2 : la hotline personnelle

Le Samedi suivant je rappel Cyril pour commencer mon service de hotline personnelle (tout bon consultant informatique sert de hotline à ses amis, ses enfants, ses parents, ses cousins, les amis des cousins, les amis des amis, etc.) – je commence par me connecter à sa boite email via mon navigateur et débute la procédure de déblocage habituelle : envoi de code par SMS, etc. J’en profite pour ajouter quelques paramètres de sécurité sur son compte – au bout de 5 minutes, tout fonctionne. Il teste de son côté, pareil, tout est ok.

Futuroscope Yes GIF - Find & Share on GIPHY

Chapitre 3 : Le marché aux tulipes

Une fois la situation stabilisée, je l’interroge, as-tu changé quelque chose qui pourrait expliquer le blocage de ton compte ? il m’assure que non. Je me connecte alors sur le résumé d’activité de son compte outlook.com pour vérifier si quelqu’un n’aurait pas « pirater » (mot qui ne veut rien dire mais que tout le monde comprend) sa boite email.

Les surprises commencent.

Je visualise la dernière connexion depuis mon PC :

Et je vois aussi d’autres connexions depuis son téléphone mobile après le déblocage (il a en effet testé depuis son PC et depuis son mobile) – et je vois que la connexion depuis son mobile a été réalisée depuis… les Pays-Bas !

Nous faisons plusieurs tests, et nous constatons que via usage du mobile, plusieurs adresses IP sont utilisées, elles commencent toutes par 185.30.x.x et semblent provenir des Pays-Bas.

Mon premier réflexe est de penser que l’algorithme de localisation des IPs à perdu les pédales chez Microsoft (cela m’est déjà arrivé il y a un an chez un client utilisateur d’Azure AD) je vérifie donc le range IP et sa provenance éventuelle, effectivement range IP associé aux Pays-Bas :

Je commence sérieusement à me poser des questions…

Cyril me confirme que son opérateur GSM est Free Mobile, je me dis « tiens curieux Free Mobile utilise des IP à l’étranger », je vérifie alors qu’elles sont les IP attribuées à Free Mobile :

Rien au Pays-Bas… et surtout des adresses qui commencent par 37.x.x.x. Je commence à y perdre mon Latin (Rosa, Rosae, etc…)

Chapitre 4 : Le pot aux roses du gratuit

Je demande à Cyril de vérifier l’adresse IP publique qu’il a sur son mobile actuellement, et là surprise, il s’agit bien d’une adresse Free…commençant par 37.

Bon reprenons, quand Cyrill se connecte à Outlook.com depuis son PC, aucun problème, adresse IP Française. Quand Cyril se connecte depuis son Android via Free Mobile, adresse IP aux Pays-Bas sur Outlook.com alors qu’il a bel et bien une adresse IP publique Free sur son mobile.

Je me calme… et réfléchi deux minutes… et là bingo ! La seule chose qui est « entre » l’OS mobile et Outlook.com, c’est… l’application mobile qu’il utilise pour se connecter à sa boite email. Je lui demande quelle application mobile il utilise, réponse myMail. Il me dit « c’est super, c’est simple et c’est gratuit »

Bon là mon sang se glace, il a dit le mot clé maudit « gratuit ».

Par expérience, rien n’est gratuit, si effectivement cette application est gratuite et est aussi parfaite que semble le dire Cyril, il y a un loup, c’est évident. Cela me rappel un consultant IAM tout juste sorti du moule qui ne comprenait pas pourquoi je préférais acheter le browser LDAP LEX pour travailler chez les clients plutôt que d’utiliser des trucs opensource depuis sourceforge… Il comprendra avec l’expérience.

Je commence quelques recherches sur Internet, et là je comprends…Je vous conseille la lecture de ce document du ministère de l’éducation: https://ssi.univ-lille.fr/sites/ssi.univ-lille.fr/files/ssi/20160401_Fiche_MyMail.pdf

Pour résumé, myMail est en fait un service hébergé sur des serveurs aux Pays-Bas et en Russie (déjà cela sent bon l’embrouille) – quand vous installez l’application depuis Google Play ou depuis Apple Store et paramétrez ensuite cette application avec vos identifiants (login+mdp) disons en utilisant IMAP, vos identifiants ainsi que votre configuration n’est pas stockée sur votre mobile mais sur les fameux serveurs à l’étranger.

La connexion IMAP se fait alors entre le serveur (Aux Pays-Bas ou en Russie) et votre service de messagerie, puis via HTTPS, le service web des serveurs poussent ou tirent les emails vers ou depuis votre application mobile myMail.

Cela signifie que le service myMail monnaie ensuite vos identifiants à des personnes tierces…ou à minima vend des informations sur vous et votre usage de l’email.

Cyril utilise cette application depuis longtemps, ces identifiants devaient etre stockés aux Pays-bas, et ce depuis le début. Donc pour Outlook.com, comportement normal. Je remonte dans les logs de connexion Outlook.com et surprise vois une connexion depuis la Russie, et la date correspond au blocage par sécurité du compte de Cyril. Le service web sur les Pays-Bas a basculé (pour incident ou maintenance) sur des serveurs Russes pendants quelques heures, ceci a été détecté et bloqué par Outlook.com

La recommandation est alors de :

  1. Changer vos identifiants sur myMail en mettant un mot de passe bidon
  2. Faire un test de connexion pour bien vérifier que cela ne fonctionne plus et que le service n’a plus accès à vos emails
  3. Désinstaller cette application

Pour terminer, Cyril installe l’application mobile Microsoft Outlook et la paramètre. Fin de l’embrouille.

Chapitre 5 : Le gratuit n’existe pas

Déjà il ne faut pas confondre deux choses : Open Source et Gratuit.

Travaillant dans la sécurité informatique, je suis un gros consommateur de solutions Open-Source (bloodhound, metaxploit, empire, etc.) – J’utilise aussi des produits de sécurité non-open-source, compilés, mais qui sont payants et dont je connais parfaitement l’éditeur. Peu m’importe le prix, si cela a suffisamment de valeur, il faut juste regarder le rapport qualité/prix – le prix seul ne veut rien dire.

MAIS

Ne jamais utiliser d’applications gratuites non-open-source – sauf si cela vient d’un éditeur établi – car là c’est assurément le début des problèmes…

Conclusion

Cette petite histoire (vraie) nous rappelle aussi une chose : la recherche, les tests, la curiosité sont la base de la connaissance. Comment aurais-je pu imaginer tomber sur quelque chose de semblable pour un simple problème de connexion à une boite email servant à des arbitres de HandBall…

AD Hardening: Microsoft Security Compliance Manager & Microsoft Security Compliance Toolkit

Comme vous le savez, je travaille énormément sur les concepts de AD Hardening de manière à réaliser des re-design d’installation Active Directory afin que l’IT global des organisations soit le moins sensible possible aux attaques de malware (attaques indirectes) ou aux attaques directes.

Dans ce cadre, la recommandation de Microsoft est de segmenter l’environnement lié à l’annuaire Active Directory en trois tiers : Tier 0, Tier 1 et Tier 2 – le Tier 2 représentant globalement les workstations :

Globalement, l’effort de travail et d’investissement se fait bien évidement sur la couche Tier 0 (qui voudrait voir ses contrôleurs de domaine compromis ?) – cela est bien normal, car un re-design AD est un effort colossal pour la plupart des organisations, et elles mettent généralement le focus sur la sécurisation des contrôleurs de domaine. Néanmoins, attention, il ne faut pas oublier que les attaques proviennent à 90% de Tier 2 (voir la règle #2 d’un autre de mes post : https://www.identitycosmos.com/http:/www.identitycosmos.com/non-classe/the-good-old-arcade-games-teach-us-about-today-cybersecurity-rules).

Il est effectivement impossible de sécuriser à 100% la couche Tier 2, mais Microsoft nous fournit un ensemble d’outils permettant de nous faciliter le travail. Ces outils sont assez méconnus, car gratuits ! Je sais, cela parait curieux, mais quel intérêt aurait un commercial Microsoft à vous parler d’un outil gratuit ?

Microsoft Security Compliance Manager

Microsoft Security Compliance Manager (SCM de son petit nom) est un outil relativement ancien, je dirais qu’il existe depuis environ 6 ou 7 ans. D’abord en version 1, puis 2, puis 3 jusqu’à la dernière version en 4.0. Cet outil permet d’utiliser des modèles de sécurité prédéfinis et d’appliquer ces modèles sur les postes de travail ou même les serveurs membres soit par GPO, soit par System Center Configuration Manager (via la fonction DCM).

Plus d’informations sur l’outils en V4 [ ICI ]

La dernière version de l’outil intègre des modèles pour Windows 10 V.1511 et pour Windows Server 2016.

Même si cet outil est très intéressant, je ne passerai pas trop de temps dessus car il a été remplacé par un nouvel outil : Microsoft Security Compliance Toolkit

Microsoft Security Compliance Toolkit

Microsoft Security Compliance Toolkit est donc le remplaçant de Microsoft Security Compliance Manager, il est actuellement en version 1.0. Vous trouverez des informations générales sur l’outil sur cette page de Microsoft [ ICI ].

Le kit de base est disponible en téléchargement [ ICI ].

Un update de ce kit de base assurant la compatibilité avec Windows 10 V.1809 et Windows Server 2019 est disponible en téléchargement [ ICI ] – Cet update contient en fait les mises à jours des référentiels de sécurité fournis par l’outil, ce que l’on appelle les Baselines, mais nous en parlerons plus loin dans cet article. Des informations complémentaires sur le contenu de cet update sont disponibles sur [ CET ARTICLE ].

Lorsque vous téléchargez SCT 1.0, le ZIP contient plusieurs éléments :

Dans le répertoire « PolicyAnalyzer », vous trouverez les éléments suivants :

Le document PDF « Policy Analyzer.pdf » donne des explications sur l’outil Policy Analyzer (qui est présent en version 3.2 dans SCT 1.0), pour être honnête, la documentation est médiocre, il faut être bien concentré pour comprendre le fonctionnement ! Globalement, Policy Analyzer va pouvoir faire plusieurs choses :

  • Comparer les configurations appliquées sur les machines avec des Baselines fournies par Microsoft – c’est la fonction principale de cet outil
  • Détecter les paramètres redondants appliqués au travers de plusieurs GPOs
  • Comparer les paramètres de GPO de domaine avec les clés de registre effectivement paramétrées sur les machines, cela pouvant mettre en évidence des problèmes d’application de GPO,et donc des problèmes de conformité

Par exemple, sur ce screenshot, on peut voir une comparaison de valeurs entre la valeur locale du paramètre (registre), le paramètre présent dans la GPO qui devrait s’appliquer et le modèle de sécurité préconisé par Microsoft (Baseline) :

L’ensemble des informations peut être exporté dans Excel :

Dans le répertoire « LGPO », vous trouverez les éléments suivants :

Le document PDF « LGPO.pdf » donne des explications sur l’outil Local Group Policy Object (qui est présent en version 2.2 dans SCT 1.0), à nouveau la documentation n’est pas terrible, il va falloir que Microsoft fasse un effort sur le sujet. Globalement, Local Group Policy Object va pouvoir faire plusieurs choses :

  • Importer des paramètres depuis des fichiers .POL
  • Importer des paramètres depuis des fichiers de type Security Template
  • Exporter les GPOs vers un backup
  • Exporter les GPOs pour réaliser une comparaison dans le premier outil du kit (Policy Analyzer)

L’outil est uniquement en ligne de commande – il était déjà présent dans Microsoft Security Compliance Manager – Cette vidéo donne quelques exemples d’utilisation de l’outil : https://www.youtube.com/watch?v=Dv6dq1YllnU

L’outil propose aussi des fichiers de Baseline pour chaque population de système :

Avec un update pour les dernières versions d’OS disponibles en téléchargement [ ICI ]. Chaque fichier ZIP, lorsqu’il est décompressé possède la même structure, par exemple ici pour Windows 2012 R2 :

Le répertoire « Documentation » contient un fichier Excel avec les paramètres recommandés :

Le répertoire « GP Reports » contient les fichiers équivalents au format Excel mais au format Report HTML tel que prévu dans la GPMC (L’outil de gestion des stratégies de groupe dans Active Directory) :

Le répertoire « GPOs » contient les paramètres au format GPO (plus être précis, au format GPT de la GPO) :

Le répertoire « WMI Filters » contient des filtres WMI tout prêts à être importés – bon je ne suis pas super fan des filtres WMI pour plein de raisons différentes, mais ils sont présents si vous voulez les utiliser:

Vous trouverez [ ICI ] des informations générales sur la notion de Security Baseline chez Microsoft.

Je vous laisse maintenant explorer par vous-même ce kit – pour être honnête son usage est relativement consommateur de temps, mais c’est un outil parfait pour s’assurer de la configuration de sécurité des machines Windows dans une environnement Active Directory – je vais essayer de réaliser rapidement un tutoriel complet de la solution. Je vais notamment rentrer en contact avec l’équipe produit pour voir comment il serait possible d’améliorer la documentation présente sur docs.microsoft.com, car pour l’instant c’est plus que léger.

N’hésitez pas à laisser vos commentaires sur ce post.

Sécurité Active Directory, les 10 questions à se poser immédiatement : Toutes les organisations pensent avoir un très bon niveau de sécurité de leur Active Directory…avant…de discuter avec moi !

 Chaque semaine, je discute avec des dizaines d’organisations, des très grandes, des moyennes, des gigantesques… c’est assez varié. Le point commun de l’ensemble de ces organisations, c’est leur certitude d’avoir un environnement Active Directory extrêmement sécurisé, c’est assez amusant.

J’insiste, mes contacts ne veulent pas « m’abuser » ou me « faire croire »… ils sont vraiment persuadés de maintenir un environnement Active Directory sécurisé… Quand je leur demande de fournir une note entre 1 et 10 sur l’estimation du niveau de sécurité de leur Active Directory, la plupart des réponses sont positionnées entre 7 et 9 – ils sont malheureusement très loin de la réalité…plus précisément de leur réalité…

Evidemment, le nouveau paradigme IT fait que la sécurité périmétrique disparait petit à petit au profit de la sécurité de la données et de la sécurité de l’identité – Même à l’heure du Cloud public, l’Active Directory se trouve au centre de cette stratégie Data+Identity – mais – ce qui est paradoxal, c’est que la plupart des designs et infrastructures Active Directory ont été implémentés il y a une dizaine d’années, à une époque où la sécurité périmétrique été reine et le Cloud public s’appelait encore ASP… Il y a donc beaucoup de chose à revoir, quitte à bousculer les certitudes…

Il est au final assez simple de mesurer le niveau de sécurité d’un environnement Active Directory, j’utilise généralement 10 questions assez simples me permettant d’évaluer le niveau de maturité du client sur la partie Active Directory :

Lire la suite

Contrer l’attaque pass-the-hash grâce à Windows 10 et Windows Server 2016: Credential Guard

hacker-1280x600

L’attaque « pass-the-hash » est un phénomène connu depuis quelques années, Microsoft a eu quelques difficultés à trouver des solutions efficaces et universelles pour contrer ce type d’attaque. Fort heureusement Microsoft a intégré dans le couple Windows 10 / Windows Server 2016 les outils pour permettre de gérer ce type d’attaque de façon efficace, et c’est plutôt du bon boulot !

Pour en savoir un peu plus sur pass-the-hash:

Une mini-site complet sur le site de Microsoft décrivant en détails pass-the-hass: https://technet.microsoft.com/en-us/dn785092.aspx

Pass-the-Hash attack : compromise whole corporate networks P1

Pass-the-Hash attack : compromise whole corporate networks P2

Pass-the-Hash attack : compromise whole corporate networks P3

 

Credential Guard de Microsoft, permettant notamment de contrer pass-the-hash:

https://technet.microsoft.com/en-us/itpro/windows/keep-secure/remote-credential-guard

https://technet.microsoft.com/en-us/itpro/windows/keep-secure/credential-guard

 

Si vous travaillez dans la sécurité ou si vous gérez un environnement Active Directory dans un contexte de sécurité avancé, je vous conseille de consulter et assimiler ces différents concepts.

 

 

19 & 20 Octobre 2016: OCG Identity Security Summit

ocgidentitysummit

Les 19 & 20 Octobre prochains, OCG (Oxford Computer Group) organise son évènement annuel sur la gestion des identités et la transformation digitale. Pour ceux qui ne connaissent pas OCG, il s’agit ici de l’acteur Européen principal dans le monde de l’IAM version Microsoft. Le premier jour sera consacré à la partie technique autour de la gestion des identités et de la sécurité, le deuxième jour verra un focus sur la transformation digitale liée à l’IAM.

Cette année, un invité de marque: Brad Anderson qui est VP chez Microsoft. Informations complémentaires et inscriptions [ici]

 

Microsoft annonce la suppression du support de Identity Management for Unix (IDMU) & NIS Server Role dans Windows Server 2016 Technical Preview (et après)

 

Depuis plus de dix ans, Microsoft propose le support des services NIS au sein d’Active Directory. Bon, ok, NIS c’est complètement pourri et le stockage des mots de passe NIS et leur transport sur le réseau sont un gouffre béant de sécurité sur une infrastructure d’entreprise.

Neanmoins, certaines entreprises utilisent encore NIS (et oui !) et certaines entreprises utilisent les Services for Unix sous la forme ou NIS Server Role dans Active Directory (bon, ok, pas beaucoup, mais j’en connais…)

Sur ce post, Microsoft révèle l’abandon de deux composants liés aux services Unix depuis Active Directory à partir de Windows Server 2016:

  • – NIS Server Role (rôle Windows Server)
  • – Extension IDMU pour la MMC: cette extension à la MMC permet de visualiser les attribut Posix définis dans la RFC2307 directement depuis l’interface ADUC

Pour rappel, voici un exemple d’interface IDMU:

Unix_tab

Attention, cela ne veut pas dire que la RFC2307 n’est plus supportée dans l’annuaire Active Directory, bien au contraire, cela signifie que si l’on veut modifier ces attributs, il faudra utiliser l’onglet Attribute Editor, comme pour tous les autres attributs prévu dans le schéma ou utiliser ADSIEDIT ou encore un client LDAP en écriture.

Pour rappel, voici la listes des attributs RFC2307 utilisés dans Active Directory:

RC2307

Par contre, cela signifie qu’il ne sera plus possible d’utiliser un contrôleur de domaine en émulation d’un service NIS en utilisant uniquement les technologie Microsoft.

Cela va ouvrir la porte vers les ISVs spécialistes de l’intégration Unix/Linux dans Active Directory et surtout à Centrify et Dell qui sont les seuls à proposer une NIS Gateway digne de ce nom.

Si vous êtes utilisateur SFU ou NIS Server Role, n’hésitez pas à me contacter pour définir comment anticiper ce changement majeur au niveau de Windows Server.

Grosse faille de sécurité (grub2) sur les systèmes Linux actuellement en production !

 

Une très grosse faille de sécurité a été mise en evidence sur les systèmes Linux utilisant Grub.

Pour être plus précis il s’agit de la version Grub2 et les versions touchées sont comprises entre la version 1.98 et 2.02. Plus d’information sur Grub2 ici: http://www.linuxpedia.fr/doku.php/expert/grub2

Grub2 est un boot loader utilisé par la majorité des systèmes Linux, ce boot loader intègre un mode particulier, le mode “grub rescue” – Il s’avère que ce mode st accessible simplement en executant la marche suivante:

– démarrage de l’OS (pas en mode graphique, en mode tty1)

– vous arrivez à la mire de login

– vous appuyez 28 fois sur la touche “retour arrière”

– et c’est magique, vous vous retrouvez dans le mode “grab rescue shell” vous permettant d’avoir un accès sans autentification au système

hack-linux-grub-password

Les différentes distributions Linux ont publié un correctif pour cette faille. (voir aussi ici http://git.savannah.gnu.org/cgit/grub.git/commit/)

Pour vérifier la version de grub2 que vous utilisez, il suffit d’éxécuter (debian/ubuntu): ‘grub-install –version’

grub2_version

Cette “mésaventure” nous indique à quel point il est important de:

[1] – Protéger l’accès physique aux machines

[2] – D’avoir un système de protection au boot (BIOS password, loader sécurisé, etc.)

Plus d’information sur la faille sur ces articles:

http://www.securityweek.com/password-bypass-flaw-found-grub2-linux-bootloader

http://thehackernews.com/2015/12/hack-linux-grub-password.html

Bluetooth & BlackHat

Je suis tombé un peu par « hasard » (merci @korben) sur ce site, et notamment sur cet utilitaire BlueMaho permettant, disons, d’explorer les connexions Bluetooth alentour. Il faut bien reconnaitre que l’outil est assez bluffant – bon il faut un peu bidouiller la Debian et les pilotes Bluetooth pour que cela roule, mais une fois la chose lancée, c’est assez fou toute les choses que l’on peut récupérer… Cela n’engage pas trop à activer le Bluetooth sur nos smartphones respectifs…

Quelques copies d’écran de l’utilitaire :

Plus d’information et téléchargement ici : https://wiki.thc.org/BlueMaho

Je vous invite aussi à faire un tour sur la page du projet THC Hydra, très intéressant en terme de rapidité d’exécution par rapport à d’autres utilitaires du même type.

Collusion : Tracer l’usage de votre identité et de votre comportement par des tiers pendant vos sessions web

Nous en sommes plus ou moins conscients, mais chaque connexion sur un site web génère des dizaines de liens et de connexions vers des sites « espions », que ce soit par le fait que nous sommes connectés en session sur un autre site web dans un autre onglet, que ce soit via des extensions du navigateur ou que ce soit tout simplement parce que le site web sur lequel nous naviguons intègre lui-même des plug-in tiers (Google AdWords par exemple) – bref, des dizaines de raisons techniques voulues ou non, permettent à des tiers de suivre, scruter, analyser puis revendre les informations liées à notre comportement de « surfeur Web ».

La fondation Mozilla propose un nouveau plug-in pour Mozilla nommé Collusion permettant d’analyser en temps réel les connexions vers les fameux sites « espions » ou « caché » qui scrutent la session web pendant votre connexion aux différent sites web.

Pour installer cette extension, il suffit de se rendre sur ce site : https://addons.mozilla.org/fr/firefox/addon/lightbeam/

Cliquer sur « +Add to firefox » – L’extension s’installe alors dans le navigateur. Une fois l’extension installée, une page web s’affiche dans votre navigateur Firefox :

Ensuite, lorsque vous êtes en session dans Firefox, un nouveau bouton est disponible, lorsque vous cliquez sur l’icône de l’extension, un onglet supplémentaire s’affiche afin de visualiser en temps réel les connexions vers les sites « espions ».

Deux vues sont possible, la vue de type Graph et la vue de type List.

Il est également possible d’exporter les informations collectées.

Vue Graph :

Vue List :

Encore au stade expérimental, cette extension vous permettra de suivre en temps réel les sites et services qui tracent vos activités lors de vos sessions de surf, non content de vous dresser une cartographie de ces tiers, l’extension va plus loin en montrant les interactions qui lient les sociétés entre elles.

Ne prenez pas peur, W.A.L.