Skip to content

New features (FR)

Marco edited this page Sep 22, 2018 · 9 revisions

Mettre à jour Bramble

Pour mettre à jour Bramble rien de plus simple il vous suffit d'aller dans settings et de sélectionner update. Ensuite laissez-vous guider. Veillez à vérifier s'il ne s'affiche pas de message d'erreur lors de la mise à jour. Les erreurs les plus courantes sont :

1. Aucune connexion internet : Pour vérifier Votre connexion, branchez un clavier sur votre bramble. Faites ALT+F11 la fenêtre devrait se rétrécir. Un logo wifi doit apparaître en haut à droite. Si c'est le cas et que vous avez plusieurs barres de réseau le souci ne provient pas de là. Cependant, si vous trouvez un logo avec deux flèches opposées barrées vous n'êtes pas connecté à internet. Essayez de redémarrer votre appareil. Si le problème persiste, vérifiez que vous êtes bien à portée d'un réseau wifi.

2. Vous avez effectué des modifications que vous n'avez pas enregistrées : Vous avez modifié des fichiers de configuration, ou même du code. Mais vous n'avez pas signalé à git que vous voulez garder ou non vos modifications. Git devrait vous notifier tous les fichiers modifiés. Il vous suffit donc dans un terminal de faire : cd ~/Desktop/Bramble puis git commit -a -m "mon message de modification"

3. Vous avez effectué des modifications que vous avez enregistrées mais qui rentre en conflit avec les mises à jour. : Si vous avez fait le point 2 et qu'un message vous signifie qu'il y a des conflits. Vous avez deux possibilités. Soit vos modifications ne sont pas importantes et les supprimées ne vous gênes pas, vous pouvez donc faire : git stash puis relancer la mise à jour. Soit vos modifications sont très importantes. Commencer par faire une copie du répertoire Bramble sur une clé pour être certains de ne pas perdre votre travail. Ensuite, aller dans les fichiers que vous avez modifiés normalement les zones de conflits seront mis en commentaires. Vous devrez choisir si vous garder votre code ou le code de la mise à jour. Supprimez la partie que vous ne voulez plus garder. Une fois cela fait, reprenez au point 2.

4. Aucun de ces problèmes ne vous concerne ? : communiquez-nous votre problème dans la rubrique issues de ce site.

Ajouter une fonctionnalité

Ajouter sa propre catégorie

Vous avez des idées de fonctionnalités, mais elles ne correspondent à aucune rubrique existante. Nous allons voir comment rapidement ajouter sa propre catégorie. Je vais vous montrer comment faire cela à travers un exemple en ajoutant la rubrique bluetoothAttack

Je crée dans le répertoire Bramble un répertoire bluetoothAttack. Dans ce nouveau répertoire j'en crée deux autres : src et conf. Dans conf, je crée le fichier menu.txt :

<name="~Help" src="/conf/help.txt">
<name="~exit" src="">

Toujours dans conf, je crée help.txt dans lequel j'écris tous mes conseils et toutes informations permettant de mieux comprendre les fonctionnalités que je vais ajouter.

Dans le répertoire src tout juste créé j'ajoute bluetoothAttack.cpp :

#include "bluetoothAttack.h" //header que l'on va créer

int main(int argc, char ** argv)
{
    int strt=0;
    printf ("\33[H\33[2J");
    if(argc<2) {
        std::map<std::string,std::string> menu;
        strt=loadMenu(menu,bluetoothAttack/conf/menu.txt"); //je mets le chemin vers le menu précédemment créé
        if(strt==-2) {
            printf ("\33[H\33[2J");
            strt=loadMenu(menu,"conf/menu.txt");
            if(strt==-2) return -2;
        }
        displayMenu(menu);
        return 0;
    }
}

Toujours dans src j'ajoute bluetoothAttack.h :

#ifndef BLUETOOTH_H 
#define BLUETOOTH_H

#include "../../src/tools.h"
#include "../../src/crypt.h"
#include <iostream>
#include <map>

#endif

Tout le code se trouvera désormais dans src.
Je retourne dans le répertoire bluetoothAttack. Je crée le fichier Makefile tel que

CC=g++
CFLAGS=-g -c -Wall -Wextra -ansi -std=c++11 -Wno-unused-parameter -Wno-unused-function
LDFLAGS= -g
SOURCES=src/bluetoothAttack.cpp ../src/tools.cpp ../src/crypt.cpp #j'ajoute mon .cpp
OBJECTS=$(SOURCES:.cpp=.o)
#Crée les dépendances avec les .h si un .h modifié on refait le make
DEPS=$(SOURCES:.cpp=.d)
EXECUTABLE=bluetoothAttack #je donne le nom du futur éxécutable

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
	$(CC) $(LDFLAGS) $(OBJECTS) -o $@

%.o: %.cpp
	$(CC) $(CFLAGS) $< -o $@

#Crée les dépendances avec les .h si un .h modifié on refait le make
%.d: %.cpp
	$(CC) -MM -MD $(CFLAGS) $< -o $@
clean:
	rm -f bluetoothAttack src/*.o src/*.d src/*~ *~ #je m'assure de rajouter l'éxécutable ici


#Crée les dépendances avec les .h si un .h modifié on refait le make
-include $(DEPS)

Voilà on a fini créer la nouvelle rubrique, maintenant il faut la faire connaître à Bramble et l'ajouter dans le menu principal. Pour cela je retourne dans le répertoire Bramble et j'édite le fichier Makefile :

[...]
# if you add your own script add DIR.. and add it to $(EXEc) and clean instruction
DIR=steganography
DIR2=vacuum
DIR3=tools
DIR4=cryptography
DIR5=option
DIR6=wifiJammer
DIR7=forensic
DIR8=bruteforce
DIR9=sniffer
DIR10=evilTwin
DIR11=bluetoothAttack #j'ajoute mon répertoire

[...]

$(EXEC) :
	@(cd $(DIR) && $(MAKE))
	@(cd $(DIR2) && $(MAKE))
	@(cd $(DIR3) && $(MAKE))
	@(cd $(DIR4) && $(MAKE))
	@(cd $(DIR5) && $(MAKE))
	@(cd $(DIR6) && $(MAKE))
	@(cd $(DIR7) && $(MAKE))
	@(cd $(DIR8) && $(MAKE))
	@(cd $(DIR9) && $(MAKE))
	@(cd $(DIR10) && $(MAKE))
        @(cd $(DIR11) && $(MAKE)) #je rajoute cette ligne pour appeler le Makefile de bluetoothAttack
	mkdir -p result/scanNetwork
	mkdir -p result/clone

[...]

clean:
	rm -f bramble src/*.o src/*.d src/*~ *~ python/*.pyc python/utils/*.pyc
	@(cd $(DIR) && $(MAKE) $@)
	@(cd $(DIR2) && $(MAKE) $@)
	@(cd $(DIR3) && $(MAKE) $@)
	@(cd $(DIR4) && $(MAKE) $@)
	@(cd $(DIR5) && $(MAKE) $@)
	@(cd $(DIR6) && $(MAKE) $@)
	@(cd $(DIR7) && $(MAKE) $@)
	@(cd $(DIR8) && $(MAKE) $@)
	@(cd $(DIR9) && $(MAKE) $@)
	@(cd $(DIR10) && $(MAKE) $@)
        @(cd $(DIR11) && $(MAKE) $@)  #idem ici

[..]

Pour finir on édite conf/menu.txt qui est le menu d'accueil en ajoutant :

<name="11 bluetooth attack" src="./bluetoothAttack" path="bluetoothAttack/bluetoothAttack">

Veillez à ne pas laisser de lignes vides à la fin du fichier.
Et voilà! Maintenant votre nouvelle rubrique est créée. Pour ajouter une nouvelle fonctionnalité consultez le paragraphe suivant.

Ajouter sa propre fonctionnalité

Vous avez développé une nouvelle fonctionnalité et vous voulez l'ajouter au menu Bramble?

Je vous propose un petit exemple pour vous montrer comment faire. Je vais rajouter une fonctionnalité de brouillage qui détecte automatiquement les caméras wifi pour brouiller uniquement les caméras du réseau (Ceci est un exemple cette fonctionnalité ne figurera pas dans les fonctionnalités de Bramble).

Pour commencer je vais dans le répertoire de la catégorie dans lequel je souhaite placer ma fonctionnalité (ici "wifiJammer"). Il y a deux possibilités : 1. mon code est en C++ ou bash 2. mon code est en python ou autre langage qui nécessite l'appelle d'un interpréteur pour l’exécution.

1. mon code est en C++ ou bash

Je vais maintenant dans le répertoire conf et j'ouvre le fichier menu.txt.
Veillez à ne pas laisser de lignes vides à la fin du fichier.
J'ajoute la ligne :

<name="numéro_fonctionnalité nom_fonctionnalité" src="./nom_executable paramètre"
  • Si j'ai ajouté ma fonctionnalité directement dans wifiJammer/src/wifiJammer.cpp accessible avec le paramètre -c
<name=" 4 jamm only camera" src="./wifiJammer -c" path="wifiJammer/wifiJammer">
  • Si j'ai ajouté ma fonctionnalité dans un nouveau fichier, dans ce cas je n'oublie pas de configurer le Makefile, puis je fais :
<name=" 4 jamm only camera" src="./jammCamera" path="repertoireFonctionnalité/jammCamera">

2. mon code est en python ou autre langage qui nécessite l'appel d'un interpréteur pour l’exécution.

J'ouvre src puis je cherche un fichier nommé nom_catégorie.cpp, je trouve wifiJammer.cpp. Celui-ci contient :

#include "wifiJammer.h"

int main(int argc, char ** argv)
{
    int strt=0;
    printf ("\33[H\33[2J");
    if(argc<2) {
        std::map<std::string,std::string> menu;
        strt=loadMenu(menu,"wifiJammer/conf/menu.txt");
        if(strt==-2) {
            printf ("\33[H\33[2J");
            strt=loadMenu(menu,"conf/menu.txt");
            if(strt==-2) return -2;
        }
        displayMenu(menu);
        return 0;
    }

    if (strcmp(argv[1],"-d")==0) {
      char *arg[]= { "sudo", "python", "./python/arpSpoofer.py", "-d", NULL };
      launch(arg,"/usr/bin/sudo");
    }

}

Le bloc if(argc<2) {...} permet de lancer le menu de la catégorie cela ne nous intéresse pas pour le moment. La seconde condition permet de lancer le Spoofer ARP. Je veux aussi lancer ma fonctionnalité donc je m'inspire de ce bloc de condition. J'ajoute donc à la fin du fichier wifiJammer.cpp les lignes suivantes :

    if (strcmp(argv[1],"-c")==0) {
      char *arg[]= { "sudo", "python", "./python/jammCamera.py", NULL };
      launch(arg,"/usr/bin/sudo");
    }

Maintenant il me suffit de rajouter dans wifiJammer/conf/menu.txt :

<name=" 4 jamm only camera" src="./wifiJammer -c" path="wifiJammer/wifiJammer">

Veillez à ne pas laisser de lignes vides à la fin du fichier.

Ajouter une fonctionnalité optionnelle

Partager sa nouvelle fonctionnalité

Clone this wiki locally