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

Contents of /eggdrop1.6/doc/BOTNET

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


Revision 1.15 - (show annotations) (download)
Tue Dec 24 02:30:02 2002 UTC (18 years, 3 months ago) by wcc
Branch: MAIN
CVS Tags: r1, eggdrop_1_6_15, blah, test
Changes since 1.14: +1 -1 lines
Updated copyright info for 2003.

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

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23