/[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.15 - (hide 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 wcc 1.14 Botnet Sharing and Linking
2     Last revised: June 4, 2002
3     _________________________________________________________________
4 segfault 1.1
5 wcc 1.14 Botnet Sharing and Linking
6 segfault 1.1
7    
8 wcc 1.14 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 segfault 1.1
11 wcc 1.14 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 segfault 1.1
18    
19 wcc 1.14 1. Terms
20 segfault 1.1
21 wcc 1.14 The following are some common terms used in this document:
22 segfault 1.1
23    
24 wcc 1.14 Botnet
25     A botnet consists of one or more bots connected together.
26 segfault 1.1
27    
28 wcc 1.14 Link
29     Link is the term used to describe a bot connecting to another bot.
30 segfault 1.1
31    
32 wcc 1.14 Hub
33     A bot is described as a hub-bot if one or more bots are linked to
34     it.
35 segfault 1.1
36    
37 wcc 1.14 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 segfault 1.1
42    
43 wcc 1.14 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 segfault 1.1
47    
48 wcc 1.14 Share
49     Share is the term used to describe the sharing of user records.
50 segfault 1.1
51    
52 wcc 1.14 Share Bot
53     A share-bot is a bot which shares user records with one or more
54     linked bots.
55 segfault 1.1
56    
57 wcc 1.14 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 segfault 1.1
62    
63 wcc 1.14 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 segfault 1.1
68 wcc 1.14 Example bottree:
69 segfault 1.1
70 wcc 1.14 BotA
71     |-+BotB
72     `-+BotC
73 segfault 1.1
74 wcc 1.14 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 segfault 1.1
78    
79 wcc 1.14 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 segfault 1.1
84 wcc 1.14 The following is a list of valid bot flags:
85 segfault 1.1
86 wcc 1.14 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 segfault 1.1
97    
98    
99 wcc 1.14 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 fabian 1.3
104 wcc 1.13
105 wcc 1.14 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 wcc 1.13
109 segfault 1.1
110 wcc 1.14 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 segfault 1.1
115    
116 wcc 1.14 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 segfault 1.1
121    
122 wcc 1.14 2. What is a botnet?
123 segfault 1.1
124 wcc 1.14 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 segfault 1.1
129    
130 wcc 1.14 3. Adding and linking bots
131 segfault 1.1
132 wcc 1.14 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 segfault 1.1
136 wcc 1.14 Here is an example senario:
137 segfault 1.1
138 wcc 1.14 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 segfault 1.1
145 wcc 1.14 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 segfault 1.1
150    
151 wcc 1.14 4. Using botflags
152 segfault 1.1
153 wcc 1.14 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 segfault 1.1
158 wcc 1.14 "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 segfault 1.1
163    
164 wcc 1.14 "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 segfault 1.1
169    
170 guppy 1.9 "l" (leaf)
171     This flag, assigned to a link bot, will prevent the link bot from linking
172     other bots to your botnet.
173 segfault 1.1
174    
175 wcc 1.14 "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 segfault 1.1
179    
180 wcc 1.14 "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 segfault 1.1
185    
186 wcc 1.14 "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 segfault 1.1
191 wcc 1.14 |s +s bots need this flag for each channel you want to share.
192 segfault 1.1
193    
194 wcc 1.14 "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 segfault 1.1
199    
200 wcc 1.14 "g" (global share)
201     This flag allows the sharing of all channels with a link bot.
202 segfault 1.1
203    
204 wcc 1.14 "0-9" (user-defined)
205     These 10 flags are user-defined can be used by scripters.
206 segfault 1.1
207    
208 wcc 1.14 5. Making bots share user records
209 segfault 1.1
210 wcc 1.14 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 segfault 1.1
215 wcc 1.14 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 guppy 1.10
222 wcc 1.14 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 guppy 1.10
232 wcc 1.14 On Lamestbot:
233 guppy 1.10
234 wcc 1.14 .+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 guppy 1.10
239 wcc 1.14 .botattr Lameshare +s (This tells us that Lamestbot will only send
240     user files to Lameshare; Lameshare will not send them to it.)
241 guppy 1.10
242 wcc 1.14 .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 guppy 1.10
246 wcc 1.14 On Lameshare:
247 guppy 1.10
248 wcc 1.14 .+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 guppy 1.10
252 wcc 1.14 .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 guppy 1.10
256 wcc 1.14 .botattr Lamestbot |s #eggdrop (This sets #eggdrop as a share channel.)
257 guppy 1.10
258 wcc 1.14 Our botnet:
259 guppy 1.10
260 wcc 1.14 Lamestbot
261     `-+Lameshare
262 guppy 1.10
263 wcc 1.14 Let's add a third bot called beldin to this scenario:
264 guppy 1.10
265 wcc 1.14 On Lamestbot:
266 segfault 1.1
267 wcc 1.14 .+bot beldin llama.com:3333
268 segfault 1.1
269 wcc 1.14 .botattr beldin s|s #eggdrop (Notice how i piped (the | character)
270     the channel flag also saving time.)
271 segfault 1.1
272 wcc 1.14 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 segfault 1.1
282 wcc 1.14 Let's make beldin an alternate hub for our little botnet.
283 segfault 1.1
284 guppy 1.10 On Lameshare:
285 segfault 1.1
286 guppy 1.10 .botattr beldin +a
287 segfault 1.1
288 guppy 1.10 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 wcc 1.13 Of course, if you had more bots, you would have to add beldin as a +a on
292 guppy 1.10 them, but you would not do it on the hub or beldin.
293 segfault 1.1
294 guppy 1.10 Our botnet:
295 segfault 1.1
296 wcc 1.14 Lamestbot
297     |-+beldin
298     `-+Lameshare
299 tothwolf 1.11 _________________________________________________________________
300 segfault 1.1
301 wcc 1.15 Copyright (C) 1999, 2000, 2001, 2002, 2003 Eggheads Development Team

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23