Archive | septembre, 2015

My very first Nexpose Custom Check

Writing Nexpose Vulnerability Checks will soon hurt you …
So, if you need some help, I’m your guy 😉

Thanks to Rapid7 community for the basics. Let’s see how to set it up in four steps.

step 1 : write locally with your own text editor 2 files (vulnerability desccriptor = .xml file & vulnerability check = .vck file)

Vulnerablity descriptor file contains any information about your specific vulnerability (title, description, severity, CVE IDs, CVSS score, etc.).

editing  xml vulnerability descriptor file

editing xml vulnerability descriptor file

You may have several vulnerability check files containing multiple tests which are compiled at runtime and used by Nexpose to verify the existence (or non-existence) of your vulnerability described in the descriptor.

step 2 : put the files in Nexpose files system
Depending upon your system, you may juste have to pscp the files with Putty client
As it’s always a pitty to remember those commands, I just give it to you in plain text below so you’ll just have to copy/paste

C:\Program Files (x86)\PuTTY>pscp « c:\logs\nexpose\cmty-http-wordpress-wplinks-opml-info-leak.vck » nexpose@192.168.1.205:/home/nexpose
nexpose@192.168.1.205’s password:
cmty-http-wordpress-wplin | 0 kB | 0.4 kB/s | ETA: 00:00:00 | 100%

C:\Program Files (x86)\PuTTY>pscp « c:\logs\nexpose\cmty-http-wordpress-wplinks-opml-info-leak.xml » nexpose@192.168.1.205:/home/nexpose
nexpose@192.168.1.205’s password:
cmty-http-wordpress-wplin | 1 kB | 1.5 kB/s | ETA: 00:00:00 | 100%

pscp your vulnerability description file

pscp your vulnerability description file


step 3 : deploy this vulnerability check into Nexpose by simply copying your .xml and corresponding .vck file into the following directory:

/opt/rapid7/nexpose/plugins/java/1/HttpScanner/1/

step 4 : restart your Nexpose Security Console and browse to your brand new vulnerability

https://192.168.1.205:3780/vulnerability/vuln-summary.jsp?vulnid=cmty-http-wordpress-wplinks-opml-info-leak

vuln display

vuln display


wanna see my putty ?

wanna see my putty ?


Download vulnerability descriptor file
Download vulnerability check file

Notes: I just wrote this post as a proof of concept for one of my customers.
It’s always funny when you want to write a post to discover that you can’t do it the simple way you dream of it : impossible to upload xml/vck file, outdated filezilla client you have to upgrade, WordPress formatting nightmare …

Posted in Boulot1 Commentaire

Parlez-vous CVSS ?

CVSS, c’est quoi donc Jean-Pierre ?

La gestion des vulnérabilités, ce n’est pas si compliqué qu’il y parait… dès lors qu’on a intégré le vocabulaire de base intégrant la flopée d’acronymes anglo-saxons.

Découvrons donc aujourd’hui l’un d’entre eux à partir d’un exemple de la vraie vie (vieille vulnérabilité Joomla sur un site bien connu découverte par un scan standard avec Nexpose de Rapid7).

CVSS dans Nexpose (Rapid7)

CVSS dans Nexpose (Rapid7)

D’après la version française de Wikipedia, Common Vulnerability Scoring System est un système d’évaluation standardisé de la criticité des vulnérabilités selon des critères objectifs et mesurables.
Cette évaluation est constituée de 3 mesures appelées métriques:

  • la métrique de base, unique et immuable, elle se base sur les qualités intrinsèques de la vulnérabilité; Elle est elle même composée de la métrique d’exploitation et de la métrique d’impact, chacune basée sur 3 composantes
  • la métrique temporelle, unique mais peut évoluer au cours du temps;
  • et la métrique environnementale, elle est multiple et évolue en fonction de l’environnement informatique. Elle dépend du système informatique dans lequel elle est présente.

  • Pour le cas présent, nous avons une note CVSS de 4,4 (AV:L/AC:M/Au:N/C:P/I:P/A:P).

    Détaillons donc, cette notation. Ecrit plus lisiblement, cela donne :

    • AV:L
      Première métrique d’exploitation de la métrique de base, le vecteur d’accès (Access Vector/AV) définit comment une vulnérabilité peut être exploitée.
      3 valeurs possibles: Local (Local in english)=0,395, A si réseau adjacent (Adjacent Network)=0,646 et N pour réseau (Network)=1
      Soit, dans notre cas AV=L=0,395

    • AC:M
      Seconde métrique d’exploitation de la métrique de base, la complexité d’accès (Access Complexity (AC)) définit le niveau de difficulté d’exploiter la vulnérabilité découverte.
      3 valeurs possibles: Haut (High) H=0,35, Moyen (Medium) M=0,61, Bas (Low) L=0,71
      Soit, dans notre cas AC=M=0,61

    • Au:N
      Troisième métrique d’exploitation de la métrique de base, la métrique d’authentification (Authentication (Au)) définit le nombre de fois qu’un attaquant doit s’authentifier sur la cible dans le but d’exploiter la vulnérabilité. Ceci fait référence spécifiquement au nombre de fois qu’une authentification est nécessaire une fois que l’accès au système a été obtenu. Ça n’inclut pas, par exemple, l’authentification au réseau utilisé pour accéder au système vulnérable. Pour des vulnérabilités exploitables localement, cette valeur ne devrait seulement être fixée à Unique ou Multiple si une authentification est nécessaire après avoir accédé au système.
      3 valeurs possibles: Multiple (Multiple) M=0,45, Simple (Single) S=0,56, Inexistant (None) N=0,704
      Soit, dans notre cas Au=N=0.704

    • C:P
      Première métrique d’impact de la métrique de base, la métrique de confidentialité (Confidentiality (C)) définit l’impact sur la confidentialité des données sur ou traités par le système.
      3 valeurs possibles: Aucun (None) N=0, Partiel (Partial) P=0,275 , Complet (Complete) C=0,660
      Soit, dans notre cas C=P=0,275

    • I:P
      Seconde métrique d’impact de la métrique de base, la métrique d’intégrité (Integrity (I)) définit l’impact sur l’intégrité des données du système.
      3 valeurs possibles: Aucun (None) N=0, Partiel (Partial) P=0,275 , Complet (Complete) C=0,660
      Soit, dans notre cas I=P=0,275

    • A:P
      Troisième métrique d’impact de la métrique de base, la métrique de disponibilité (Availability (A)) définit l’impact de la disponibilité du système ciblé. Les attaques consommant de la bande passante, des cycles processeurs, de la mémoire, ou tout autre ressource affectent la disponibilité d’un système.
      3 valeurs possibles: Aucun (None) N=0, Partiel (Partial) P=0,275 , Complet (Complete) C=0,660
      Soit, dans notre cas A=0,275

      to be continued …
      Z’avez compris où je le refais en serbo-croate ??? so far from Bijela 🙁

Posted in Boulot0 commentaire