This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

make a botnet with dynamic ip numbers

Old posts that have not been replied to for several years.
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

make a botnet with dynamic ip numbers

Post by virtuoso »

hello.

i want to make a botnet with the dynamic ip numbers of my friend connections.
at this point i have 1 only solution to choose :

1) a tcl called distribuited keyserver 2.0,that im not able to use cuz a
bug. i've already written a post to explain it,but till now i have got no
reply. the error message i see is :

[06:42] Tcl error in script for 'need-op':
[06:42] can't read "randbase": no such variable

can some one help me to fix it ? thanks

or if someone knows a better tcl script like this,please tell me...

this is the source code :

Code: Select all


#Distributed Eggdrop Keyserver for eggdrop1.3.22

#by nullset{} (nullset@nullset.resnet.gatech.edu)

#

#This is the way overly secure opping script i wrote.

#It started off just as an op script, but then i decided to make the
distributed key server

#And use it in the op script

#It's for those of you who are way overly paranoid, such as myself.

#Please read through and edit it, as your bot will crash if you don't edit
some lines

#If you edit anything, or have questions/comments (ie it sucks, it rules,
it's way overkill)

#email them to me at the address shown above

#Future versions (if ever) will include: A C module for PGP encyrption
(hehe)

#Custom sockets

#More security checking within the script itself

#A maximum ping time so that it won't op the bot if there is more than XX
lag b/w the two

#(Prevents the bot from 'verifying' itself then lagging off right after this
bot puts in the

#mode. If this were to happen, anyone with the nick 'bot1' will be opped.

#Anything else overly complex i can think of. Please use my opping script as
an example

#Of how to use the keyserver....don't let it go to waste by jsut opping.
Send me anything you

#do based on this script.

#The last section of code is the opping script, with usage instructions.
Enjoy

###### INITIAL SETTINGS #######

#how long to keep a key before generating a new one? (in seconds, but the
clock is a bit fast)

set keepvkey "5000"

# Place the nickname of the 'keyserver' bot here

set keyserver "Nutellina"

# This is the key used to encrypt the keys. If it's more than 8 chars long,
the bot will crash

#NOTE: edit this or your bot will crash

set vkey "giustizia"

#This phrase is used to make sure the other bot knows our vkey.

set testphrase "sincerita"

#This is the keyword used for opping.....

set opvword "amore"

#A list of bots you want to receive keys/ask for ops from. noticed this bot
(bot1) isn't in

#its own list

set botlist { ada123 }

#Number of bots

set num_of_vbots "1"

############################################################################
############

#### YOU DONT NEED TO TOUCH ANYTHING BELOW HERE, BUT IF YOU DO, EMAIL ME
WHAT YOU CHANGED

#I'm nullset@nullset.resnet.gatech.edu

############################################################################
#############

#### Keyserver client proc ###########

proc newkey {from command args} {

global keyserver randbase sanekey vkey testphrase newkey

set testkey [lindex "$args" 0]

set testkeya [decrypt $vkey $testkey]

if { $testkeya == $testphrase} {

set newkey [eval lindex "$args" 1]

set randbase [decrypt $vkey $newkey]

putlog "New Key Received from $from."

}

if { $testkeya != $testphrase } {

putlog "Invalid Key Sent from $from. Decrypted = $testkeya"

}

return 0

}

####### Keyserver server proc##############

proc initialize_random {} {

global randbase randnum keepvkey vkey testphrase botlist num_of_vbots

set randbase [eval rand 720]

set keytosend [encrypt $vkey $randbase]

set encphrase [encrypt $vkey $testphrase]

#the catch is there, in case said bot isn't on the botnet

for {set botname 0} {$botname < $num_of_vbots} {incr botname} {

catch [putbot [lindex "$botlist" $botname] "NUKEY $encphrase $keytosend"]

}

utimer $keepvkey initialize_random

return 0

}

#####This is needed to call the keyserver script initially

if { $botnick == $keyserver} {

initialize_random

}

###If we aren't keyserver, we want to receive keys....

if { $botnick != $keyserver} {

bind bot - NUKEY newkey

}

#####################This is the script i wrote to op my bots using the
keys################

#To use it, do '.chanset #yourchan need-op msg_getops #yourchan' and edit
the need-op value#

#In your cfg file #

############################################################################
################

proc msg_op {nick uhost hand args} {

global randbase opvword

set chan [eval lindex "$args" 1]

set chantoop [decrypt $randbase $chan]

set testopword [eval lindex "$args" 0]

set testbase [decrypt $randbase $testopword]

if { $testbase == $opvword } {

if { [handonchan $hand $chantoop] } {

putlog "Opping $nick on $chantoop"

putserv "MODE $chantoop +o $nick"

}

}

}

bind msg b OPME msg_op

proc msg_getops {chan} {

global botlist randbase opvword num_of_vbots

putlog "Asking for ops....."

for {set botnum 0} {$botnum < $num_of_vbots} {incr botnum} {

set bottomsg [lindex "$botlist" $botnum]

set encoded [encrypt $randbase $opvword]

set chann [encrypt $randbase $chan]

putserv "PRIVMSG $bottomsg :OPME $encoded $chann" }

}
Last edited by virtuoso on Mon Dec 15, 2003 4:12 am, edited 1 time in total.
d
dollar
Op
Posts: 178
Joined: Tue Oct 28, 2003 3:47 pm
Location: Netherlands

Post by dollar »

Use the BBCode 'code' function for pasting code. It looks like sh*t now :]
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

dd

Post by virtuoso »

User avatar
user
&nbsp;
Posts: 1452
Joined: Tue Mar 18, 2003 9:58 pm
Location: Norway

Re: dd

Post by user »

virtuoso wrote:oh don't need. get it here :

http://www.egghelp.org/tclhtml/3478-4-0 ... server.htm
That link is not very helpful. Use the Edit button to add [code][/code] around the code in your first post.
Have you ever read "The Manual"?
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

sorry

Post by virtuoso »

sorry for the mistake.
Last edited by virtuoso on Mon Dec 15, 2003 4:13 am, edited 1 time in total.
User avatar
user
&nbsp;
Posts: 1452
Joined: Tue Mar 18, 2003 9:58 pm
Location: Norway

Post by user »

Why do you have to use this script? (it's written for an ancient eggdrop version by someone that doesn't know tcl) ...and why are you in such a hurry? (saw you making alot of noise on the eggdrop mailing list)
Why don't you just link the bots? You must have access to ONE box capable of recieving connections. Or are those "friends'" machines really hacked boxes that you don't want to connect to/recieve connections from?
Have you ever read "The Manual"?
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

exp

Post by virtuoso »

nope. i have a lot of friends who run eggdrops for windows. we live in italy. here there is adsl. our ip address change very often. we want to make a botnet between our home computers because we want to save moneys. we don't want to buy a lot of eggdrops from the shell providers.
if u have another idea about how to link dynamic ip address,tell me.
User avatar
GodOfSuicide
Master
Posts: 463
Joined: Mon Jun 17, 2002 8:00 pm
Location: Austria

Post by GodOfSuicide »

why about a service like dynIP ?

or, if that doesnt work you could try it this way: when bot1 restarts / gets a new ip he privmsg's bot2 with a special password and then the ip / port, then bot2 removes bot1's old host and adds the new one (if the password is correct). not very secure since ircops can log your messages, but you could (if the correct pw is entered) open a DCC chat between bot1 and bot2 in which bot2 is asking for a level 2 password to continue)
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

ddd

Post by virtuoso »

dynip and programs like these doesn't works well,because the bot joins ircNET using only dynamic ip numbers,cuz our reverse dns works in one only way.
your idea is good,but it requires a good tcl knowledge that i haven't. the tcl i've posted seems to do something like this,but it doesn't works.
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

gggg

Post by virtuoso »

the tcl i've posted does something like :

there is a bot HUB defined in the tcl that generates encrypted keys starting from a word that u should define inside the tcl and there are a list of bots LEAFS that receives keys/ask for ops from the HUB.
the problem is that im not able to get the op from bots where it is installed. bot HUB is generating keys,but leafs aren't able to get the op channel status after to have verified them.

in this example ,i've setup in the tcl a bot HUB called NUTELLINA and i have given the @ to it and a bot LEAF called Adaaaaa1 without @ and i see :

IN THE SHELL OF NUTELLINA

[18:08] Asking for ops.....
[18:09] Asking for ops....

IN THE SHELL OF Adaaaaa1

[17:39] [Adaaaaa1!~Ada@host36-22.pool80116.interbusiness.it] op sk0ZC.ltaX// /Oc
Fq.i/ezq0

as u can see Adaaaaa1 asks the @ and NUTELLINA is not able to give it to him...
User avatar
GodOfSuicide
Master
Posts: 463
Joined: Mon Jun 17, 2002 8:00 pm
Location: Austria

Post by GodOfSuicide »

set mypassword "thisisapassword"
set mykey "123imakey456"

bot1 connects, privmsg's bot2 with [encrypt $::mypassword $::mykey] followed by $::{my-ip} and the bots listen port
bot2 has a bind for privmsg, if [decrypt $::mypassword $privmsgtext] == $::mypass -> change the host

i cant write a complete script right now, my server has gone down for some hardware upgrades
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

ddd

Post by virtuoso »

i don't know how to make a script like this. i can wait that your server will come back online. in the meantime i will ask all around if someone is able to fix mine.
User avatar
user
&nbsp;
Posts: 1452
Joined: Tue Mar 18, 2003 9:58 pm
Location: Norway

Post by user »

You'd only need dynamic dns for the hub (what the bots look like on irc doesn't matter). Just add the hub with the dynamic host as a botaddr and the leafs should be able to link to it.
Have you ever read "The Manual"?
v
virtuoso
Halfop
Posts: 90
Joined: Fri May 16, 2003 6:52 pm

Post by virtuoso »

something like this ?

HUB ---> ZlZnT@host148-7.pool80116.interbusiness.it
leaf1 ----> OIGNAS@host245-132.pool80181.interbusiness.it

on HUB :

.+bot leaf1
.chattr leaf1 +fo
.botattr leaf1 +gs

on leaf1 :

.+bot HUB ZlZnT@host148-7.pool80116.interbusiness.it:3333
.chattr HUB +fo
.botattr HUB +gshp

but what happens when the hub or the leafs will changes the dynamic host ?
User avatar
user
&nbsp;
Posts: 1452
Joined: Tue Mar 18, 2003 9:58 pm
Location: Norway

Post by user »

virtuoso wrote:but what happens when the hub or the leafs will changes the dynamic host ?
That is the point of the dynamic dns...the hub won't change its hostname (from the leaf's point of wiev). Only the passive part in the linking process needs this. Check http://www.dyndns.org/services/dyndns/ ...several sites offer this kind of service for free.
Have you ever read "The Manual"?
Locked