4. Les Botnets
Serveur de commande
Suspect
Bot Bot Bot Bot Bot
4
5. Les Botnets
• Le programme de bot
• Création d’un bot
• Infrastructure du botnet
• La propagation
• Autres types de bot
• Commandes diverses
• Utilisation du botnet
5
6. Le programme
• Code source compilé en exécutable (.exe)
• Les grandes familles :
– Agobot/Phatbot/ForBot/XtremBot
– SdBot/Rbot/UrBot/RxBot/UrxBot/JrBot
• Intègre le ver et le robot IRC
• Peut se retrouver sous différentes variantes (Ex.
NZM, RoseBot, Ruffbot, etc.)
6
7. Création
• Les étapes :
– Code source récupéré sur Internet ou autre moyen
– Configuration
– Compilation
– Compression/Chiffrement
– Test
7
8. Création
• Code source
• Configuration
– Fichier de configuration
• Ex. StBot (Stable Bot) 1.0
– Générateur de configuration
• Ex. Agobot
• Compilation
– Ex. MS Visual Studio, GCC, etc.
8
10. Création
• Packing : Compression/Chiffrement
– Réduire la taille de l’exécutable
– Éviter la détection par les anti‐virus
– Protéger le code contre la rétro‐ingénierie
• Outil : le packer
• Ex. UPX, Armadillo, PECompact, RLPack,
Neolite, Morphine, Themida, PELock, etc.
10
14. Infrastructure
• Serveur de commande et contrôle
– Type : IRC, HTTP, P2P, etc.
– Hébergement
– Adresse IP ou nom de domaine
• Hébergement des ressources (programme de
bots pour les mises à jour)
• Si nom de domaine, enregistrement et DNS
14
15. Infrastructure
• Type de serveur
– IRC
• Simple, rapide, documentée et disponibilité
• Moins convivial (ligne de commande), Pare‐feu
• Ex. UnRealIRCd, BewareIRCd, Ultimate, InspIRCd, etc.
– HTTP
• Port 80 (Pare‐feu), Convivial (GUI en HTML)
– P2P
• Décentralisé
15
19. Infrastructure
• Hébergement
– Un ordinateur du pirate ou un ami
– Un serveur IRC existant (Ex. Undernet)
– Un serveur dédié (payé frauduleusement ou non)
– Un bot performant (serveur ou non)
– Une grappe de bots performants (cluster)
• Hébergement des ressources
– Fournisseurs gratuits (iquebec.com, voila.fr,
freewebs.com, etc.) 19
20. Infrastructure
• DNS
– DNS dynamique : un domaine, une adresse IP variable :
ex.No‐IP.org, dyndns.com, yi.org, etc.
– DNS Round Robbin (un domaine, plusieurs adresses IP
choisies en alternance)
– DNS Netmaskordering (Comme RR, mais avec priorité basée
sur la comparaison des masques)
N.B. : Le nom de domaine pointe directement sur le serveur de
commande et contrôle. Ceci représente le point le plus
vulnérable du botnet. Solution : Le Fast‐Flux. 20
24. Propagation
• Deux activités : Balayage (scan) et Infection
• Dans un bot traditionnel, c’est le ver qui
accomplit ces tâches, il peut être autonome ou
semi‐autonome
• Il recherche une ou plusieurs vulnérabilités (Ex.
DCOM, SMB, ASN, VNC, etc.)
• Démonstration : Autonome
24
29. Semi‐autonome
Commande de balayage :
Pirate!kktr@Longueuil‐A31682EC.mc.videotron.ca TOPIC #botnet : .advscan asn1smb 75 5 0 201.4.x.x
Balayage commandé et infection automatique :
CAN|XP|SP1|00|2633|W|548!eabt@142‐217‐78‐77.telebecinternet.net PRIVMSG #botnet :FTP File transfer
complete: 201.4.134.6 Infection par un autre bot
BRA|XP|SP1|00|1500|W|957!vtpxe@201.4.134.6 JOIN : #botnet Nouveau bot
BRA|XP|SP1|00|1500|W|957!vtpxe@201.4.134.6 PRIVMSG #botnet : [SCAN]: Random Port Scan started on
201.4.x.x:445 with a delay of 5 seconds for 0 minutes using 75 threads.
CAN|XP|SP1|00|2633|W|548!eabt@142‐217‐78‐77.telebecinternet.net PRIVMSG #botnet :FTP File transfer
complete: 201.4.136.102
BRA|XP|SP0|00|3066|W|771!vbf@201.4.136.102 JOIN : #botnet
BRA|XP|SP0|00|3066|W|771!vbf@201.4.136.102 PRIVMSG #botnet : [SCAN]: Random Port Scan started on
201.4.x.x:445 with a delay of 5 seconds for 0 minutes using 75 threads.
29
32. Le IRC Bot
• Robot IRC convertit en méchant Robot
– Exemple de Robot IRC : Eggdrop, Windrop,
EnergyMech (Emech), Cygmech, WinMech, Darkbot,
etc.
• Modifications : Furtivité, Porte dérobée, etc.
• Pas de ver intégré
• Installation « à la main »
• Démonstration : Eggdrop 32
36. Conclusion
• Conséquences et utilisations des botnets
– Perturbation des communications : volontaire
(flood) ou involontaire (consommation de
ressources comme les pourriels)
– Perturbation des systèmes : Infection virale, coût
en ressources humaines et matériels (ex. antivirus)
– Fraude au clic : régies publicitaires, concours, etc.
– Warez : vol de licences, hébergement sur les bots
– Web Defacement et méfaits : attaques DDoS
36
37. Conclusion
– Vol d’identité de masse : pstore, sniffer, keylogger,
accès aux fichiers
– Hameçonnage : hébergement du faux site, serveur
SMTP pour les pourriels, obtention d’accès sur des
sites bancaires
– Extorsion : menace d’utilisation du botnet
– Espionnage et vol de données
– Cyberterrorisme
– Cyberguerre
37
39. Conclusion
• À venir
– La prévention
– La détection
– L’éradication (décontamination)
– L’investigation
– La mise en accusation et la condamnation
39
40. Questions ?
Encore plus...
Liste de commandes
Avec exemples
40
41. Commandes
• Informations sur l’hôte : ordinateur, système
d’exploitation, paramètres réseau, liste de processus,
base de registre, etc.
• Informations sur le bot : uptime, installation, version,
liste des contrôleurs, threads, etc.
• Déplacements : clônage, joindre ou quitter une
chambre, se reconnecter, etc.
• Démarrer un service : serveur HTTP, FTP, IRC, SMTP,
proxy, etc.
41
42. Commandes
• Espionnage et vol de données : liste des fenêtres
actives, capture d’écran, utiliser la webcam, parcours
du système de fichiers, vol des licences, keylogger,
sniffer, pstore, etc.
• Entretien du système : session distante, effacer les
logs, enlever les autres bots, télécharger une mise à
jour, etc.
• Attaques et fraudes : attaques DDoS, fraudes au clic
42
43. Commandes
Informations système :
<@Pirate> [00|TWN|XP|SP0]‐277701 .si
<[00|TWN|XP|SP0]‐277701> ‐ sysinfo ‐ CPU : 1600MHz. RAM : 1,048,048KB total, 1,048,048KB free.
Disk : 20,482,840KB total, 2,578,028KB free. OS : Windows XP (5.1, Build 2600). Sysdir : D:WINDOWSSystem32
Hostname : guiltpun‐x5q2g9 (170.125.200.173). Current User : guiltpunish. Date : 20:Feb:2008. Time : 10:05:26.
Uptime : 0d 1h 12m.
<@Pirate> ‐uname
<zlw281> Linux somebot1.com 2.6.19.2 #2 SMP Sun Jan 14 04:15:38 CET 2007 i686 Linux
<reg279> FreeBSD somebot2.com 6.2‐STABLE FreeBSD 6.2‐STABLE #0: Tue Jan 23 12:44:26 IRKT 2007
root@v23.ispsystem.net:/usr/obj/usr/src/sys/ISPSYSTEM i386 FreeBSD
Informations réseau :
<@Pirate> .ni
<[00|USA|1821> [ NETINFO ] [Connection Type]: LAN (LAN Connection). [Internal IP]: 129.93.231.166. [External
IP]: 125.103.251.136. [Hostname]: somebot..edu. [Private]: No.[Country]: United States.[Speedtest]: Upload:
92.56 KB/s, Download: 144.35 KB/s.[Bandwidth]: Downloaded: 767MB, Uploaded: 798MB.
43
44. Commandes
Liste de processus :
<@Pirate> .ps list
<[P24|USA|44184]> [PROC] Process List:
<[P24|USA|44184]> 144 ‐ 60 K ‐ "SystemRootSystem32smss.exe"
<[P24|USA|44184]> 168 ‐ 1,660 K ‐ "??C:WINNTsystem32csrss.exe"
<[P24|USA|44184]> 188 ‐ 2,860 K ‐ "??C:WINNTsystem32winlogon.exe"
<[P24|USA|44184]> 216 ‐ 3,076 K ‐ "C:WINNTsystem32services.exe"
<[P24|USA|44184]> 228 ‐ 1,440 K ‐ "C:WINNTsystem32lsass.exe"
<[P24|USA|44184]> 404 ‐ 2,008 K ‐ "C:WINNTsystem32svchost.exe"
...
<[P24|USA|44184]> 8256 ‐ 2,112 K ‐ "C:Program FilesInternet Exploreriexplore.exe"
<[P24|USA|44184]> 8976 ‐ 13,020 K ‐ "C:Program FilesMSN Messengermsnmsgr.exe"
<[P24|USA|44184]> 4088 ‐ 3,696 K ‐ "C:winntsystem32minimech.exe"
<[P24|USA|44184]> [PROC] End of list.
44
56. Commandes
IRC Message Flood :
<@Pirate> ‐insult SomeUser Un autre usager IRC
<Oimec4945> (SomeUser) You are so stupid you couldn't pour piss out of a boot if the instructions were written
on the bottom of the heel.
<__mech‐__> (SomeUser) There's nothing wrong with you that a miracle couldn't cure...
<PaNaDooLa> (SomeUser) For a minute there I didn't recognize you. It was the happiest minute of my life.
<IrcL3aDeR> (SomeUser) Do YOU ever get tired of having yourself around?
Une chambre, ex.. #montreal
<@Pirate> !privmsg #montreal POUHAHAHAHAHAHAHAHAHAHAHAHAHAPOUHAHAHAHAHAHAHAHAHAHAHAHA
HAPOUHAHAHAHAHAHAHAHAHAHAHAHAHAPOUHAHAHAHAHAHAHAHAHAHAHAHAHAPOUHAHAHAHAHAHAHA
HAHAHAHAHAHAPOUHAHAHAHAHAHAHAHAHAHAHAHAHAPOUHAHAHAHAHAHAHAHAHAHAHAHAHAPOUHAHA
HAHAHAHAHAHAHAHAHAHAHA
56