Projet de déploiement d'un honey pot

Table des matières

Suite à mon précédent article, je partage ici une première partie des résultats de la collecte.

Je me penche sur les attaques subies par le serveur Web qui peut correspondre à un site vitrine, un portail de connexion de messagerie ou une interface d’administration qui serait rendue public par erreur …

 

Que s’est-il passé en un mois ?

 

En considérant que personne n’est sensé savoir que la porte est ouverte

alt

 

Le bruit de fond est permanent … ici l’activité sur 24h

alt
alt

Mais en comparaison, sur un port d’administration console (ssh) c’est plutôt

L’origine géographique des requêtes

alt

Rappelons que j’identifie ici le pays d’origine de la requête mais ce n’est pas nécessairement le même que l’attaquant qui le contrôle …

Qui ?

Un premier moyen grossier de caractériser notre attaquant est de consulter le champ “userAgent”, je dis grossier car il est facilement usurpé voir même est un support publicitaire :-)

alt

Les moteurs de recherche

 

👉 La version américaine (Google et Microsoft)

188.x.x.23 [...] "GET / HTTP/1.1" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
13.x.x.8 [...] "GET /sitemap.txt HTTP/1.1" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"  

 

👉 La version chinoise (Baidu)

23.x.x.245 [...] "GET / HTTP/1.1" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"

 

Que retenir ?

alt text

L’audit par les moteurs de recherche semble inoffensif néanmoins, j’insiste : cet “audit” à lieu sans que je me sois officiellement déclaré…

Une conséquence est le risque de voir des données personnelles indexées par le moteur de recherche comme par exemple sa base de films :-)

alt text

       

Un autre type de moteur de recherche …

 

Nous pouvons constater le passage d’autres robots de moteur de recherche moins “amicaux” …

👉 Censys

167.x.x.38 [...] "GET / HTTP/1.1" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)"

👉 Et son cousin Shodan

185.x.x.34 [...] "GET /robots.txt HTTP/1.1" "-"
185.x.x.34 [...] "GET /sitemap.xml HTTP/1.1" "-"
185.x.x.34 [...] "GET /.well-known/security.txt HTTP/1.1" "-"

Ce dernier ne se dévoile pas dans son useragent mais il est identifiable grâce à son reverse dns.

alt

Quels impacts ?

En seulement 48h mon serveur est présent dans les bases de Shodan et Censys avec les 3 ports du honeypot.

alt text

On notera que la version du serveur est également indexée.

Pratique pour lister des serveurs vulnérables à une CVE …

alt text

Shodan met à disposition gratuitement un service d’alerte en cas de découverte d’un nouveau service (une solution économique pour faire le suivi de sa surface exposée) et comme de toute façon Shodan finira par nous scanner.

alt

       

Étude de quelques attaques

   

Penchons nous sur un échantillon de requêtes reçues.        

Attaques sur les développeurs “étourdis”

alt

   

92.x.x.29 [...] "GET /.git/config"
92.x.x.29 [...] "GET /.env"
92.x.x.29 [...] "GET /sftp-config.json"
92.x.x.29 [...] "GET /.ftpconfig"
92.x.x.29 [...] "GET /.remote-sync.json"
92.x.x.29 [...] "GET /.vscode/ftp-sync.json"
92.x.x.29 [...] "GET /.vscode/sftp.json"
92.x.x.29 [...] "GET /deployment-config.json"
92.x.x.29 [...] "GET /ftpsync.settings"
82.x.x.32 [...] "GET /.env"
alt
alt

Que cherchent-ils ?

Des fichiers de configuration contenant des données sensibles avec le cas classique où l’arborescence complète de l’espace de développement est recopiée (ex: sftp-config.json, sftp.json, ftpconfig contenant des identifiants).

   

Passons maintenant aux tentatives d'exploitation de vulnérabilités ... alt

   

Attaque sur Exchange

 

Une série de vulnérabilités (CVE-2021-26855, CVE-2021-26857, CVE-2021-26858, CVE-2021-27065) a été publiée quelques semaines avant l’activation du pot de miel.

Ces vulnérabilités permettent d’exécuter du code à distance et sont activement utilisée, il est donc très probable que les requêtes ci-dessous correspondent à une phase de reconnaissance.

192.x.x.154 [...] "GET /owa/auth/logon.aspx?url=https%3a%2f%2f1%2fecp%2f"  "Mozilla/5.0 zgrab/0.x"
188.x.x.203 [...] "GET /owa/auth/getidtoken.htm" 
74.x.x.142 [...] "GET /owa/ HTTP/1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/60.0.3112.113 Safari/537.36"
192.x.x.185 [...] "GET /owa/auth/logon.aspx?url=https%3a%2f%2f1%2fecp%2f"  "Mozilla/5.0 zgrab/0.x"
45.x.x.157 [...] "POST /Autodiscover/Autodiscover.xml" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/78.0.3904.108 Safari/537.36"
45.x.x.151 [...] "POST /Autodiscover/Autodiscover.xml" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/78.0.3904.108 Safari/537.36"
alt
alt
alt
alt
alt

   

Attaque sur Laravel

 

Laravel est un framework de développement couramment utilisé pour les sites Web.

45.x.x.151 [...] "GET /_ignition/execute-solution" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
alt

Cette requête correspond à l’exploitation de la vulnérabilité CVE-2021-3129

Pour lequel un code d’exploitation est disponible.

alt

   

Attaque sur MobileIron

 

MobileIron est un outil d’administration de flotte mobile.

45.x.x.151 [...] "POST /mifs/.;/services/LogService"
alt

Une vulnérabilité publiée en 2020 permet d’exécuter du code à distance sur la plateforme.

alt

Au passage je constate que cet attaquant a également réalisé d’autres tentatives.

Maintenant travaux pratiques : identifier les vulnérabilités qui sont recherchées, hop hop hop au boulot :-)

alt
45.x.x.151 [...] "GET /?XDEBUG_SESSION_START=phpstorm" 
45.x.x.151 [...] "GET /index.php?s=/Index/\x5Cthink\x5Capp/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=HelloThinkPHP21" 
45.x.x.151 [...] "GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php"
45.x.x.151 [...] "POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php" 
45.x.x.151 [...] "POST /api/jsonws/invoke" 

   

Attaque sur Fortinet

 

👉 Été 2019 publication de la vulnérabilité CVE-2018-13379 touchant des boitiers de sécurité.

185.x.x.13 [...] "GET /remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession HTTP/1.1"  "Python-urllib/3.6"
alt

👉 Plus de 50 000 boitiers affectés

👉 Potentiel énorme puisqu’il est possible de lire des mots de passe de connexion VPN en clair !

alt

Illustration d’exploitation classique de la vulnérabilité

alt

source

   

Attaque sur Wordpress

 

Wordpress est la plateforme la plus utilisée pour construire des sites Web c’est donc une cible de choix !

Voici possiblement une phase de reconnaissance pour une future attaque par force brute.

185.x.x.107 [...] "GET /wp-login.php HTTP/1.1" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
alt

De très nombreux plugins sont développés pour Wordpress, dans l’exemple ci-dessous nous avons une tentative d’identification de la présence d’un plugin vulnérable à la CVE-2020-25213 via la version contenue dans le fichier texte readme.txt.

45.x.x.151 [...] "GET /wp-content/plugins/wp-file-manager/readme.txt" 

Le code d’exploitation de la vulnérabilité est disponible publiquement sur Github.
   

Attaque sur Zeroshell

ZeroShell est un logiciel pour les équipements réseau, la vulnérabilité ciblée est sans doute la CVE-2019-12725

24.x.x.164 [...] "GET /cgi-bin/kerbynet?Action=Render&Object=StartSession"  "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 OpenSSL/1.0.2f zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

On constate que l’useragent est “curl”, il s’agit probablement d’un simple script déposé sur un serveur compromis.

alt

   

Attaque sur Citrix

Terminons par une attaque sur les passerelles Citrix et la vulnérabilité CVE-2019-19781 qui possède également score CVSS critique.

185.193.91.250 [...] "GET /vpn/../vpns/cfg/smb.conf" 
alt

Un petit tour sur Github pour trouver comment exploiter

alt

Conclusion

   

Que retenir ? alt text 👉 Tout élément connecté à Internet est activement “audité”

👉 Et ce même sans avoir fait la démarche auprès des moteurs de recherche, la sécurité par l’obscurité est une illusion, transposable à la démarche d' utiliser des numéros de port non standard qui donne un faux sentiment de protection

👉 Ne pas laisser trainer des fichiers inutiles pour le service à rendre

👉 Généralisation: minimiser sa surface d’attaque - exposer le strictement nécessaire

👉 La totalité des attaquants étaient référencés dans les bases d’abus

👉 Le pot de miel est une formidable source d’informations en le couplant à un outil de gestion de la donnée (ex: Splunk, ELK)

Related