OneForAll

As a newcomer to the cybersecurity industry, I'm on an exciting journey of continuous learning and exploration. Join me as I navigate, sharing insights and lessons learned along the way
Search for a command to run...

As a newcomer to the cybersecurity industry, I'm on an exciting journey of continuous learning and exploration. Join me as I navigate, sharing insights and lessons learned along the way
No comments yet. Be the first to comment.
Ce lab a pour but de concevoir et déployer une infra sécurisée et segmentée sur Google Cloud Platform (GCP) en utilisant Terraform et Ansible. Bonne lecture :) Composants Voici les différentes technologies et composants du projet. Infrastructure Te...
Cet article présente la mise en place d’un environnement de détection, combinant Zeek, Suricata avec la stack ELK (Elasticsearch, Logstash, Kibana). Il permet de mettre en avant la gestion des logs avec ELK, l’analyse réseau avec Zeek et Suricata, pu...

Dans cet article, on va déployer une application Python Flask sur Kubernetes. Un premier article montrant les premiers pas avec Kubernetes et Minikube est disponible ici Kubernetes: Simplifying Container Orchestration Pré-requis Docker: pour créer l...

Kubernetes ou K8s est une plateforme open-source utilisée pour automatiser le déploiement et la gestion des applications conteneurisées. Une application conteneurisée est une application qui fonctionne à l’intérieur d’un conteneur, un environnement l...

Lien : https://www.root-me.org/fr/Challenges/App-Script/ELF32-System-2 On veut pouvoir lire le mot de passe du fichier .passwd mais il n’est lisible que par le propriétaire du fichier app-script-ch12-cracked. Le code source de ch12.c utilise la fonc...

OneForAll est un outil d’énumération de sous-domaines utilisé pour lister les sous-domaines d’un domaine principal. Cet outil utilse plusieurs techniques comme la résolution de DNS, le brute-forcing des sous-domaines et collecte aussi des données à partir de sources publiques que d’autres outils n’interrogent pas généralement. OneForAll règle le problème de puissance ou encore d’efficacité qu’on peut voir avec d’autres outils.
La documentation officielle se retrouve sur GitHub.
Pour installer OneForAll, utilisez les commandes suivantes:
Vérifiez d’abord les versions de Python et pip3 . La version de Python3 doit être supérieure à 3.6.0 et la version de pip3, supérieure à 19.2.2.
python -V
pip3 -V
Clonez le dépôt du projet.
git clone https://github.com/shmilylty/OneForAll.git
Créez un environnement virtuel pour séparer l’installation de votre environnement python.
virtualenv -p python3 .venv
source .venv/bin/activate
Installez les dépendances
cd OneForAll
python3 -m pip install -U pip setuptools wheel
pip3 install -r requirements.txt
python3 oneforall.py -h : cette option permet de lister toutes les options de OneForAll
python oneforall.py --target [site.com] --brute FALSE --dns FALSE --valid TRUE run
l’option --target permet de spécifier l’URL ou le domaine à analyser
l’option --brute permet d’activer/désactiver le module de bruteforce pour rechercher les sous-domaines. Par défaut, l’option est activée
l’option --dns permet d’activer/désactiver la résolution DNS lors de l’analyse des sous-domaines. Cette option est aussi activée par défaut.
l’option --valid permet de spécifier que seuls les sous-domaines actifs et valides seront pris en compte. L’outil va donc interroger chaque sous-domaine afin de vérifier leur validité.
python oneforall.py --targets list_urls.txt --takeover TRUE --path /PATH/TO/FILE run
l’option --targets permet de spécifier une liste de domaines contenue dans un fichier
l’option --takeover permet de vérifier si un sous-domaine trouvé est vulnérable à une prise de contrôle de sous-domaine (subdomain takeover). Cette option est cruciale dans l’identification des sous-domaines mal configurés. Elle est par défaut désactivée.
l’option --path spécifie le chemin du fichier où seront stockés les résultats de la collecte de sous-domaines. Lorsqu’un fichier n’est pas spécifié, OneForAll générera automatiquement un fichier de résultats.
Comme le montre l’image ci-dessous, l'outil génère automatiquement un fichier .csv qui répertorie les résultats, dans le dossier /results


Les résultats de la commande OneForAll sur https://hackerone.com montrent les modules exécutés ainsi que le nombre de sous-domaines trouvés. Par exemple, avec les résultats de cette requête, on voit que le module CertInfo a trouvé 4 sous-domaines en 0,1 seconde, l'accès au site dnsgrep.cn a été refusé (statut403) et d’autres informations.

Les serveurs a.ns.hackerone.com et b.ns.hackerone.com ont aussi été trouvés, ce qui a permis de retourner les adresses IP 162.159.0.31 et 162.159.1.31.
Les sous-domaines trouvés seront répertoriés dans le dossier /results par défaut dans un fichier csv qui peut être compliqué à lire. Vous pouvez formater les colonnes à l’affichage avec les commandes column et less:
column -s, -t < hackerone.com.csv | less -#2 -N -S
L’option -s, (-s suivi de la virgule) spécifie que la virgule ( , ) est le délimiteur qui sépare les colonnes dans le fichier csv
L’option -t indique à column de créer un tableau avec des colonnes alignées
< hackerone.com.csv permet une redirection du contenu du fichier hackerone.com.csv comme entrée pour la commande column
less -#2 -N -S permet de paginer la sortie avec less, affiche les numéros de ligne avec -N, permet un défilement horizontal avec -S, et définit l'espacement des tabulations à 2 avec -#2. Vous pouvez quitter l’affichage avec la touche q .
Le fichier avec les résultats avec un affiche standard se présente comme suit:

On passe donc de l’affichage de l’image au dessus à ceux en dessous avec la commande column -s, -t < hackerone.com.csv | less -#2 -N -S .


OneForAll est un outil essentiel en matière d’énumération de sous-domaines de part sa capacité à collecter le sous-domaines de manière rapide et précise.
À noter, qu’il est important de rappeler que l'utilisation de cet outil doit toujours se faire dans un cadre légal.