5d96f53c
grouille
MAJ
|
1
|
# PSR 2020
|
16098d01
grouille
MAJ README
|
2
|
|
5d96f53c
grouille
MAJ
|
3
4
5
6
7
8
|
## Informations utiles
- La liste des bots actifs doit être vidée toutes les **10** secondes sur le C&C
- Il doit être possible d'exécuter une charge utile sur plusieurs bots en même temps pour faire du DDOS
## Protocôle UDP
|
16098d01
grouille
MAJ README
|
9
|
|
26e9d022
grouille
MAJ README
|
10
11
12
13
|
- Port : 4242
- Contenu du paquet :
- _Identifiant du bot_ : 6 octets
- _Temps de vie (nombre de secondes depuis le démarrage)_ 4 octets
|
16098d01
grouille
MAJ README
|
14
|
|
5d96f53c
grouille
MAJ
|
15
|
## Protocôle TCP
|
16098d01
grouille
MAJ README
|
16
|
|
26e9d022
grouille
MAJ README
|
17
18
|
- Port : 4242
- Commandes :
|
97ac6b64
grouille
MAJ README
|
19
|
- _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). Par exemple, un bot ayant un temps de vie de 1524 secondes, possédant 12 charges et ayant réalisé 3 exécutions enverra : 1524,12,3
|
26e9d022
grouille
MAJ README
|
20
|
- _QUIT_ : deconnexion du C&C par rapport au bot
|
16098d01
grouille
MAJ README
|
21
22
23
|
### Installation de la charge utile sur un bot
|
ef04e1cb
grouille
MAJ README
|
24
25
26
27
28
29
30
31
32
33
34
|
- _$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"
|
16098d01
grouille
MAJ README
|
35
36
37
|
### Exécution d'une charge sur un bot
|
ef04e1cb
grouille
MAJ README
|
38
39
40
41
42
43
44
45
46
47
|
- _$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"
|
16098d01
grouille
MAJ README
|
48
49
50
|
### Suppression d'une charge sur un bot
|
ef04e1cb
grouille
MAJ README
|
51
52
53
54
55
56
57
58
|
- _$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"
|
16098d01
grouille
MAJ README
|
59
60
61
|
### Demander à un bot de résultat de l'exécution d'une charge
|
ef04e1cb
grouille
MAJ README
|
62
63
64
65
66
67
68
69
70
|
- _$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"
|
16098d01
grouille
MAJ README
|
71
|
|
16098d01
grouille
MAJ README
|
72
73
|
**Veuillez ne pas modifier ce README sans en parler à tout le monde !**
|