Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 131961 - net-analyzer/medusa-2.0 - Parallel Network Login Auditor
Summary: net-analyzer/medusa-2.0 - Parallel Network Login Auditor
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL: http://www.foofus.net/jmk/medusa/medu...
Whiteboard:
Keywords: EBUILD
: 266274 (view as bug list)
Depends on: 113844 126323
Blocks:
  Show dependency tree
 
Reported: 2006-05-01 13:48 UTC by Joe
Modified: 2014-10-12 08:35 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
net-analyzer/medusa-1.1.ebuild (medusa-1.1.ebuild,891 bytes, text/plain)
2006-05-01 13:50 UTC, Joe
Details
medusa-1.1-fpic-fix.patch (medusa-1.1-fpic-fix.patch,874 bytes, patch)
2006-07-13 10:23 UTC, Alessio Cassibba (X-Drum)
Details | Diff
net-analyzer/medusa-1.1.ebuild (medusa-1.1.ebuild,997 bytes, text/plain)
2006-07-13 10:26 UTC, Alessio Cassibba (X-Drum)
Details
Medusa v1.3 ebuild (net-analyzer/medusa-1.3.ebuild) (medusa-1.3.ebuild,908 bytes, text/plain)
2006-10-23 08:02 UTC, Joe
Details
medusa 2.0 (medusa-2.0-r100.ebuild,819 bytes, text/plain)
2010-03-16 07:54 UTC, Anton Bolshakov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joe 2006-05-01 13:48:37 UTC
Medusa is intended to be a speedy, massively parallel, modular, network login brute-forcer. It is similar to THC-Hydra, with several notable exceptions: GPL license, pthread-based, additional modules, among others. An ebuild is attached.
Comment 1 Joe 2006-05-01 13:50:04 UTC
Created attachment 85949 [details]
net-analyzer/medusa-1.1.ebuild
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-05-01 13:51:00 UTC
131950
Comment 3 Joe 2006-05-03 08:00:37 UTC
Adding additional dependency: 126323. In order for the NCP module to function, the ncpfs header/library files must installed at compile time. The patch in 126323 adds a USE flag to install those files. Unfortunately, it doesn't look like I can place a dependency in this ebuild to request that. Specifically, have medusa depend on ncpfs only if ncpfs was built with the "install-dev" USE flag. Maybe I'm missing something...

The dependencies are currently identified in the RDEPEND variable. Is this the correct place? Medusa should build even if non of those are present. However, adding them later will not make those features start to work. Medusa would have to be rebuilt. Also, is it possible to have all USE flags enabled by default? This would mean the default behaviour is to install all dependencies and would result in medusa building with all modules enabled.
Comment 4 Alessio Cassibba (X-Drum) 2006-05-04 10:36:10 UTC
(In reply to comment #3)
>is it possible to have all USE flags enabled by default?
>This would mean the default behaviour is to install all dependencies and would
>result in medusa building with all modules enabled
first, i think that you have to add some USE flags to this ebuild
(postgres,svn,.....)
you can warn the user about this issue: turn on all the use/modules he needs

i'm trying to test medusa on my machine (amd64)
but i get some compilation errors,
here there is my output:

make  all-recursive
make[1]: Entering directory `/var/tmp/portage/medusa-1.1/work/medusa-1.1'
Making all in src
make[2]: Entering directory `/var/tmp/portage/medusa-1.1/work/medusa-1.1/src'
Making all in modsrc
make[3]: Entering directory `/var/tmp/portage/medusa-1.1/work/medusa-1.1/src/modsrc'
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT telnet.o -MD -MP -MF ".deps/telnet.Tpo" -c -o telnet.o telnet.c; \
then mv -f ".deps/telnet.Tpo" ".deps/telnet.Po"; else rm -f ".deps/telnet.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT medusa-trace.o -MD -MP -MF ".deps/medusa-trace.Tpo" -c -o medusa-trace.o `test -f '../medusa-trace.c' || echo './'`../medusa-trace.c; \
then mv -f ".deps/medusa-trace.Tpo" ".deps/medusa-trace.Po"; else rm -f ".deps/medusa-trace.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT smbnt.o -MD -MP -MF ".deps/smbnt.Tpo" -c -o smbnt.o smbnt.c; \
then mv -f ".deps/smbnt.Tpo" ".deps/smbnt.Po"; else rm -f ".deps/smbnt.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT http.o -MD -MP -MF ".deps/http.Tpo" -c -o http.o http.c; \
then mv -f ".deps/http.Tpo" ".deps/http.Po"; else rm -f ".deps/http.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT ssh.o -MD -MP -MF ".deps/ssh.Tpo" -c -o ssh.o ssh.c; \
then mv -f ".deps/ssh.Tpo" ".deps/ssh.Po"; else rm -f ".deps/ssh.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT mssql.o -MD -MP -MF ".deps/mssql.Tpo" -c -o mssql.o mssql.c; \
then mv -f ".deps/mssql.Tpo" ".deps/mssql.Po"; else rm -f ".deps/mssql.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT pop3.o -MD -MP -MF ".deps/pop3.Tpo" -c -o pop3.o pop3.c; \
then mv -f ".deps/pop3.Tpo" ".deps/pop3.Po"; else rm -f ".deps/pop3.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT mysql.o -MD -MP -MF ".deps/mysql.Tpo" -c -o mysql.o mysql.c; \
then mv -f ".deps/mysql.Tpo" ".deps/mysql.Po"; else rm -f ".deps/mysql.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT sha1.o -MD -MP -MF ".deps/sha1.Tpo" -c -o sha1.o sha1.c; \
then mv -f ".deps/sha1.Tpo" ".deps/sha1.Po"; else rm -f ".deps/sha1.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT pcanywhere.o -MD -MP -MF ".deps/pcanywhere.Tpo" -c -o pcanywhere.o pcanywhere.c; \
then mv -f ".deps/pcanywhere.Tpo" ".deps/pcanywhere.Po"; else rm -f ".deps/pcanywhere.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT ftp.o -MD -MP -MF ".deps/ftp.Tpo" -c -o ftp.o ftp.c; \
then mv -f ".deps/ftp.Tpo" ".deps/ftp.Po"; else rm -f ".deps/ftp.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT imap.o -MD -MP -MF ".deps/imap.Tpo" -c -o imap.o imap.c; \
then mv -f ".deps/imap.Tpo" ".deps/imap.Po"; else rm -f ".deps/imap.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT rsh.o -MD -MP -MF ".deps/rsh.Tpo" -c -o rsh.o rsh.c; \
then mv -f ".deps/rsh.Tpo" ".deps/rsh.Po"; else rm -f ".deps/rsh.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT rexec.o -MD -MP -MF ".deps/rexec.Tpo" -c -o rexec.o rexec.c; \
then mv -f ".deps/rexec.Tpo" ".deps/rexec.Po"; else rm -f ".deps/rexec.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT wrapper.o -MD -MP -MF ".deps/wrapper.Tpo" -c -o wrapper.o wrapper.c; \
then mv -f ".deps/wrapper.Tpo" ".deps/wrapper.Po"; else rm -f ".deps/wrapper.Tpo"; exit 1; fi
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../src     -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0 -MT rlogin.o -MD -MP -MF ".deps/rlogin.Tpo" -c -o rlogin.o rlogin.c; \
then mv -f ".deps/rlogin.Tpo" ".deps/rlogin.Po"; else rm -f ".deps/rlogin.Tpo"; exit 1; fi
wrapper.c: In function `initModule':
wrapper.c:262: warning: cast from pointer to integer of different size
wrapper.c:262: warning: cast from pointer to integer of different size
wrapper.c:282: warning: cast from pointer to integer of different size
wrapper.c:282: warning: cast from pointer to integer of different size
wrapper.c:302: warning: cast from pointer to integer of different size
wrapper.c:302: warning: cast from pointer to integer of different size
x86_64-pc-linux-gnu-gcc  -march=k8 -O2 -pipe -g -DDEBUG -I/usr/local/include -I/usr/local/ssl/include -I/usr/include/subversion-1 -I/usr/include/apr-0  -L/usr/local/lib -rdynamic -ldl  -o telnet.mod -module -fPIC -shared telnet.o medusa-trace.o  -lssh2 -lssl -lpthread
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: telnet.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
telnet.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[3]: *** [telnet.mod] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/medusa-1.1/work/medusa-1.1/src/modsrc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/medusa-1.1/work/medusa-1.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/medusa-1.1/work/medusa-1.1'
make: *** [all] Error 2
Comment 5 Alessio Cassibba (X-Drum) 2006-07-13 10:23:41 UTC
Created attachment 91649 [details, diff]
medusa-1.1-fpic-fix.patch

fpic patch for amd64 by Joe <jmk@foofus.net>
Comment 6 Alessio Cassibba (X-Drum) 2006-07-13 10:26:45 UTC
Created attachment 91650 [details]
net-analyzer/medusa-1.1.ebuild

net-analyzer/medusa-1.1 ebuild 
-added the patch provided by Joe <jmk@foofus.net>
-added missing use

builds and run on my system (amd64)
Comment 7 Joe 2006-10-23 08:02:20 UTC
Created attachment 100289 [details]
Medusa v1.3 ebuild (net-analyzer/medusa-1.3.ebuild)
Comment 8 Alessio Cassibba (X-Drum) 2006-10-23 13:11:36 UTC
(In reply to comment #7)
> Created an attachment (id=100289) [edit]
> Medusa v1.3 ebuild (net-analyzer/medusa-1.3.ebuild)
> 

works as intended on my system (tested on AMD64)

is possible to fix all the Automagic dependencies stuff in configure?
this is required for a better handling of configure switches:
-ncpfs support
-openssl
-postreSQL/libsql
-ssh2/libssh2
-subversion
Comment 9 Joe 2006-10-23 13:59:28 UTC
> is possible to fix all the Automagic dependencies stuff in configure?
> this is required for a better handling of configure switches:
> -ncpfs support
> -openssl
> -postreSQL/libsql
> -ssh2/libssh2
> -subversion

Sorry, I don't follow you here. Autoconf should detect each of the above dependencies and build the modules appropriately. I added the USE flags to the ebuild to make sure the corresponding dependencies were installed if the user wanted that module. Are you asking for per-module enable/disable autoconf options or something else?
Comment 10 Alessio Cassibba (X-Drum) 2006-10-23 14:15:08 UTC
(In reply to comment #9)
> Sorry, I don't follow you here. Autoconf should detect each of the above
> dependencies and build the modules appropriately. I added the USE flags to the
> ebuild to make sure the corresponding dependencies were installed if the user
> wanted that module. Are you asking for per-module enable/disable autoconf
> options or something else?
> 
yes i mean per-module autoconf options,
in that way there will be a better handling of additional features
via USE flags

Comment 11 Markus Ullmann (RETIRED) gentoo-dev 2007-05-23 10:05:27 UTC
X-Drum: you wanna take care of this package? ;)
Comment 12 Alessio Cassibba (X-Drum) 2007-05-23 11:22:18 UTC
(In reply to comment #11)
> X-Drum: you wanna take care of this package? ;)
> 

sure :)
Comment 13 Joe 2007-06-07 16:48:18 UTC
I'm in the process of reworking the autoconf setup for version 1.4 and I'm creating per-module autoconf options. For example, this includes functions such as "--enable-module-cvs" and "--disable-module-cvs". In cases where a module's requirements are not met, the module will now simply not be built. This replaces the current behavior which is to build the module with all functionality removed.

What is the recommended method for calling these configure functions from an ebuild? I can create USE flags which correspond to each module's --enable / --disable function. The issue I'm running into, however, is that each of these USE flags are off by default. I would prefer that the opposite be the default and that the user wasn't required to enable each flag, only to set the modules they don't want to build. Is this possible? Any suggestions are welcome.

Additionally, please let me know if there are any other requests which would make adding this to Portage easier.

Joe
Comment 14 Alessio Cassibba (X-Drum) 2007-06-09 17:43:41 UTC
(In reply to comment #13)
> I'm in the process of reworking the autoconf setup for version 1.4 and I'm
> creating per-module autoconf options. For example, this includes functions such
> as "--enable-module-cvs" and "--disable-module-cvs". In cases where a module's
> requirements are not met, the module will now simply not be built. This
> replaces the current behavior which is to build the module with all
> functionality removed.
Hi Joe, i'm working on the ebuild, actually you can found it in 
jokey's overlay[1], the ebuild was cleaned up a little and a patch to 
handle the automagic deps was added, basically this patch allows to enable/disable support for all the modules depending on additionaly/external 
libs or packages:
- svn.mod (dev-util/subversion)
- ncp.mod (net-fs/ncpfs)
- postgres.mod (dev-db/libpq)
- ssh.mod (net-libs/libssh2)

As you can see the patch only adds a "--without-foo" parameter for these
modules, i'm not handling here the current behavior (don't build disabled modules), so you are doing a great work adding this parameters/options
and disabling the build of the unneeded/unwanted modules.

> What is the recommended method for calling these configure functions from an
> ebuild? I can create USE flags which correspond to each module's --enable /
> --disable function. The issue I'm running into, however, is that each of these
> USE flags are off by default. I would prefer that the opposite be the default
> and that the user wasn't required to enable each flag, only to set the modules
> they don't want to build. Is this possible? Any suggestions are welcome.
I think that the users should have the option to enable/disable a specific
feature when this is possible via USE flags.
If the new autoconf setup will include all the needed parameters to enable/disable modules depending on additionaly/external deps,
we can easily add USE flags for this parameters in medusa's ebuild.

If you wish you can add also an additional parameter called for example:
"enable-all-modules" (it's like what you already did with "untested-modules" 
but this one will turn on support for all the supported modules), but this is not tightly needed.

> Additionally, please let me know if there are any other requests which would
> make adding this to Portage easier.
as said before:
- current behavior (don't build disabled/unwanted by the user modules)
- Adding an enabled/disabled parameter for modules with external dependencies

i have a question about the openssl support:
Medusa can be build without openssl support/linking at all?
I know that openssl is required in order to have SSL-based connections support in many modules, (there are modules where openssl support is mandatory and not optional)

[1] http://overlays.gentoo.org/dev/jokey/browser/trunk/net-analyzer/medusa
Comment 15 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-04-18 15:10:12 UTC
*** Bug 266274 has been marked as a duplicate of this bug. ***
Comment 16 Anton Bolshakov 2010-03-16 07:54:10 UTC
Created attachment 223853 [details]
medusa 2.0