Metasploit mailing list archives

cygwin and Metasploit conflict


From: hdm at metasploit.com (H D Moore)
Date: Tue, 25 Apr 2006 11:13:17 -0500

Unfortunately, there is no easy way around this. The problem is that the 
Metasploit Framework uses a slightly modified Cygwin1.dll, this DLL uses 
a different registry path to store the mount points and base directory. 

The DLL is still named Cygwin1.dll, so if the call to LoadLibraryA() 
results in another Cygwin1.dll being loaded before ours, the other 
library will be using the wrong base directory and may have 
incompatibilities with the MSF Cygwin binaries. Additionally, even if the 
library load issue is resolved (which I can't reproduce), you would be 
unable to run MSF at the same time as any Cygwin app using the other 
library version at the same time, due to the way Cygwin uses shared 
memory between processes (the newer process spits out a 'shared memory 
version mismatch' error). 

We never considered Cygwin a long-term solution, but all of the native 
versions of Perl for Windows are absolute crap (specifically, as it 
pertains to fork(), signals, and stdio). We hope to limp along with this 
until version 3.0 is ready to go, which will likely include a customized 
Ruby build for Windows.

If you want to run your own version of Cygwin with the MSF on Windows, you 
need to use manually install it using the tarball and the instructions 
found at:

http://metasploit.com/projects/Framework/docs/userguide/node63.html

-HD


On Tuesday 25 April 2006 09:29, James E. Just wrote:
Hi,

I believe the conflict that I'm seeing now is one that has been
addressed but I can't find that discussion. I would prefer not to
integrate Metasploit into my full cygwin environment if I can avoid
it. Hopefully someone can give me a quick pointer to it.

For more than a year, I have had both Metaploit installed and an
independent cygwin installation and they worked fine together.
Beginning about a month ago, I could no longer run msfupdate. The
only significant change that I can remember was changing the order of
PATH names but changing back to the original order did not help.

Initially I was getting a cygwin1.dll conflict message. Eventually I
reinstalled both packages (upgrading from Metasploit 2.4 to  2.5 in
the process). It still won't work and now gives me the error:

bash: /home/run_msfupdate: No such file or directory

So it appears to be starting up the full install of cygwin rather
than the Metasploit version. I think I remember seeing references to
this problem but I can't find them now.

If it helps, my current PATH is:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Progra
m Files\ATI Technologies\ATI Control Panel;C:\Program Files\Microsoft
Office\OFFICE11;C:\Program Files\Microsoft SQL
Server\80\Tools\Binn\;C:\Program Files\Common Files\Adaptec
Shared\System;C:\Program Files\PuTTY;C:\Program Files\Common
Files\Adobe\AGL;C:\Program Files\QuickTime\QTSystem\;c:\cygwin\bin

Thanks. Sorry to both the list with this.

Jim



Current thread: