
Framework de distribution de tâches serverless qui parallélise des outils CLI à travers des milliers de fonctions cloud pour une reconnaissance et un traitement de données rapides.
ShadowClone vous permet de distribuer dynamiquement vos tâches de longue durée sur des milliers de fonctions serverless et vous donne les résultats en quelques secondes là où cela aurait pris des heures.
Vous pouvez profiter pleinement des niveaux gratuits fournis par les fournisseurs cloud et booster vos outils CLI ordinaires avec le jutsu de clone d'ombre (style Naruto) !
Veuillez consulter le wiki pour les instructions d'installation et de configuration initiale
⚡ python shadowclone.py -h
usage: shadowclone.py [-h] -i INPUT [-s SPLITNUM] [-o OUTPUT] -c COMMAND
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
-s SPLITNUM, --split SPLITNUM
Number of lines per chunk of file
-o OUTPUT, --output OUTPUT
-c COMMAND, --command COMMAND
command to execute
--no-split NOSPLIT File to be used without splitting
Nous créons une image conteneur lors de la configuration initiale et l'enregistrons comme runtime pour notre fonction dans AWS/GCP/Azure ou autre. Lorsque vous exécutez ShadowClone sur votre ordinateur, des instances de ce conteneur sont activées automatiquement et ne sont actives que pendant la durée de son exécution. Le nombre d'instances à activer est décidé dynamiquement à l'exécution en fonction de la taille du fichier d'entrée fourni et du facteur de division. L'entrée est ensuite divisée en morceaux et répartie également entre toutes les instances pour une exécution en parallèle. Par exemple, si votre fichier d'entrée contient 10 000 lignes et que vous définissez le facteur de division à 100 lignes, il sera divisé en 100 morceaux de 100 lignes chacun et 100 instances seront exécutées en parallèle !
Cet outil a été inspiré par les excellents projets Axiom et Fleex et va au-delà du concept de VPS pour l'exécution d'outils en utilisant des fonctions serverless et des conteneurs.
*La plupart des fournisseurs cloud ne permettent pas de démarrer trop d'instances par défaut, vous êtes donc limité à environ 10-15 instances au maximum. Vous devez faire une demande au support pour augmenter ce nombre.
** AWS et Azure permettent 1 million d'invocations par mois gratuitement. Google permet 2 millions d'invocations par mois gratuitement. Vous ne serez facturé que si vous dépassez ces limites
Bruteforce DNS avec un fichier de 43 Mo - 34 secondes
Exécution d'httpx sur 94K sous-domaines en 1 min
Évidemment, vous pouvez faire n'importe quel nombre d'invocations de fonctions par mois. Le tableau ci-dessus montre uniquement combien d'invocations sont gratuites.
Si vous aimez ShadowClone et souhaitez montrer votre appréciation, envoyez-moi les bugs que vous trouvez en utilisant cet outil ;)
Ou vous pouvez m'offrir un café :)
Cet outil est conçu comme une implémentation de preuve de concept et son utilisation est destinée uniquement à des fins éducatives. L'utilisation pour attaquer des cibles sans consentement mutuel préalable est illégale. Il est de la responsabilité de l'utilisateur final de se conformer à toutes les lois locales, étatiques et fédérales applicables. Les développeurs déclinent toute responsabilité et ne sont pas responsables de tout usage abusif ou dommage causé par ce programme.
| Fonctionnalités | Axiom/Fleex | ShadowClone |
|---|
| Instances | 10-100s* | 1000s |
| Coût | Par instance/par minute | Gratuit la plupart du temps** |
| Délai de démarrage | 4-5 minutes | 2-3 secondes |
| Temps d'exécution maximal | Illimité | 15 minutes |
| Coût inactif | $++ | Gratuit |
| Évolutivité à la demande | Non | ∞ |
| Fournisseur cloud | Allocation gratuite | Lien |
|---|
| Google Functions | 2 millions d'invocations, 400 000 Go-secondes par mois | Google Cloud Free Program |
| AWS Lambda | 1 million d'invocations, jusqu'à 3,2 millions de secondes de temps de calcul par mois | Free Cloud Computing Services - AWS Free Tier |
| Azure Functions | 1 million d'invocations | Microsoft Azure Free Services |