Hervé Godquin

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 10 janvier 2021

Vie privée, réseaux sociaux et geekerie

Ces derniers temps il y a eu quelques affaires qui montrent qu'effectivement nous ne contrôlons pas réellement toujours nos données, je sais ce n'est pas une nouvelle mais voilà.

Nous parlons donc bien ici du changement de règles d'utilisation pour WhatsApp et de "l'affaire Trump". Commençons par cette dernière, attention je n'ai aucune sympathie pour ce personnage mais cela montre bien une chose: la modération à géométrie variable et axé sur le sens du vent des plateformes de réseaux sociaux. En effet, Monsieur Trump a dit anneries sur anneries, injures sur injures, appels à la violence sur appels à la violence depuis le début de ce mandat, et là bizarrement le vent tourne hop on le censure. C'est tout de même assez gros, à noter que peu de temps avant des ministres et dignitaires Indonésiens ou Turques faisaient tranquillement des appels à la violence (voir au meurtre) contre des Français et ça passait crème. Donc non, comme certains je ne vais pas crier à la censure privée, car je le sais ce sont des entreprises privées donc c'est normal, mais je me pleins plutôt de modération à la gueule, ou à l'avantage de celui qui crie le plus fort quoi. Si l'on ajoute à ça le fait que l'on ne contrôle pas nos données (c'est vous le produit je vous le rappelle) ça fait beaucoup.

Passons à la deuxième affaire: WhatsApp change ses conditions d'utilisation et en gros différentes données vont être envoyées à Facebook (sa maison mère), encore une fois fuite d'informations.

Du coup que faire face à cela, je le dis clairement je ne vais pas quitter Twitter, Facebook et ne plus utilisé WhatsApp, il y a trop de gens que je suis qui sont encore sur ces plateformes, mais utiliser des plateformes plus safes c'est mieux. Et quite à faire, pouvoir les administrer c'est pas mal non plus.

Du coup, on peut dire que ce sont mes bonnes résolutions 2021:

Pour l'affaire WhatsApp:

  • Privilégier Signal à WhatsApp
  • Si les gens n'ont pas Signal et n'en veulent pas: privilégiez Ovlid
  • Si les gens n'ont pas et ne veulent ni de Signal et ni d'Olvid: privilégiez Telegram
  • Sinon WhatsApp (mais il faudrait des gens de mauvaise volonté)

Maintenant prenons une alternative pour twitter, pour cela j'ai choisi Mastodon, Mastodon est un réseau décentralisé, c'est à dire qu'il y a plusieurs instances(pods) administrées par des personnes différentes, d'ailleurs vous pouvez très bien lancer la votre. Et comme tout ceci est fédéré il est possible depuis une instance de communiquer/suivre/être suivi avec des utilisateurs d'une autre instance, sauf bien sur si les administrateurs en ont décidé autrement. Bref la liberté ! Et pour plus de liberté j'ai donc décidé de créer ma propre instance, que vous pouvez bien sûr utiliser si vous le désirez !

Par contre pour le moment effectivement je garde mon compte twitter en parallèle (question d'abonnés/abonnement, d'infos et tout). Mais du coup si vous êtes intéressé par Mastodon vous pouvez soit:

Passons maintenant à Facebook, pour remplacer ce dernier j'ai donc choisi Diaspora*, qui est aussi un réseau décentralisé comme Mastodon. Du coup tout pareil:

D'un point de vue un peu plus technique, mon instance Mastodon tourne sur une machine ayant la configuration suivante:

  • 4x x86_64
  • 8Go de mémoire vive
  • 80Go de disque dur
  • les données utilisateurs sont stockés sur un conteneur (chiffré) S3 AWS (donc pas de limite d'espace en soit)

Pour Diaspora:

  • 3x x86_64
  • 4Go de mémoire vive
  • 40Go de disque dur, pour le coup pas de stockage autre, donc la place est "limitée".

Les deux tournent sur l'Ubuntu. Les paramètre de logs sont par défaut. Vous pouvez activé l'authentification forte sur les deux instances, j'ai vérifié cela fonctionne très bien.

Quand à Signal et Olvid:

Et tant que je suis, parlons aussi de moteurs de recherches, si vous voulez plus de protection je vous conseille, par ordre de préférence:

Voilà en espérant que ça vous donne envie de changer d'outils ;).

Have fun !

Au revoir les listes bonjour mastodon

Bonjour à toutes et à tous,

Je laisse tomber les listes de diffusion (trop ancien en soit) et je passe sur le mastodon des paranoiac-thoughts.

Donc pour suivre mes posts CTI/Cyber/Géopolitiques/Sciences:

Have fun !

dimanche 29 novembre 2020

Quelques articles à lire ou à relire du 24 au 29 novembre 2020

Voici quelques articles à lire ou à relire que j'ai pu partager sur linkedin, twitter ou mes listes de diffusion cyber ou geopol.

Cyber

Géopolitique

Voilà bonne lecture à toutes et à tous !

dimanche 22 novembre 2020

Petite introduction à l'ASVS

Une petite vidéo d'introduction, ou de rappel selon les cas, à l'OWASP ASVS : Application security verification standard: https://www.youtube.com/watch?v=K0HPYyODaRs

mardi 17 novembre 2020

Quelques articles !

Bonjour à toutes et à tous,

Voici une petite liste d'articles à lire qui ont été publiés sur mes listes de diffusions entre le 24 octobre et le 17 novembre:

Cyber:

Georgia Election Data Hit in Ransomware Attack

Russian Vehicle Registration Leak Reveals Additional GRU Hackers

Sopra Steria Hit by New Ryuk Variant

DNS attacks increasingly target service providers

U.S. Treasury Sanctions Russian Institute Linked to Triton Malware

New RAT malware gets commands via Discord, has ransomware feature

Russia Poses Greater Election Threat Than Iran, Many U.S. Officials Say

Hospitals brace for more cyberattacks as coronavirus cases rise

Cyberattacks against machine learning systems are more common than you think

Fragomen, a law firm used by Google, confirms data breach

The Russian Hackers Playing 'Chekhov's Gun' With US Infrastructure

Multiples vulnérabilités dans Microsoft Edge

Oregon hospital shuts down computer system after ransomware attack: 4 notes

Browser Bugs Exploited to Install 2 New Backdoors on Targeted Computers

Protecting the healthcare industry from cyber threats

Apple fixes three iOS zero-days exploited in the wild

Compal, the second-largest laptop manufacturer in the world, hit by ransomware

Critical Privilege Escalation Vulnerabilities Affect 100K Sites Using Ultimate Member Plugin

Hotel reservation platform leaked user data from top online booking sites

La fed saisie 1 milliard de $ lié à Silk Road

Linux version of RansomEXX ransomware discovered

Manufacturing is becoming a major target for ransomware attacks

Over 20 Million BigBasket Customers Data Exposed in DarkWeb

Platypus: power side-channel attacks on Intel server, desktop and laptop CPUs

Ransomware: A Lucrative Business Model for Hackers, says FS-ISAC

Record Number of Dark Markets Online as Demand for Illicit Goods and Services Continues to Grow

UK launches cyber-operation against Russian disinformation on COVID-19 vaccine, report says

US Cyber Command exposes new Russian malware

Vietnamese hacking group OceanLotus uses imitation news sites to spread malware

Geopol:

Turkish leader backs boycott of French goods over cartoon row

China to impose sanctions on U.S. firms over Taiwan arms sales

U.S. issues fresh Iran-related sanctions targeting state oil sector

UK launches cyber-operation against Russian disinformation on COVID-19 vaccine, report says

U.S. slaps more sanctions on Syria in push for Assad to end war

Syrie : Un raid aérien attribué à la Russie fait près de 80 tués parmi des rebelles pro-turcs

Pakistan a ‘safe haven’ for ‘terror groups’: U.S. State Department

L’ex-président Hollande estime que la question de la présence de la Turquie au sein de l’Otan doit être posée

Le risque d’une nouvelle campagne de terreur en Europe de l’Etat islamique

Géopolitique de la turquie

Geoint avec la constellation de satellites chinois Jilin-1

Face à l’Azerbaïdjan, l’Arménie demande une assistance militaire à la Russie

Ethiopia's Abiy vows to disarm 'fugitives from justice' in Tigray campaign

IoC: (pas de lien ce coup-ci c'est juste pour info)

  • Phishing Caf
  • New RAT malware gets commands via Discord, has ransomware feature
  • Gozi banking trojan IoC
  • ZEBROCY Backdoor
  • Ryuk IoC

Voilà, bonne lecture en tout cas, je posterai un autre listing d'ici deux semaines avec les nouveautés :), et n'hésitez pas à vous inscrire, ou à me suivre sur twitter.

Stay safe & have fun !

lundi 26 octobre 2020

Listes de diffusion

Salut tout le monde,

Voilà, depuis quelques temps je cherchais à relancer une communauté, et au final ce n'est pas si facile. Donc du coup quelqu'un, salut à toi si tu passes par là, m'a conseillé de lancer des mailing lists pour partager ce que je n'arrête pas de lui envoyer via WhatsApp :). Enfin à l'origine je devais en lancer une mais finalement j'ai subdivisé par sujet.

Donc vous trouverez les listes de diffusion ici.

En liste publique il y a donc à ce moment:

  • Crypto: liste dédiée à la cryptographie, donc bon cela ne sera pas forcément la plus active de toutes
  • Cyber: dédiée aux news de cybersécurité et au cyber-threat intelligence, celle-ci déjà y aura normalement quelques postes par jours
  • Geopol: dédiée à la géopolitique et aux conflis/risques de conflits ... malheureusement aussi il risque d'y avoir quelques postes par jours aussi
  • IoC: pour le partage d'IoC
  • Vulns: pour parler de vulnérabilités et d'exploits d'un point de vue technique

Bien sûr je vais m'astreindre à poster régulièrement mais n'hésitez pas vous non plus à partager des choses :).

En ce qui concerne les inscriptions, ce sont des listes de diffusion donc si vous voulez vous inscrire à toutes, il faut le faire une par une, pas moyen de faire ça en grouper, ça peut être un peu long désolé. Pour le processus: une fois inscrit un mail permettant de confirmer votre adresse mail vous sera envoyé, puis un administrateur/modérateur devra confirmer votre adhésion. Pour la vie privée: vous pouvez vous désinscrire librement bien sûr, les archives sont uniquement accessible aux abonnés et la liste des abonnés ne peut être vue que par l'administrateur de la liste (moi pour toutes quoi :)). Après ça marche plutôt pas mal, cela peut prendre du temps (des mails quoi) et sur certaines boites (surtout gmail) pensez à vérifier vos spams et à déclarer la liste comme n'étant pas du spam si besoin.

Voilà, en espérant que cela vous plaira !

Have fun !

vendredi 22 mai 2020

[18/05 - 22/05] Threat Intel, Cybersecurity and Geopolitic news

Hello,

Here you can find some interesting articles shared by myself on social networks between 18/05/2020 and 22/05/2020. My little week press review in fact :).

Threat intel and cybersecurity :

GeoPol :

My social network accounts for day-by-day news :

Social Paranoiac-thoughts

Petit test d'un réseau social qui respecte la vie privée et offre pas mal de liberté en ce moment. C'est ici.

mardi 31 mars 2020

Threat landspace & operationnal cybersecurity during Covid-19 pandemic

Hello everyone !

Some of you know that next week I will quit the SoC & Incident Response team world for another adventure (still in cybersecurity). But I want to make a last blog post about best practice (for me) for blue (and purple) teams during this pandemic time !

First at all : the threat landspace

It is not a surprise many attackers use Covid-19 like a propagation vector for Phishing and malwares attacks. We can see too some "new" physicals attacks like send infect USB Key via UPS (is not link to Covid but we can imagine that some group will send infect UPS key to critical employees).

Of course some remote conferencing tools like zoom are used by attackers.

And unfortunately some attackers still use ransomware against hospitals

For active APT groups, we have APT41 and FIN7 for example.

For TTPs I suggest you to read this matrice about O365, this one about Azure and this one about SaaS application.

Companies transformations

Some companies weren't ready too full home working, so some uncrontrolled changes have been made. And we all know that not controlled transformations are egal to security vulnerabilites ;).

When you know that, in France for example, in many compagnies home working was only 1 day /week and just for some employees, and in some SMBs they had no homeworking at all, now imagine when the majority of your staff/employees need to homework, providers too and that all working days.

You can easily imagine that some homeworking services were created at last time and are not compliance with "the state of art" !

Blue/Purple Team/SoC what to do ?

For me main steps are :

  • Please do not stop vulnerability management : we still have new vulns ! Patching must continue. Please ensure to patch your VPN controllers, exposed servers and user's end point !
  • Check for anormally long SSH connections : it can be a reverse SSH tunnel (not necessary from an attackers, it can be from legit users for home working problems). You can do the same for VPN connection !
  • Check for remote control tools like teamviewer : you can use DNS logs, or some TI feeds can help, I know that emerging threat give list of GotoMyPc IPs (which include teamviewer, logmein, ...)
  • If you have AI/ML network security sensor like Vectra or Darktrace, please ensure that they still can capture the user trafic ! Your users are not even in your private network but they are thoughts VPN, please ensure that this network trafic is capture and send to your sensor.
  • If you have an on premise AV/EDR controller please ensure your users endpoints can contact it, even if the VPN is not mount !
  • Scan your public IPs to find new open port (like RDP for example :)).
  • Review firewall rules.
  • Review AD/LDAP sensitive groups.
  • Ensure that your SIEM manage correctly logs from cloud services (like O365/Azure) and check for abnormal behaviour !
  • Please ensure that all critical access have MFA/OTP.
  • Try to make security awarness to users about phishing and malwares.
  • In your DNS logs check for domains with key words zoom and covid, they seems to be hardly use to serve malwares :)
  • Prepare yourself, try to stay cool and have fun (as always but from home) !

And maybe is the good time for a red team exercice (or not :)).

Some Indicators of Compromise

Here some IoC relative to Covid-19 :

  • Fake AV :
    • antivirus-covid19[.]site
    • antivirus-covid19[.]site/update.exe
    • Hash : 146dd15ab549f6a0691c3a728602ce283825b361aa825521252c94e4a8bd94b4
  • Some phshing examples :
    • chase-covid19s[.]com
    • rogers-covid19[.]com
    • www.airbnb.id-covid19[.]com

And you can find many IoC link to covid-19 campaigns, if you want somes contact me, but if you work in a SoC/CERT you will have them.

Stay safe

That's all for me. Please stay safe online and IRL !

If you want to contact me about this subject :

dimanche 29 mars 2020

Introduction au chiffrement : partie 2

J'ai mis en ligne la deuxième vidéo concernant l'introduction au chiffrement. Ce coup-ci on parle de chiffrement symétrique !

Have fun !

lundi 23 mars 2020

Introduction au chiffrement : Bases mathématiques, Chiffre de Verman et RSA

J'ai fait un petit live stream sur les bases de la crypto : Disponible ici : https://www.youtube.com/watch?v=NKzeOAr44Xg

Un article arrive ici même avec plus d'informations.

mardi 25 février 2020

CERTFR-2020-AVI-107 : vulnérabilités PHP

Bonjour à toutes et à tous,

Certains ont peut-être vu cette alerte : CERTFR-2020-AVI-107.

En soit sur PHP ce genre de message : "De multiples vulnérabilités ont été découvertes dans PHP. Elles permettent à un attaquant de provoquer un problème de sécurité non spécifié par l'éditeur." me surprant toujours. En regardant rapidement, mais alors très rapidement, on peut voir que :

Concernant la CVE-2020-7063 : il s'agit d'une vulnérabilité dans Phar : (en gros c'est pour faire une archive d'une application PHP dans un fichier unique) qui semble-il ne garde pas les permissions lorsque l'on créé un tar. C'est assez emmerdant, mais cela reste un cas particulier. Source ici.

La CVE-2020-7061 : un heap-overflow sur Phar sur ... Windows ... Sérieusement qui fait ça ? genre du WAMP quoi ? Bon bref.

La CVE-2020-7062 : Null Pointer Dereference si dans votre php.ini il y a session.upload_progress.cleanup=0 ... source : ici.

Donc en gros : quqleus risques de crash, voir DoS donc, on ne peut pas exclure du RCE dans certains cas mais bon ... les droits concernant les archives ça peut être emmerdant. Enfin quoi qu'il en soit il faut patcher de toute façon :D.

Et sérieusement qui fait du PHP sous Windows ????

Du coup si je devais faire un pari vite fait je dirais :

CVE-2020-7061 : CVSS 3.1 score : 6.4 (enfin je mettrais 10 moi si vous mettez du PHP sur Windows sérieusement !!!)

CVE-2020-7062 : 7.5

CVE-2020-7063 : 6.6 aussi.

Voilà un article pas sérieux, écrit en 10 minutes sur un coin de table, mais juste pour dire que si on veut des informations sur des vulnérabilités PHP on peut les trouver facilement (bon après je sais que le CERT-FR a autre chose à faire ;)).

 

Have fun !

samedi 22 février 2020

SSH et SHA1

Avez-vous vu la dernière release note d'OpenSSH ? Si ce n'est pas le cas je vous conseille de la lire. Et après l'avoir lu si vous n'êtes toujours pas passé aux clés basées sur des courbes elliptiques je vous conseille de le faire vite. Car, je spoile un peu sur votre prochaine lecture :

It is now possible[1] to perform chosen-prefix attacks against the SHA-1 hash algorithm for less than USD$50K. For this reason, we will be disabling the "ssh-rsa" public key signature algorithm that depends on SHA-1 by default in a near-future release. This algorithm is unfortunately still used widely despite the existence of better alternatives, being the only remaining public key signature algorithm specified by the original SSH RFCs. The better alternatives include: * The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These algorithms have the advantage of using the same key type as "ssh-rsa" but use the safe SHA-2 hash algorithms. These have been supported since OpenSSH 7.2 and are already used by default if the client and server support them. * The ssh-ed25519 signature algorithm. It has been supported in OpenSSH since release 6.5. * The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These have been supported by OpenSSH since release 5.7.

Voilà c'est tout pour le moment, ça me permet de faire le premier article de la catégorie Crypto et de vous dire qu'un énorme article arrive sur ce sujet ici même :). En attendant pour la release note d'OpenSSH c'est ici.

Have fun !

dimanche 26 janvier 2020

"Entraînement" Call Of

Bonjour,

Pour une fois je ne parlerais pas de vulnérabilités mais de ... jeux vidéos, histoire de changer un peu.

Il fut un temps ou je jouais pas mal : d'abord sur PC à la bonne époque des LAN puis sur Xbox 360 beaucoup en multijoueur et pas mal sur Call Of MW/MW2/AW ... Je me démerdais pas mal, mais depuis, je joue beaucoup moins et du coup le niveau à grave baissé : en gros : je me prends une misère.

Du coup j'ai décidé de m’entraîner un peu histoire de pas trop passer pour un débile à chaque fois.

Alors je me suis fait une petite séance avec des bots en difficulté "Mixte" avec au programme :

 

  • Mêlée Générale standard;
  • Mêlée Générale : Réalisme + tir à la tête : autant dire que là : gros échec;
  • Match à mort par équipe Hardcore x 2.
Le tout sur différentes cartes.
Bilan, je vous laisse découvrir les vidéos mais sinon j'ai appris que :
  • Il faut que je retravaille la précision;
  • Certaines cartes sont trop petites pour ce genre de connerie;
  • Il faut que je change ma manette : celle là est trop abîmée pour certaines choses.
Pour voir le carnage de mon entraînement :
Sur mixer (jusqu'au 9 Février 2020 max) : https://mixer.com/psychovnr?vod=253395026
 
Bonne fin de WE à toutes et à tous !

 

jeudi 23 janvier 2020

Nouvelles vulnérabilités dans PHP

Deux nouvelles vulnérabilités semblent toucher PHP.

Voici l'advisory du CERT-FR : https://www.cert.ssi.gouv.fr/avis/CERTFR-2020-AVI-054/

Il semble qu'une des vulnérabilités touche mbstring et notamment la fonction mb_decode_mimeheader qui sert à décoer des en-tête MIME  : https://www.php.net/manual/fr/function.mb-decode-mimeheader.php.

Cette librairie fait partie de l'extension mbstring.

La librairie touchée semble être la libmbfl dans la fonction : mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter).

Quand on regarde la pile d'exécution on peut voir que le chemin est le suivant (dans mbstring) :

mb_decode_mimeheader() -> mbfl_mime_header_decode() -> mime_header_decoder_collector() -> mbfl_filt_conv_qprintdec() -> mbfl_filter_output_pipe() -> mbfl_filt_conv_big5_wchar()

Autant vous dire que si vous cherchez à trouver cette vulnérabilité en faisant de l'analyse de code "à la mano" vous n'avez pas le cul sorti des ronces :)

Alors cette vulnérabilité a été trouvé comment ? Fuzzing ... Par reza : reza at iseclab dot org.

Vous pouvez tester si vous êtes vulnérables en faisant ceci :

./php -r 'mb_decode_mimeheader(file_get_contents("php://stdin"));' < global-overflow-cp950_pua_tbl.poc

Le fichier PoC est disponible ici : https://github.com/gaintcome/fuzz-php/blob/master/poc/mbstrings/global-overflow-cp950_pua_tbl.poc

(Au cas ou cela disparaîtrait j'en ai mis une copie ici : https://www.paranoiac-thoughts.com/netpsycho/public-scripts-and-confs/blob/master/global-overflow-cp950_pua_tbl.poc)

Pour voir la correction du la vulnérabilité : http://git.php.net/?p=php-src.git;a=blobdiff;f=ext/mbstring/libmbfl/filters/mbfilter_big5.c;h=5e1ca815da31ed68db2baae2b3d38699b546ca83;hp=f5ab8809ce8a799bd40bda74606f181fcef36c75;hb=2bcbc95f033c31b00595ed39f79c3a99b4ed0501;hpb=0f79b1bf301f455967676b5129240140c5c45b09

Alors pourquoi j'en parle : sérieusement le contrôle de MIME c'est courant, surtout dans les fonctionnalités d'upload, donc y a moyen de se faire plaisir.

De même, c'est vrai que PHP reste vaste (et inexploré ???) c'est donc une bonne piste pour s'entraîner au fuzzing et trouver des petites vulns :).

Have fun !

Comme d'habitude vous pouvez proposer des améliorations à cet article via : https://www.paranoiac-thoughts.com/netpsycho/blog_post/blob/master/20200123_nouvelles_vulnerabilites_php

mardi 14 janvier 2020

CVE-2019-19844 : Django account takeover, revue de code et bonne année

Déjà je tiens à vous souhaiter à toutes et à tous une excellente année 2020. Maintenant que ceci est dit passons au sujet qui nous intéresse : la description d'une petite vulnérabilité intéressante.

Aujourd'hui j'ai choisi la CVE-2019-19844 touchant Django. Cette vulnérabilité touche le formulaire de reset de mot de passe dont le code source (vulnérable) est disponible ici : https://github.com/django/django/blob/4cec3cc82a09b1a60a72e5437a7f0e9e0c7d203c/django/contrib/auth/forms.py

Voici les fonctions posant problèmes :

    def get_users(self, email):
        """Given an email, return matching user(s) who should receive a reset.
        This allows subclasses to more easily customize the default policies
        that prevent inactive users and users with unusable passwords from
        resetting their password.
        """
        active_users = UserModel._default_manager.filter(**{
            '%s__iexact' % UserModel.get_email_field_name(): email,
            'is_active': True,
        })
        return (u for u in active_users if u.has_usable_password())
    
    def save(self, domain_override=None,
             subject_template_name='registration/password_reset_subject.txt',
             email_template_name='registration/password_reset_email.html',
             use_https=False, token_generator=default_token_generator,
             from_email=None, request=None, html_email_template_name=None,
             extra_email_context=None):
        """
        Generate a one-use only link for resetting password and send it to the
        user.
        """
        email = self.cleaned_data["email"]
        if not domain_override:
            current_site = get_current_site(request)
            site_name = current_site.name
            domain = current_site.domain
        else:
            site_name = domain = domain_override
        for user in self.get_users(email):
            context = {
                'email': email,
                'domain': domain,
                'site_name': site_name,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                'user': user,
                'token': token_generator.make_token(user),
                'protocol': 'https' if use_https else 'http',
                **(extra_email_context or {}),
            }
            self.send_mail(
                subject_template_name, email_template_name, context, from_email,
                email, html_email_template_name=html_email_template_name,
            )

On peut avouer que comme ça la vulnérabilité n'est pas forcément très facile à détecter. En effet le problème est assez particulier, et montre que certains points de bonnes pratiques peuvent avoir des implications sécuritaires pouvant être importantes.

Les gros problèmes sont là : '%s__iexact' % UserModel.get_email_field_name(): email, et ici : return (u for u in active_users if u.has_usable_password()). J'avoue même comme cela ça ne saute pas aux yeux :). Du coup je vous invite à lire ceci : http://unicode.org/reports/tr36/#Recommendations_General.

Oui il s'agit bel et bien d'un problème d'encodage de caractères, en soit les petits curieux qui ont été voir la description de la CVE avaient sans doute trouvés :

Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover. A suitably crafted email address (that is equal to an existing user's email address after case transformation of Unicode characters) would allow an attacker to be sent a password reset token for the matched user account. (One mitigation in the new releases is to send password reset tokens only to the registered user email address.)

Je vous laisse découvrir le patch par vous même : https://github.com/django/django/commit/5b1fbcef7a8bec991ebe7b2a18b5d5a95d72cb70?diff=unified

Alors qu'est-ce que tout cela peut nous apprendre au final (à part qu'il faut patcheer son django). En soit ça vous donne de nouvelles idées de tests pour vos pentests / bug-bounties, mais surtout si vous faîtes de la revue de code cela est assez intéressant.

Premièrement car normalement ces fonctions devraient être revue "en profondeur" si on en croit l'OWASP :

"Are all the untrusted inputs validated? Input data is constrained and validated for type, length, format, and range."

Mais un peu plus que cela, car en effet en soit, tout est bon : ce qu'il manque c'est juste un respect des bonnes pratiques Unicode. Dites à votre avis, combien de développeurs, même voir d'auditeurs les connaissent ? Lors d'un audit de type revue de code au planning serré, cela est-il toujours contrôlé ? De même lors de pentest d'ailleurs ?

Donc voilà ce que cela nous apprends : Je suis sûr qu'il y a bien d'autres cas comme cela, alors à vos git pour les contrôles :).

J'avoue que je commence gentiment pour ce premier post de l'année, mais en regardant les dernières vulnérabilités dans le monde du libre, je n'avais pas trop l'inspiration, c'était soit Django, soit OpenSSL avec la CVE-2019-1551 qui je l'avoue ne m'a pas inspiré. Je vous laisse observer ce magnifique fichier PERL : https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=419102400a2811582a7a3d4a4e317d72e5ce0a8f (y avait aussi un XSS dans wordpress mais bon ...).

Je vais tenter de préparer un nouvel article pour la semaine prochaine, sur une vulnérabilité un peu plus "costaud" ça sera sympatique.

 

Have fun !

P.S : comme toujours si vous voulez proposer des améliorations, corriger des fautes, passez par le gitlab des paranoiac-thoughts : https://www.paranoiac-thoughts.com/netpsycho/blog_post/blob/master/20200114_django

dimanche 8 décembre 2019

Git paranoiac-thoughts et articles

Bonjour,

Juste pour dire que j'ai remis en ligne un gitlab : https://www.paranoiac-thoughts.com (vous pouvez l'utiliser si vous désirez, mais bon pas trop d'espace). Et surtout si vous avez des améliorations pour mes articles n'hésitez pas à me les proposer. L'URL est ici : https://www.paranoiac-thoughts.com/netpsycho/blog_post

Have Fun !

dimanche 22 septembre 2019

Quelques nouvelles vulnérabilités dans PHP

Récemment quelques vulnérabilités ont été découvertes dans PHP.

Toutes concernent le traitement des images, j'ai néanmoins choisi de montrer l'une d'entre elle car c'est comment dire ... un classique au final.

Voici le code vulnérable :

                                                       if (*(p1 + 1) == '=') {

                                                                ++p1;

                                                                --str_left;

                                                        }

 

                                                        err = _php_iconv_appendl(pretval, encoded_word, (size_t)((p1 + 1) - encoded_word), cd_pl);

On voit tout de suite le problème ... que se passe-t-il si str_left = 0 ? ... forcément quelque chose de pas très bien, on le devine aisément.

Le problème est que str_left est un unsigned integer. Et ce vulnérabilité est comprise dans une boucle for qui en fin de boucle refait un str_left-- ... nous avons donc un énorme entier par la suite.

Et quand dans cette boucle nous avons des opérations de lecture nous nous retrouvons donc bien face à un : "Out-of-bounds read due to integer overflow".

La correction est assez simple :

                                                        * we can do at this point. */

                                                        if (*(p1 + 1) == '=') {

                                                                ++p1;

-                                                               --str_left;

+                                                               if (str_left > 1) {

+                                                                       --str_left;

+                                                               }

                                                        }

 

                                                        err = _php_iconv_appendl(pretval, encoded_word, (size_t)((p1 + 1) - encoded_word), cd_pl);

Pour plus d'informations : https://bugs.php.net/bug.php?id=78069

Concernant les autres vulnérabilités dans PHP : 

https://bugs.php.net/bug.php?id=77950

https://bugs.php.net/bug.php?id=77988

https://bugs.php.net/bug.php?id=78222

https://bugs.php.net/bug.php?id=78256

 

A vos patchs !

 

 

lundi 6 mai 2019

La superbe backdoor Américaine

On peut toujours parler des hypothétiques backdoors chinoises mais en tout cas les backdoors US sont bien réelles elles :).

Une petite clé SSH présentes par défaut sur les Nexus 9000. Elle donne les droits root bien évidemment.

Have Fun !

GRO packet of death

Ca rappelle le bon vieux temps :) Il semblerait qu'il soit possible de faire un DoS sur des kernels 5.0.x avec des paquets UDP avec des payloads null.

Sur le sujet : https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=4dd2b82d5adfbe0b1587ccad7a8f76d826120f37

Have fun !

- page 1 de 2