From 16098d019b1419e1d6d45f419782b11875876154 Mon Sep 17 00:00:00 2001 From: grouille Date: Fri, 3 Apr 2020 16:19:14 +0200 Subject: [PATCH] MAJ README --- ProtocoleTCP_COMPLET | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- protocoleSO | 54 ------------------------------------------------------ 3 files changed, 134 insertions(+), 65 deletions(-) create mode 100644 ProtocoleTCP_COMPLET delete mode 100644 protocoleSO diff --git a/ProtocoleTCP_COMPLET b/ProtocoleTCP_COMPLET new file mode 100644 index 0000000..130e1fb --- /dev/null +++ b/ProtocoleTCP_COMPLET @@ -0,0 +1,54 @@ +Proposition protocole pour installer la charge utile sur le bot: +$C&C: "upload?\n" +$bot: "OKupload\n" +$C&C: "%d\n", charge.name.size +$bot: "OKname_size\n" +$C&C: "%s\n", charge.name +$bot: "OKname\n" +$C&C: "%d\n", charge.data.size +$bot: "OKdata_size\n" +$C&C: "%s\n", charge.data //on envoi octect par octet +$bot: "bye"\n" //qd a recu tt les packets +$C&C: "bye"\n" + +Execution charge: +$C&C: "execute?\n" +$bot: "OKexecute\n" +$C&C: "%d\n", charge.name.size +$bot: "OKname_size\n" +$C&C: "%s\n", charge.name +$bot: "OKname\n" //si la charge n'est pas presente sur le bot alors se dernier envoi un autre message "NOKname\n" et ca stop l'echange +$bot: "%d\n", id //indice de l'execution dans la structure de donne choisie (liste chaine, table de hashage...a definir) pour stocker les resultats d'execution sur le bot +$C&C: "OKid\n" +$bot: "bye"\n" +$C&C: "bye"\n" + +Suppression charge: +$C&C: "delet?\n" +$bot: "OKdelet\n" +$C&C: "%d\n", charge.name.size +$bot: "OKname_size\n" +$C&C: "%s\n", charge.name +$bot: "OKname\n" //si la charge n'est pas presente sur le bot alors se dernier envoi "NOKname\n" et ca stop l'echange +$C&C: "bye"\n" +$bot: "bye"\n" + +Resultat execution charge: +$C&C: "result?\n" +$bot: "OKresult\n" +$C&C: "%d\n", id +$bot: "OKid" //si id existe pas, renvoie "NOKid\n" et stop l'echange +$bot: "%d\n", executions[id].result.size +$C&C: "OKresult_size\n" +$bot: "%s\n", executions[id].result //on envoi octect par octet +$C&C: "bye"\n" //qd a recu tt les packets +$bot: "bye"\n" + +Demande Etat du bot: +$C&C: "state?\n" +$bot: "%d\n", nbCharge +$C&C: "OKnbCharge\n" +$bot: "%d\n", nbExecs +$C&C: "OKnbExecs\n" +$bot: "bye"\n" +$C&C: "bye"\n" diff --git a/README.md b/README.md index 059cb3f..c983e23 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,80 @@ -PSR-2020$ cat ProtocoleUDP -Port utilisé : 4242 -Contenu du paquet UDP : - identifiant du bot (unique) : 6 octets - temps de vie (nombre de secondes depuis le démarrage) : 4 octets - -PSR-2020$ cat ProtocoleTCP -Port TCP bot : 4242 -Commandes : - STAT : retourne le status du bot (la réponse comprend son temps de vie, le nombre de charges utiles téléversées, le nombre d'exécution de charges utiles) - QUIT : deconnexion du C&C par rapport au bot \ No newline at end of file +# Protocôles de communication + +## UDP + +* Port : 4242 +* Contenu du paquet : +- _Identifiant du bot_ : 6 octets +- _Temps de vie (nombre de secondes depuis le démarrage)_ 4 octets + +## TCP + +* Port : 4242 +* Commandes : +- _STAT_ : retourne le status du bot (la réponse comprend son temps de vie, le nombre de charges utiles téléversées, le nombre d'exécution de charges utiles) +- _QUIT_ : deconnexion du C&C par rapport au bot + +### Installation de la charge utile sur un bot + +_$C&C_ : "upload?\n" +_$BOT_ : "OKupload\n" +_$C&C_ : "%d\n", charge.name.size +_$BOT_ : "OKname_size\n" +_$C&C_ : "%s\n", charge.name +_$BOT_ : "OKname\n" +_$C&C_ : "%d\n", charge.data.size +_$BOT_ : "OKdata_size\n" +_$C&C_ : "%s\n", charge.data // On envoie octect par octet +_$BOT_ : "bye"\n" // Lorsque tous les octets sont reçus +_$C&C_ : "bye"\n" + +### Exécution d'une charge sur un bot + +_$C&C_ : "execute?\n" +_$BOT_ : "OKexecute\n" +_$C&C_ : "%d\n", charge.name.size +_$BOT_ : "OKname_size\n" +_$C&C_ : "%s\n", charge.name +_$BOT_ : "OKname\n" // si la charge n'est pas presente sur le bot alors se dernier envoi un autre message "NOKname\n" et ca stop l'echange +_$BOT_ : "%d\n", id //indice de l'execution dans la structure de donne choisie (liste chaine, table de hashage...a definir) pour stocker les resultats d'execution sur le bot +_$C&C_ : "OKid\n" +_$BOT_ : "bye"\n" +_$C&C_ : "bye"\n" + +### Suppression d'une charge sur un bot + +_$C&C_ : "delet?\n" +_$BOT_ : "OKdelet\n" +_$C&C_ : "%d\n", charge.name.size +_$BOT_ : "OKname_size\n" +_$C&C_ : "%s\n", charge.name +_$BOT_ : "OKname\n" //si la charge n'est pas presente sur le bot alors se dernier envoi "NOKname\n" et ca stop l'echange +_$C&C_ : "bye"\n" +_$BOT_ : "bye"\n" + +### Demander à un bot de résultat de l'exécution d'une charge + +_$C&C_ : "result?\n" +_$BOT_ : "OKresult\n" +_$C&C_ : "%d\n", id +_$BOT_ : "OKid" //si id existe pas, renvoie "NOKid\n" et stop l'echange +_$BOT_ : "%d\n", executions[id].result.size +_$C&C_ : "OKresult_size\n" +_$BOT_ : "%s\n", executions[id].result //on envoi octect par octet +_$C&C_ : "bye"\n" //qd a recu tt les packets +_$BOT_ : "bye"\n" + +### Demander l'état d'un bot (IDEM STAT) + +**En cours de discussion** + +_$C&C_ : "state?\n" +_$BOT_ : "%d\n", nbCharge +_$C&C_ : "OKnbCharge\n" +_$BOT_ : "%d\n", nbExecs +_$C&C_ : "OKnbExecs\n" +_$BOT_ : "bye"\n" +_$C&C_ : "bye"\n" + + +**Veuillez ne pas modifier ce README sans en parler à tout le monde !** diff --git a/protocoleSO b/protocoleSO deleted file mode 100644 index 130e1fb..0000000 --- a/protocoleSO +++ /dev/null @@ -1,54 +0,0 @@ -Proposition protocole pour installer la charge utile sur le bot: -$C&C: "upload?\n" -$bot: "OKupload\n" -$C&C: "%d\n", charge.name.size -$bot: "OKname_size\n" -$C&C: "%s\n", charge.name -$bot: "OKname\n" -$C&C: "%d\n", charge.data.size -$bot: "OKdata_size\n" -$C&C: "%s\n", charge.data //on envoi octect par octet -$bot: "bye"\n" //qd a recu tt les packets -$C&C: "bye"\n" - -Execution charge: -$C&C: "execute?\n" -$bot: "OKexecute\n" -$C&C: "%d\n", charge.name.size -$bot: "OKname_size\n" -$C&C: "%s\n", charge.name -$bot: "OKname\n" //si la charge n'est pas presente sur le bot alors se dernier envoi un autre message "NOKname\n" et ca stop l'echange -$bot: "%d\n", id //indice de l'execution dans la structure de donne choisie (liste chaine, table de hashage...a definir) pour stocker les resultats d'execution sur le bot -$C&C: "OKid\n" -$bot: "bye"\n" -$C&C: "bye"\n" - -Suppression charge: -$C&C: "delet?\n" -$bot: "OKdelet\n" -$C&C: "%d\n", charge.name.size -$bot: "OKname_size\n" -$C&C: "%s\n", charge.name -$bot: "OKname\n" //si la charge n'est pas presente sur le bot alors se dernier envoi "NOKname\n" et ca stop l'echange -$C&C: "bye"\n" -$bot: "bye"\n" - -Resultat execution charge: -$C&C: "result?\n" -$bot: "OKresult\n" -$C&C: "%d\n", id -$bot: "OKid" //si id existe pas, renvoie "NOKid\n" et stop l'echange -$bot: "%d\n", executions[id].result.size -$C&C: "OKresult_size\n" -$bot: "%s\n", executions[id].result //on envoi octect par octet -$C&C: "bye"\n" //qd a recu tt les packets -$bot: "bye"\n" - -Demande Etat du bot: -$C&C: "state?\n" -$bot: "%d\n", nbCharge -$C&C: "OKnbCharge\n" -$bot: "%d\n", nbExecs -$C&C: "OKnbExecs\n" -$bot: "bye"\n" -$C&C: "bye"\n" -- libgit2 0.21.2