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 :
|
760ec89f
grouille
MAJ README
|
19
20
21
|
- _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
|
22
|
- _QUIT_ : deconnexion du C&C par rapport au bot
|
16098d01
grouille
MAJ README
|
23
24
25
|
### Installation de la charge utile sur un bot
|
ef04e1cb
grouille
MAJ README
|
26
27
28
29
30
31
32
33
34
35
36
|
- _$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
|
37
38
39
|
### Exécution d'une charge sur un bot
|
ef04e1cb
grouille
MAJ README
|
40
41
42
43
44
45
46
47
48
49
|
- _$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
|
50
51
52
|
### Suppression d'une charge sur un bot
|
ef04e1cb
grouille
MAJ README
|
53
54
55
56
57
58
59
60
|
- _$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
|
61
62
63
|
### Demander à un bot de résultat de l'exécution d'une charge
|
ef04e1cb
grouille
MAJ README
|
64
65
66
67
68
69
70
71
72
|
- _$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
|
73
|
|
16098d01
grouille
MAJ README
|
74
75
|
**Veuillez ne pas modifier ce README sans en parler à tout le monde !**
|