/[cvs]/eggdrop1.6/doc/BOTNET
ViewVC logotype

Annotation of /eggdrop1.6/doc/BOTNET

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.10 - (hide annotations) (download)
Wed Jan 2 03:46:33 2002 UTC (19 years, 3 months ago) by guppy
Branch: MAIN
Changes since 1.9: +92 -32 lines
added Wcc's even_more_docs patch

1 guppy 1.9 BOTNET SHARING AND LINKING v2.1 29 Dec 2000
2 segfault 1.1
3    
4    
5     INDEX
6    
7 guppy 1.9 I. ABOUT THIS DOCUMENT
8     II. TERMS USED
9     III. WHAT IS A BOTNET?
10     IV. ADDING AND LINKING BOTS
11     V. USING BOTFLAGS
12     VI. MAKING BOTS SHARE USER RECORDS
13 segfault 1.1
14    
15    
16    
17    
18     I. ABOUT THIS DOCUMENT
19    
20 guppy 1.9 The purpose of this document is to show you what a botnet is and how
21     it could be useful to you. It also covers botflags userfile sharing.
22 segfault 1.1
23    
24     II. TERMS USED
25    
26 guppy 1.9 The following are some common terms used in this document:
27 segfault 1.1
28    
29 guppy 1.9 Botnet
30     A botnet consists of one or more bots connected together.
31 segfault 1.1
32    
33 guppy 1.9 Link
34 guppy 1.10 Link is the term used to describe a bot connecting to another bot.
35 segfault 1.1
36    
37 guppy 1.9 Hub
38     A bot is described as a hub-bot if one or more bots are linked to
39     it.
40 segfault 1.1
41    
42 guppy 1.9 Leaf
43     A leaf is a non-hub bot connecting to a hub-bot. A leaf has only
44     one other bot connected to it, its hub. Leaf bots can be assigned
45 guppy 1.10 the "l" botflag to prevent other bots from linking to them.
46 segfault 1.1
47    
48 guppy 1.9 Link Bot
49     A link-bot is a bot that is linked to another bot. It may or may not
50     be a hub-bot.
51 segfault 1.1
52    
53 guppy 1.9 Share
54     Share is the term used to describe the sharing of user records.
55 segfault 1.1
56    
57 guppy 1.10 Share Bot
58 guppy 1.9 A share-bot is a bot which shares user records with one or more
59     linked bots.
60 segfault 1.1
61    
62 guppy 1.9 Aggressive Share
63     Aggressive share is a term used to describe the direction of sharing
64     user-files. Aggressive share bots will SEND userfiles to another passive
65     bot.
66 segfault 1.1
67    
68 guppy 1.9 Passive Share
69     Passive share is a term used to describe the direction of sharing
70     user-files. Passive share bots will accept userfiles from an aggressive
71     share bot.
72 segfault 1.1
73 guppy 1.9 Example bottree:
74 segfault 1.1
75 guppy 1.9 BotA
76     |-+BotB
77     `-+BotC
78 segfault 1.1
79 guppy 1.10 BotB is linked to a master sharebot, BotA, and a slave sharebot,
80     BotC. BotB shares passively with [receives from] BotA and shares
81     aggressively with [sends to] BotC.
82 segfault 1.1
83 fabian 1.3
84 guppy 1.9 Bot Flags
85     Flags are attributes that determine what a bot can or is allowed to do.
86     Flags can be either global (such as +s) or channel specific (such as
87     |+s #lamest). See '.help botattr' for help with setting these flags.
88    
89     The following is a list of valid bot flags:
90    
91     s share aggressively (SEND userfile to a passive bot)
92     p share passively (ACCEPT userfile from an aggressive bot)
93     g global share (share all channels)
94     h hub (automatically link to this bot)
95     a alternate (automatically link to this bot if the hub bot can't be
96 guppy 1.10 linked)
97 guppy 1.9 l leaf (bot is not allowed to link in other bots)
98     r reject (bot will not be allowed to link)
99     i isolate (isolate the party line across a bot link)
100     0-9 user defined flags
101 segfault 1.1
102    
103    
104 guppy 1.9 Address
105     The physical address, containing the address and port of the bot.
106     For example: lame.org:3333. You can change a bot's address with
107     ".chaddr <botname> <hostaddress:botport[/userport]>".
108 segfault 1.1
109    
110 guppy 1.9 Relay
111     The relay port number of the bot is defined in the config file.
112     Note that you can define one port for bots and another for user
113 guppy 1.10 connections.
114 segfault 1.1
115    
116 guppy 1.10 Relay
117 guppy 1.9 A relay connection is used to relay (jump) to another bot via telnet
118     or DCC chat. You can relay to another bot even if the remote bot is
119     not linked. You can use ".relay <botname>" to relay to another bot.
120 segfault 1.1
121    
122 guppy 1.9 Port
123     The telnet port is used by the bot to communicate with other bots
124     and/or users. Note that you can define separate ports for user and bot
125     connections.
126 segfault 1.1
127    
128    
129    
130 guppy 1.9 III. WHAT IS A BOTNET?
131 segfault 1.1
132 guppy 1.9 A botnet consists of one or more bots linked together. This can allow bots
133     to op each other securely, control floods efficiently, and share user lists,
134     ban lists, exempt/invite lists, and ignore lists (if sharing is enabled).
135 segfault 1.1
136    
137     IV. ADDING AND LINKING BOTS
138    
139 guppy 1.9 With the common terms out of the way, we can start with the process of
140     linking two bots. Before you start, you need to know the address and
141     port of each bot you wish to link.
142 segfault 1.1
143 guppy 1.9 Here is an example senario:
144    
145     BotA is on lame.org listening on port 3333, and BotB is on irc.org
146     listening on port 4444. First, you have to add each Bot to the other's
147     userfile. On BotA, you would type '.+bot BotB irc.org:4444'. If BotB is
148     on a common channel with BotA, BotB's hostmask is automatically added.
149     Otherwise, you have to add the hostmask manually with the '.+host'
150     command. On BotB, you would type '.+bot BotA lame.org:3333'.
151 segfault 1.1
152 guppy 1.9 At this point, you can link the two bots by typing '.link BotA' on BotB (or
153     '.link BotB' on BotA). The bots will now give themselves random passwords
154     which are *not* stored encrypted in the userfile. Note that you can link as
155     many bots as you wish to your botnet.
156 segfault 1.1
157    
158    
159    
160 guppy 1.9 V. USING BOTFLAGS
161 segfault 1.1
162 guppy 1.9 Botflags are needed to assign special functions and tasks to your bots.
163     Bot flags are set with the '.botattr' command. See '.help botattr' for
164     help with this command. The following is a list of botflags and their
165     functions:
166 segfault 1.1
167 guppy 1.9 "h" (hub)
168     If you want your bot(s) to automatically link/relink, you can assign
169     the +h botflag each bot's hub. Note that if you set multiple bots +h,
170     the bot only attempts to link to one.
171 segfault 1.1
172    
173 guppy 1.9 "a" (alternate)
174     If your bots are, for some reason, unable to link to their hub, they
175     will attempt to connect to an alternate hub. You can assign a bot as
176     an alternate hub by giving it the +a botflag.
177 segfault 1.1
178    
179 guppy 1.9 "l" (leaf)
180     This flag, assigned to a link bot, will prevent the link bot from linking
181     other bots to your botnet.
182 segfault 1.1
183    
184 guppy 1.9 "r" (reject)
185     If you assign this flag to a link bot, the link bot will not be allowed
186     to link to the botnet.
187 segfault 1.1
188    
189 guppy 1.9 "i" (isolate)
190     This flag isolates a link bot's partyline from the rest of the botnet.
191     Anything said on the link bot's partyline won't appear on the rest of
192     the botnet.
193 segfault 1.1
194    
195 guppy 1.9 "s" (SEND userfile to)
196     +s Giving a link bot this flag will make the bot share aggressively
197     with the link bot. See 'Aggressive Share' in section II of this
198 guppy 1.10 document for more information on aggressive sharing.
199 segfault 1.1
200 guppy 1.9 |s +s bots need this flag for each channel you want to share.
201 segfault 1.1
202    
203 guppy 1.9 "p" (ACCEPT userfile from)
204     Giving a link bot this flag will make the bot share passively
205     with the link bot. See 'Passive Share' in section II of this
206     document for more information on passive sharing.
207 segfault 1.1
208    
209 guppy 1.9 "g" (global share)
210     This flag allows the sharing of all channels with a link bot.
211 segfault 1.1
212    
213 guppy 1.9 "0-9" (user-defined)
214     These 10 flags are user-defined can be used by scripters.
215 segfault 1.1
216    
217    
218 guppy 1.9 VI. MAKING BOTS SHARE USER RECORDS
219 segfault 1.1
220 guppy 1.9 Before you start preparing your bots for sharing, make sure that
221 guppy 1.10 you've loaded the transfer and share modules. You also have to ensure
222     that each channel you wish to share is set +shared (see '.help
223     chanset' and '.help chaninfo').
224    
225     By using specific botflags, you can cause your bot to share
226     aggressively with some link bots, and passively with others. For
227     sharing to work, flags must be set properly on both the passive and
228     the aggressive bots. An aggressive bot will not share userfiles with
229     another aggressive bot; a passive bot will not share userfiles with
230     another passive bot.
231    
232     First off, let's say we have two bots we want to link. We will
233     call one Lamestbot, and the other Lameshare. The first thing that needs
234     to be done is each bot needs the other bot added to it's user record.
235     Your botnet should have a hub bot. This will have them connect
236     automatically whenever they are started. Without a hub, you would have to
237     manually link them with the .link command. For this situation we will
238     make Lamestbot the hub for our small botnet. Let's also use a channel
239     called #eggdrop as the one we want to share user channel flags with. Do
240     the following:
241    
242     On Lamestbot:
243    
244     .+bot Lameshare eggdrop.com:3333 (This command adds a user record to
245     Lamestbot for Lameshare. Lameshare is running from eggdrop.com and is
246     on port 3333. If Lameshare were to have a separate port for users/relays
247     we would just add a '/' and the port number, i.e. 3333/5555.)
248    
249     .botattr Lameshare +s (This tells us that Lamestbot will only send
250     user files to Lameshare; Lameshare will not send them to it.)
251    
252     .botattr Lameshare |s #eggdrop (this sets up sharing of the channel
253     flags for #eggdrop between the bots. Without this, they will not share
254     channel flags only global flags for the users.)
255    
256     On Lameshare:
257    
258     .+bot Lamestbot best.com:3333/5555 (Again this will add a user on
259     Lameshare called Lamestbot with the domain of best.com. The bot has two
260     ports, 3333 for bot communications and 5555 for users/relays.)
261    
262     .botattr Lamestbot +hp (This command sets Lamestbot as the hub and
263     also as a passive share, which means Lameshare will accept user files
264     from Lamestbot.
265    
266     .botattr Lamestbot |s #eggdrop (This sets #eggdrop as a share
267     channel.)
268    
269     Our botnet:
270    
271     Lamestbot
272     `-+Lameshare
273    
274     Let's add a third bot called beldin to this scenario:
275    
276     On Lamestbot:
277 segfault 1.1
278 guppy 1.10 .+bot beldin llama.com:3333
279 segfault 1.1
280 guppy 1.10 .botattr beldin s|s #eggdrop (Notice how i piped (the | character)
281     the channel flag also saving time.)
282 segfault 1.1
283 guppy 1.10 Also note that you don't have to add beldin on Lameshare. Since
284     they are already sharing, it was added automatically. The one thing that
285     you should note is that no bot flags will be shared. If you set beldin as
286     +s (Aggressive share) on the hub (Lamestbot) he will not be set on the
287     other bots as that. The same with the channel +s flag. All other flags
288     will be shared such as the o, f, etc. Now that we have three bots, we
289     can also set up one as an alternate hub. The alternate hub is the bot
290     that the bots will auto-connect to in the event the hub goes down or
291     is unreachable.
292 segfault 1.1
293 guppy 1.10 Let's make beldin an alternate hub for our little botnet.
294 segfault 1.1
295 guppy 1.10 On Lameshare:
296 segfault 1.1
297 guppy 1.10 .botattr beldin +a
298 segfault 1.1
299 guppy 1.10 That's all there is to it. Again, since bot flags are not shared,
300     you would have to add the bot flag +a for beldin on them all. The only
301     ones you would not have to do this on are beldin and the hub (Lamestbot).
302     Of course, if you had more bots, you would have to add beldin as a +a on
303     them, but you would not do it on the hub or beldin.
304 segfault 1.1
305 guppy 1.10 Our botnet:
306 segfault 1.1
307 guppy 1.10 Lamestbot
308     |-+beldin
309     `-+Lameshare
310 segfault 1.1
311 guppy 1.10 _________________________________________________________________
312 segfault 1.1
313 guppy 1.10 Copyright (C) 2002 Eggheads Development Team

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23