Date: Sat, 4 Aug 2001 05:31:01 -0700 (PDT)
From: ByteRage <[email protected]>
To: [email protected]Subject: SurgeFTP admin account bruteforcable
--0-1856797125-996928261=:10692
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
SurgeFTP admin account bruteforcable
AFFECTED SYSTEMS
SurgeFTP <= 2.0f on a win32 platform,
should give the same results on *nix
DESCRIPTION
SurgeFTP uses the same (extremely weak) hashing
algorithm as the NWauth module to store the admin
password, but adding a fixed 'salting' value (which is
"qr") making it even weaker against all kinds of
attacks, in this case : bruteforcing the admin
account.
(You'll have to consult the source code of the NWAuth
module to figure out what I mean)
In brief, what happens is :
When the SurgeFTP administrator sets his account name
+ password (Surgeftp won't work without it), this
information is written to the file 'admin.dat' by
SurgeFTP, so that this file contains something like :
admin:qrQ\Wd
This file now contains the authentication information
for the admin to login using Basic http authentication
on port 7021 (this portnumber can be used to identify
SurgeFTP servers BTW) for 'web administration'.
Since this authentication on port 7021 allows logins
ad infinitum, it can be bruteforced. 'MGR channel'
logins get logged though (they get written to
surgeftp.log, surgeftp1.log, ... surgeftp5.log, the
logs use about 1 meg of hd space before they start
wrapping).
>From an attacker standpoint, we can crack the SurgeFTP
computer by using weaknesses in the way the admin
password is stored (it is better if you think of it as
cracking the hashes using their associated passwords,
then cracking the passwords) :
a) the password hash always begins with "qr" (the
'salting' value)this introduces new weaknesses, since
this value is used in the hashing algorithm and makes
certain hashes impossible since they don't match any
password
b) every character of the password goes through some
calculations (using the salting variable) and goes
through a modulo 40 ! meaning the possible hashes are
at maximum 40 x 40 x 40 for any three character
passwords fe. (but alot less because of a)
c) since certain hashes have more passwords associated
with them, we can order our specially generated
password lists
Enough theory, now some numbers :
-> a (null password) is cracked in 1 try (duh)
-> for any 1 char (256 possibilities) pwd you set as
admin, an attacker just tries a 4, a 1, a 3, a 0, and
when all else fails a 2 and he 0wns your win 2 0 0 0
-> for any 2 char pwd (256^2 possibilities), we need
<= 168 tries
(maximum 8 seconds at 20 attempts / sec.)
-> for any 3 char pwd (256^3 possibilities), we need
<= 3916 tries
(maximum 3 minutes 15 seconds at 20 attempts /
sec.)
-> for any 4 char pwd (256^4 possibilities), we need
<= 96012 tries
(maximum 1 hour 20 minutes at 20 attempts / sec.)
-> for any 5 char pwd (256^5 possibilities), we need
<= 2349912 tries
(maximum 1 day 8 hours 40 minutes at 20 attempts /
sec.)
...
For demonstrative purposes, I've attached a zipped up
wordlist that can crack all passwords <= 3 chars (*nix
LF format) The password list is sorted according to
point c) meaning that the first passwords have more
chances of matching a given hash (because that hash
has most passwords associated with it).
The zip also contains the password list generator
sources.
For pwds > 5/6 chars, we might want to make separate
password lists for digits only, lowercase alpha,
uppercase alpha, ...
IMPACT
Since the SurgeFTP administrator account has
read/write/delete/... privileges to all resources,
the impact of bruteforcing the account is quite high.
The password can easily be guessed for passwords of up
to 5 to 6 characters. And when installing SurgeFTP,
there is no possible way of enabling a better hashing
algorithm for the admin account, nor can web
administration be disabled when running the server
(you should block port 7021 on the firewall). The
mitigating factors are that 1) an attacker has to know
the loginname of the adminstrator account (we can
only assume this will be set to "admin" but it can be
anything) and 2) passwords of more than 6 characters
start to take time to crack unless we limit ourselves
to certain password compositions.
GREETS
incubus, zoa chien, r00t-dude, AreS, sentinel, the
rest of the #securax people, phr0zen, eXploitek (Xt),
n-sanity, and the lucky few that I forgot :)
[ByteRage] [email protected] [www.byterage.cjb.net]
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/
--0-1856797125-996928261=:10692
Content-Type: application/x-zip-compressed; name="surgeadm.zip"
Content-Transfer-Encoding: base64
Content-Description: surgeadm.zip
Content-Disposition: attachment; filename="surgeadm.zip"
UEsDBBQAAAAIABxqBCtIlS7dRwEAABACAAAKAAAAcmVhZG1lLnR4dFWQP0/D
MBDF90j5Dje2UuNSygAVQoiJGdiqDhf3kpg2sTlf5Obbcy6tKgZLz74/7/f8
OXJLjQTAfe8GQGv9OAhYRnsIemAzL4uqqsoiYIwUV9XayEnARUCI2IcjQa4k
z3tonN6kw8u8tgxTWayq+2oNtkOGkPagLj2eDDzcPT4BilAfJMJM8EA6UPtR
YA3KMgrFshAPNatsPFu6onx5aGkgRiGY/Mjg03CjOLoocaEwHAV4HOCHO4yd
sYuycE0egISaMXoWurTDLPo/8usaZWECFcS0L4vkpAMteeswT+WNynt+7r0a
abT45znPpmWRO7KF+gI2Qpwwb81A/SG7GAtyC1IW+D8CNOx7ZaLMlknnZ9Mz
rrl8xDuGMN0+yA2tZty+TUIf2NIOnmuVrPJ1ws57Y33/AttOJGyWy5SSudaN
/a7NQLL7BVBLAwQUAAIACADEaAQrmd1gVZoDAACMCQAACAAAAG1rcGFzcy5j
1VZtb+JGEP4MEv9hjiqNbUxi06OV4hApKrkm0jWcAlVb3fHBmDXeC3it3TUY
Vfz3zqzBmPSaD6dTpdqRvMzrMzPP7ubS+Zqn1QQHVs9ZqNRFBF3QCVeQSbGQ
4QpW4TNTkPKIARlshJzDkiutoPSrPbEUKxC5BEsJqdnchiRUCRlDzJfsYGb8
vua5RMdW8zueRst8zuBa6TkXF8nNqUzydGGErWaUhBLmLJLbDOF87PV/nAYk
f/fw/g6cOPGD47pXW+Py0sE2MIjFcik2GBF0OMMSIpHqkKfKKCl8GGkmFQID
U/mCpUyGmOzYrFW4JTdFbRCxCwqxMuOwYTAX6bmGTZhq0AIWAniKXy0ErPIo
AS1FTmk3CUuNi95mBIatmdzimHDJU7iygXpDSbQBBeI53NJCmZphAH+1mp77
+vttLHz3n+/LGP6r75dj1ON8qxj/RT/+Jxat5s7sDKT98O7npz8/TB5Gj3D7
/pfR08Pk/texIRhyExZ8zbLN3MqR0IsUeW74xtLDHpvaxDUgHkPCwvXWKLyA
ZJUPKbkLxanURPp82KV4nAhp8YEXAL9GWcA7HYyNBpwIjeJdqzmTuWZXZFzL
hdpTePYRnj91ev1+51/13svUnR5cAx4qS5ZalZlNis6+0tK6GBCwAAo0J7RQ
7A0a2IsYLKvAs9Kqoez4NpzBW0SLcI8AMOG06xVvfduG72v7uJhW6erP8XAz
XaGONhozycLnwKTelS74aRCKAm4QXd+ESlmhryp8nHB4Nkimc5lSeysVFtb1
p2Vd+wnQ70E9OQo6PlU/AI6TAbZUDE15txvgqYZHGmUzI2uYfmHCQYFdPHTr
S8NFS+NqhkzlkKw+5w4VfDJ5ZwA/nErOMFrx09ArGWja8aJn558Kzzs36n3x
dC3sXtkLd49Dsx/oXQtORzxPLSJ1KBeRWxLZcejXej81I5rlccnu051QuLB1
MQZ+VVAZO5nZkNitxEeUsciQge3yYq3uVXU5vr8d39+N+xeTPyZtF9py1rZN
kE1CV671JmYitjCGfaTrgmllIRgXwbikCkpFhnmQ6vhntNCG7g20D1qiQlYj
oZOdNs+ETnpHrHQDliD7F7rQhC7cVOHKgIfjBPMhwDjDy1sT3J7bPlOf0rZb
DevoV3LruBdOvD5+uB2Pfx89DeFxNIF3o98eh2+mGMgu98PBFv91ELl+3byM
vmtUxUVLoRilOWh3FacqnWnmjib3N1BLAwQUAAIACAASaAQrnzkpJbcEAADE
DQAACAAAAHFyaGFzaC5j7VfdbyI3EH8Gif9hRJXyDUsu3EnZEPWuyTWRrnen
hIdWOR6WxbAOu2tie2FRxf/eGXuXhfTy8XB9ap0IbM/4Nz+PZ8am1/wBrVKG
JjzIwFNB14cO3CZyzj6OvsItkysm4bjrzMCbRjwG0gm50jBnMZOeFhLyZmFG
AVewlGIuvQjWPAxzTQYemJUCsXCakJgCpT2peTxHXR0UMNUHWQUdeBr1VgyW
nlJrIacKsCN8jnBTu0IHLOrCNaw9Bb6Y4vR9gkYyGC0g8hYMuAZcvmiDF08t
qxmfJ5KBSLRhsxRK8UnIcB7N+YEnYbme5jCWaxv4DDYiQVsxbgMtyx0xCFk8
1wHqSLaWHHerRMSQHW5NdTOYyQbuPmw0u/HmbAxnE+xK7P6y8QIhur6IzuEu
0Hp52uut1+tuLu/695NuzPTYwvyA1quUK+WfeOyHyZTBmdJTLrrB+eGcROpm
slL+eP3pEpqzwK2Ue01yOcxEGIo1nZv2yG2+iLXHY2WE5D7PR/IK+QL6WMKK
+5pHNVU4LPI2tEplIUGcaKit88XC21BH3R0P3o5hCH9Vyk67/+xfpdz/X+M/
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
+KlzJjl3knMnZ+ltxolvTc7LZy9reOXISZ6Y9LKTnDnJd5PcMcmjk952yrvS
NTr0u5N6ZVqnN3kE5vI1j7w2VmfJcWN1bkVDjR+yZ7GvqVmaOqWtXMm1rcyv
4g/xyUntLsfCsRYDGvxNXdTUQ01d1BbGC3OLjOk573mf5eFn+Xfm94wNzNjC
jF2szK/M00vZsq8tm9qK8duLPqAAedreir+6ztXvVUAOt2d6FD8e5W06m/4F
jP/J1dZf17ku1E0ngDey7gf9zCFXfW7erX/qgz/1vd/O/mav387+Tj1sfun+
Ug+e5+ryUM179bzDz/uGC/vI+4PLp/6XLYk1Veyp2zzr1Nvrg6r+p8qHVY6s
/K7u87mTtXyy/pr/TW0Pv/6o6o1GOWyUt8aSsXhaxFV5a1wHzK/pT/816cUm
fVkTd1vkLx438b/JA00+6Ae9Vt6vH/DwgLcHfDwYH/P1Fdkf+d2RHo58+kgH
R7o4pgc5Abr4JJtv975TM/u9NL98IQN8y71VDq7z8M9X8h2CmFHFi5p30PrI
qn+su4DxzpxYU8Wc+ptvvcI7GfyShfquqkOqOqSqS6par6pNqnqvzvLMnwzv
ZHgnzxYw1oOOdDquc2W3fGs8kdPpg0wC8hR5TmiY9LKTPnZ6z28yQ9vY7e32
9R/84fnb+eJRFZ/qNrz4/ev6m/6KvPWxk762fItZ36mlT0C9eI48sjd77N+G
P9dfOaRGNx3E5l7BI1iDFfgB+uKDPvgg7h/kgoOe+aB/PvCFB7J/IO8Hcj+y
yaP4eWSXR3Z5FEOP6Diyz2N6Hes/xd3PR4CfT3R+vqLTve/0c+aW7i3zbZJ1
S/eX5HjOtzV5t0xHZzo6k/PZvJhcxecqTlcxu17wdAlvYvQ2/QPeybGSSyWX
Si71Pe918p4Gjh0casK6j/zo9pcOf+nyN3qFi89XtWid5YM/Z81iA/DP0i/k
+wW03NHEvmuDm43X5pzmvHznoG4fC70X+lvzkTV9rvNxontr8XMtnom944nv
JPbmOQV7meCaWn7Hf9QCfHPim9N77IBfqfPGTkc1kM8c6SrfeYiLrUYnZPhA
lnnv8UC+D5kjz2++9M2PvvnQd56to/Wcd/doT16T3+oFn5fI0u+LNZfM4Vuc
q9vEjnwFmfdi9u7s3UWe+N/lfRj+1dJVXV3V11WdXeXwKq/X30DkZv3durs9
d/vv8NzxU8iiRGbkcopc4isZk9/J/Cl+QIZq3rGb7+Z6PusUQ8Sbtk5cz1hs
EXea+FNm5DDLlRxm+fJTbJm5L7e2lTWrfBcZ0OuogfpCTaM/6/k+St3W9Wh9
of5JbbRg+ws1kTzR8z2VGrOrNbuas6s9uxq0q0W7mrSrTbsatatVu5q1/2Q9
vD+ptfLtKX0tnC9eNvw2cbThv+G/5fvMewCtbKzsXfd+743FiCImFPGhzI3n
ubIp/d845coWpzMg44mMpyXIN6psp56B2FKPQJypS8Cvb+i/pc8jK/ZQzrnS
hz5rvJL3FY2rQOSG59sLkJNuaF2YW7iXr3nZeBP7W8lHtnJYCX9skO8Wflv4
7XhNTUKfV7q9pr5NDc7WN+qCjfy/EcPyXdsbeed5U2w8+mXvjd4b229sYP0i
n79Y8xUgV/1H13d0vUbXl3S9SNeDdD1I13t0PUvXq3T9SdeTdD1WT1+6Inu5
ua3Inv81NtbYXeOTjd01ftlv4txNjrrJUbfwH5m5x3ebeN74cVvnd74vdi/f
4OX7O7VOV+d0NU5X3/R1PrFFH7vsaqDOXrvap6+zFp3qna5GWrOV9X92EvnC
vSDrF/SH3xf7XuB5gZcM+ov9L/C9wP/ivBd4XuB9cc6Lc9VsXe3T1XBdLdfz
7US+9cj3GPjtar6O164G7Kesh/eU/iR6EzfO+R5LbJc/ivxR2HlBW8n3Jey+
sOmC3pLvPvhCYeuF/Rd+UPhHYf/lJ7193l/DIT8Wvl74fOH7RQwo93yT5oxZ
wHhmbmbdLLWXffyw8LnCxkreUfDTwicLHyr5bpEvFj5b+FXhv4WvFv5c9vDs
4djDu3dv77w9fHtn7OHfr4eT3uCUvuCUb5ztCe9kU8ihkFMhk0JmhXzKKevg
yXsKcivkWpJn5ZUivxR5pojPRc4pYnWRZ4q4XbYB4625bT4rt2ZrLf0Veip0
Vui00G+hx0Knhe5Kvqmk50LnhW4LGyh0fdJrndJnzeGbwzWHf46GOZxz58yd
MYdv/ji86Rff8qxgI/byq7oRf/lY3WROfuN3dSOfObuip8rBVU1ZU2OoK+t3
vnLPs+3cE9fVWFXuqGqLmvwhn1Q1V02dIa9U9VmV+6ucX+X/Ku9XtVtVB1S1
QVUbVPVbVddVNVxV21V1QT3mGbn9P/l+Sd1/EAsOz0DvcBATDnqWQ+bFicPf
MF3Fsjz/uopl+VbrKq5d05ecQf4XYAm+wQ7cwAHcwXG4OuP6k+cN6VvEoUku
mcShSWya8jxCfBI/x8TMpXOXzl06d+ncJbqW6Fqia5l3F+j4c/YfOv7E1D+0
/Nmn55te80wdPfnfhPwLhLg7VvRU9OR/Fyp68t1zTw8jfqjxmlqvyWmtJyYZ
r8ytEofyHwli7SlxShxUP7ZTYoM1C/cXsan0I3LDVqzdssctm9gmjuMzsrmq
J+l6oveJHUyxiWe5Ir3Kszyhb6nPcsUzfp7w9YSnJ/w85Tfenqy7yC/5xvei
7uFDdZ/6iR0eU/uxvyPb+07tmVpDbp+nF7FerqrsvvKFyg/qr/Gv8a+xfFzl
5io3dzLty3xvEuAD3+lz8PVtDTuv89R89vCjyocqv6q/zvh1/1fNvKOTnXhH
P32ZdwtncAQHsAMbcAc3QPbspBzRegwPZHZMz8Gfjs49OvdIrkf85Pn9Ie8d
zuAb3MEB3MAOHAFcnxu0pheJHMiEjAu/K+Rd4nfzyCS1lprnEohM8ZRvqy74
u7hPj5UeKz3WG3+58Y2bvbf0ZOlNzO8j/9Ra+Bfn6m8gsjAndlaxs6p96izy
dc4s884QX6v4OhZ2WfhHYYP5h5rCJgvbLGy0sNWyIUc2smP/d7Z8N75nnGfu
9q6tWdu/tm8Nx5qNr+1fw7Umb3bfYtvsvLH5lv8XYO+N7bea+0v6ka+WeS9C
pg9k+kCmD2T6QKYPZPpApvnO5IFMxYGSd0Lf6RXo6puOxK7CnotYVhLLxL0q
/lVxsF5cL35fYiP4zvep/KHexKUbu7+JUzd75IAqL1T5of4GjH/V3Tv+vuPr
9wCfufOZ+5saFO8nMjrh+YTXE/5P+D6RxYlMTuTQrenG3brufre2Z966bk/P
9xh/QG8klpXEuZ0zds9DP7Pb89PQya+r1TpZdbVaj7zUao3sW+RL5o2sG/k3
cm900eik0UO/53uqPG+0lh5b/g+Lrlv+N4ueG303em/5t6b8D0m+iZmR+4zM
Z2Q9o4cZHczoZEb+Ym0RZ8s1Y3YtlpR8L4/Gkl4DbQWNBa0l/7uUf/RS/1X4
q7NryRx9kEvt+d8m8z2/3RPv6of5j1z9/sg/Prn/IeZ8iUFf4s5XxuLQl3j0
JbZu+PlGr7zRN/9Y82Pux7of636s+8l3P2RwFgfO5Hwm1/SveZbyVtSNgQ7M
ldSCuSbekteKrFbkuyKnFRmtyG9FbisyW9Ebe+h8ofOFzh566uFV/ntqoWaD
9yfX1G1wLeBakPsCrgVcC7gWcC3gWuS7JXTxr77Lt11wJW6xuc4W+i7PPcl3
T7Z7ct3Tx55e9vSzp6c9fe3zzZMYyZbLLd848g/2XcSMwraLeHH6K2ABupoh
YJznrnO453DP4Z7DPYd7Dvcc7jnc8291QwELQCcbfrTJlf42/ITs64avbOht
I6ZsxBw6qRv+lP8DIN9KvjX/G5HYLY7X74zNiYuV/1Z5osoTNXlCzKx8u4qb
VbytYnIVj6ucUsXgesw8POJyFZereF3lnCpWVzKvZF5/0q/wvStfvPKzK3+7
8rsr/7vyQzY8plY4sJUD+zmwlwNfP7CfA5s66LMPepGDXvvAtg7y5UH/jbcJ
j9MmtmcPOUzkcXXm1dnXnKvnGvVZ4+TcybmTcyfnTs6d0JNvyJdwLOFfwreE
fwn/Ev4lfEv0LOFeomeZugM9rwH3XtnnmX2c9QR8qPXUDOxJLGniSxNXGp9q
/KmJM02Maqdc/RarmvjUxKkmXjVxq51ix2xPXOvyfGcTXa7vcn2X6zs7KeaL
+fLfmM+7V6wpW/PbXNnIlq1s2cyW7WzZ0JY9bq1TExU1UVETFXZX/jJHR6/8
/JVvv/LzV/rEW8Vb5Xd1lavf+rDKBysfrI/mH/1+zNi9R/N5boq/6ZQrmaqL
JjxOp+iF7DbRV54hW6MXm8TESV82iZmTfq0vA/yV7AudF3ousYUdXezg2OUe
n6aPvkwNgJcjHo+pE/B3xPMRr0f8H/F9zHd1eM2zWXZVvq3/Tg1g/bf139Z/
W/9t/bf13/nuTj3BfwobKugtm9QJ6g62VfBQ4j/8s87zP6cHsAMbcAc3QB58
t16suZi/ZGzuYt3F/Ys9F2sv9tNXpa9KR5XOKj1Veqvb3LNvm/+e5WN626qn
rXrdqsetetyqx6+31CCpMeARb6q4U8WfKg5V8aiKS1V8quJU/bXm1/xvxuZ+
rft1/9eeX2t/7ZdvqnxT5Zgq51R5pso7dZZ79s1Sd0Qf/GPH/vWFk35xumdM
R3fzd/f1kpP+cbrnG83AD9Cn853Op3qeGx4C6gX+XPhxybPKQ+RrbpP6ITyK
MTfx5pac75xdrvDu+OqO/ez4qv50uucKt7je8z90YnvXn/fE8fTn8lBP3pF/
+k9+u/cTv3U966/PaDyjSw/d9dMd/R0f/Z4xe8NXx193Xo8NOruzx46OzjZL
ns3QUUFroZ+C3pJnEueAvWc4zjnPfn17lzu7XNnlzy5/dvmzy589/3mc/yCO
3MIP3jr5dvx18uz8pucZBr/p/Kbzmx6/oZNOLp18Ojl1uul01F+sF+v7S55R
2PNiffIqH+18svPNzkc7X+18tpBTIZvyk38x5iNkVsjppGc/6eNPp0D6d+vy
/6nkW8i6kHEh78Imyy3XyIQO2WvJ/9A5rwS/c4rzinOL8wv6ykuufqOzoLEk
L/HTykcrH638s/LNym8rf618tfLTyvcrv6/H/Ju3Nfy9igVVDKj8vx4jT7zl
H6vzP4GL8CHHLoxPAWM0/e//UEsBAhQAFAAAAAgAHGoEK0iVLt1HAQAAEAIA
AAoAAAAAAAAAAQAgALaBAAAAAHJlYWRtZS50eHRQSwECFAAUAAIACADEaAQr
md1gVZoDAACMCQAACAAAAAAAAAABACAAtoFvAQAAbWtwYXNzLmNQSwECFAAU
AAIACAASaAQrnzkpJbcEAADEDQAACAAAAAAAAAABACAAtoEvBQAAcXJoYXNo
LmNQSwECFAAUAAIACABdaAQrzpJ1qaQBAAAvAwAACgAAAAAAAAABACAAtoEM
CgAAaGFzaHNvcnQuY1BLAQIUABQAAgAIADxpBCu5wdSq0SIAADM/AAANAAAA
AAAAAAEAIAC2gdgLAABwYXNzZXMxLTMudHh0UEsFBgAAAAAFAAUAFwEAANQu
AAAAAA==
--0-1856797125-996928261=:10692--