ronin-rb / ronin

Ronin is a Free and Open Source Ruby Toolkit for Security Research and Development. Ronin also allows for the rapid development and distribution of code, exploits, payloads, etc, via 3rd-party git repositories.
https://ronin-rb.dev
GNU General Public License v3.0
694 stars 50 forks source link

success install ronin but Ronin::UI:CLI.start error unable to load the command "console" #41

Closed margesch closed 1 year ago

margesch commented 8 years ago

I have ruby 2.0.0p647 with i386-mingw32 on Windows XP-SP3 I installed ronin successfuly using

$gem install ronin

When i run the ronin get this output

unable to load the command "console"

I try reinstall ronin

$git clone https://github.com/ronin-ruby/ronin.git ~/ronin $cd ronin/ $bundle install $./bin/ronin

The installation run smooth... Then I run the ./bin/ronin get same output

unable to load the command "console"

How to fix this?

postmodern commented 8 years ago

OK, I tested with ruby-2.0.0-p647 and ruled that out. So I'm guessing it has something to do with the difference between UNIX paths (ex: /foo/bar/baz) and Windows paths (ex: C:\foo\bar\baz). Could you run and paste the output from the following code snippets in irb?

require 'ronin/ui/cli'
p Ronin::UI::CLI.commands

require 'ronin/installation'
p Ronin::Installation.each_file_in('lib/ronin/ui/cli/commands').to_a
margesch commented 8 years ago

Ok, thanks, how to do with the difference path? and these are the output from snippets:

$ irb irb(main):001:0> require 'ronin/ui/cli' => true irb(main):002:0> p Ronin::UI::CLI.commands

<SortedSet: {"campaigns", "console", "creds", "database", "emails",

"exec", "fu zzer", "help", "hosts", "install", "ips", "net:proxy", "repos", "uninstall", "up date", "urls", "wordlist"}> => #<SortedSet: {"campaigns", "console", "creds", "database", "emails", "exec", "fuzzer", "help", "hosts", "install", "ips", "net:proxy", "repos", "uninstall", "update", "urls", "wordlist"}> irb(main):003:0> require 'ronin/installation' => false irb(main):004:0> p Ronin::Installation.each_file_in('lib/ronin/ui/cli/command<ns tallation.each_file_in('lib/ronin/ui/cli/commands').to_a ["campaigns.rb", "console.rb", "creds.rb", "database.rb", "emails.rb", "exec.rb" , "fuzzer.rb", "help.rb", "hosts.rb", "install.rb", "ips.rb", "net", "net/proxy. rb", "repos.rb", "uninstall.rb", "update.rb", "urls.rb", "wordlist.rb"] => ["campaigns.rb", "console.rb", "creds.rb", "database.rb", "emails.rb", "exec. rb", "fuzzer.rb", "help.rb", "hosts.rb", "install.rb", "ips.rb", "net", "net/pro xy.rb", "repos.rb", "uninstall.rb", "update.rb", "urls.rb", "wordlist.rb"]

On Tue, Jan 5, 2016 at 11:39 AM, Postmodern notifications@github.com wrote:

OK, I tested with ruby-2.0.0-p647 and ruled that out. So I'm guessing it has something to do with the difference between UNIX paths (ex: /foo/bar/baz) and Windows paths (ex: C:\foo\bar\baz). Could you run and paste the output from the following code snippets in irb?

require 'ronin/ui/cli' p Ronin::UI::CLI.commands

require 'ronin/installation' p Ronin::Installation.each_file_in('lib/ronin/ui/cli/commands').to_a

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-168895419.

postmodern commented 8 years ago

Odd, console and console.rb are both there, so that must mean there's an issue with loading them? Try running this in irb:

require 'ronin/ui/cli/commands/console'

Additionally, try running this on the command-line:

ronin-console
margesch commented 8 years ago

First goes well then it generates some error:

$ irb irb(main):001:0> require 'ronin/ui/cli/commands/console' => true

$ ronin-console E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in

`require': 126: The specified module could not be found.

E:/Ruby200/lib/ruby/gems/2.0.0/gems/do_sqlite3-0.10.16-x86-mingw32/lib/do_sqlite3/2.0/do_sqlite3.so (LoadError)

    from

E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/do_sqlite3-0.10.16-x86-mingw32/lib/do_sqlite3.rb:32:in rescue in <top (required)>' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/do_sqlite3-0.10.16-x86-mingw32/lib/do_sqlite3.rb:27:in <top (required)>' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/dm-sqlite-adapter-1.2.0/lib/dm-sqlite-adapter/adapter.rb:1:in <top (required)>' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/dm-sqlite-adapter-1.2.0/lib/dm-sqlite-adapter.rb:1:in <top (required)>' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:163:in load_adapter' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:133:in adapter_class' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/dm-core-1.2.1/lib/dm-core/adapters.rb:13:in new' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/dm-core-1.2.1/lib/dm-core.rb:230:in setup' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/database/database.rb:232:in block in setup' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/database/database.rb:231:in each' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/database/database.rb:231:in setup' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/bootstrap.rb:27:in <top (required)>' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin.rb:23:in<top (required)>' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/ui/console/console.rb:180:in start' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/ui/cli/commands/console.rb:99:in execute' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/ui/cli/command.rb:260:in run' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/ui/cli/command.rb:226:in start' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/lib/ronin/ui/cli/command.rb:164:in start' from E:/Ruby200/lib/ruby/gems/2.0.0/gems/ronin-1.5.0/bin/ronin-console:25:in <top (required)>' from E:/Ruby200/bin/ronin-console:23:in load' from E:/Ruby200/bin/ronin-console:23:in

'

On Wed, Jan 6, 2016 at 6:14 AM, Postmodern notifications@github.com wrote:

Odd, console and console.rb are both there, so that must mean there's an issue with loading them? Try running this in irb:

require 'ronin/ui/cli/commands/console'

Additionally, try running this on the command-line:

ronin-console

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169165398.

postmodern commented 8 years ago

Ah ha! The do_sqlite3 gem (which provides bindings to Sqlite3) failed to properly install or is broken.

You may also want to post the above error to the do_sqlite3 repository.

margesch commented 8 years ago

How to fix?

On Wed, Jan 6, 2016 at 7:57 AM, Postmodern notifications@github.com wrote:

Ah ha! The do_sqlite3 https://rubygems.org/gems/do_sqlite3 gem (which provides bindings to Sqlite3) failed to properly install or is broken.

You may also want to post the above error to the do_sqlite3 https://github.com/datamapper/do/issues repository.

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169183030.

postmodern commented 8 years ago

Just curious what the output of gem install do_sqlite3 is? It might be as simple as installing the windows sqlite3 library or installing a compiler.

margesch commented 8 years ago

I try to reinstall do_sqlite3

gem install do_sqlite3

then,

$ ronin unable to load the command "console"

Once more:

gem uninstall do_sqlite3 gem install do_sqlite3

still,

$ ronin unable to load the command "console"

download and copy sqlite3.dll to Ruby200/bin

And it comes

$ ronin-console [!] NameError: Cannot find the child_model Script::Path for Ronin::Repository in script_paths

but,

$ ronin unable to load the command "console"

download sqlite3.exe copy to Ruby200/bin just the same above

How to fix?

On Wed, Jan 6, 2016 at 10:55 AM, Postmodern notifications@github.com wrote:

Just curious what the output of gem install do_sqlite3 is? It might be as simple as installing the windows sqlite3 library or installing a compiler.

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169214238.

postmodern commented 8 years ago

What is the full output of gem install do_sqlite3?

postmodern commented 8 years ago

I found this tutorial which explains how to install sqlite3 on Windows. Apparently you need to copy in the .dll, .exe and .def files, then re-install do_sqlite3.

margesch commented 8 years ago

the full output of gem install do_sqlite3 was:

$ gem install do_sqlite3

You've installed the binary version of do_sqlite3.
It was built using Sqlite3 version 3071700.
It's recommended to use the exact same version to avoid potential

issues.

At the time of building this gem, the necessary DLL files where

available in the following download:

http://www.sqlite.org/sqlite-dll-win32-x86-3071700.zip

You can put the sqlite3.dll available in this package in your Ruby bin
directory, for example C:\Ruby\bin

Successfully installed do_sqlite3-0.10.16-x86-mingw32 Parsing documentation for do_sqlite3-0.10.16-x86-mingw32 unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/do_sqlite3/1.8/do_sqli te3.so, skipping unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/do_sqlite3/1.9/do_sqli te3.so, skipping unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/do_sqlite3/2.0/do_sqli te3.so, skipping unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/do_sqlite3/2.1/do_sqli te3.so, skipping unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/do_sqlite3/2.2/do_sqli te3.so, skipping 1 gem installed

Thanks for the tutorial, i followed it, but still unluck... After copy the .dll, .exe and .def files and reinstall I think we should pay attention to this:

$ ronin-console [!] NameError: Cannot find the child_model Script::Path for Ronin::Repository in script_paths

$ ronin unable to load the command "console"

So how to fix? On Wed, Jan 6, 2016 at 11:15 AM, Postmodern notifications@github.com wrote:

I found this tutorial http://blog.dudeblake.com/2010/05/setting-up-sinatra-and-datamapper-on.html which explains how to install sqlite3 on Windows. Apparently you need to copy in the .dll, .exe and .def files, then re-install do_sqlite3.

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169216067.

postmodern commented 8 years ago

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

margesch commented 8 years ago

Where is that location?

On Wed, Jan 6, 2016 at 12:03 PM, Postmodern notifications@github.com wrote:

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169223686.

margesch commented 8 years ago

Oh in the home directory is. It contains 0 bytes database.log. I try deleted the .ronin directory. Still no luck. It outputs the same.

After outputs it creates the .ronin directory again contains 0b database.log, maybe sqlite3 fail?

On Wed, Jan 6, 2016 at 3:09 PM, Marge Scherick margescherick792@gmail.com wrote:

Where is that location?

On Wed, Jan 6, 2016 at 12:03 PM, Postmodern notifications@github.com wrote:

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169223686.

margesch commented 8 years ago

How to fix? Have you solve it?

On Wed, Jan 6, 2016 at 3:19 PM, Marge Scherick margescherick792@gmail.com wrote:

Oh in the home directory is. It contains 0 bytes database.log. I try deleted the .ronin directory. Still no luck. It outputs the same.

After outputs it creates the .ronin directory again contains 0b database.log, maybe sqlite3 fail?

On Wed, Jan 6, 2016 at 3:09 PM, Marge Scherick <margescherick792@gmail.com

wrote:

Where is that location?

On Wed, Jan 6, 2016 at 12:03 PM, Postmodern notifications@github.com wrote:

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169223686.

margesch commented 8 years ago

So how to solve it? Is there any fix?

On Thu, Jan 7, 2016 at 7:36 PM, Marge Scherick margescherick792@gmail.com wrote:

How to fix? Have you solve it?

On Wed, Jan 6, 2016 at 3:19 PM, Marge Scherick <margescherick792@gmail.com

wrote:

Oh in the home directory is. It contains 0 bytes database.log. I try deleted the .ronin directory. Still no luck. It outputs the same.

After outputs it creates the .ronin directory again contains 0b database.log, maybe sqlite3 fail?

On Wed, Jan 6, 2016 at 3:09 PM, Marge Scherick < margescherick792@gmail.com> wrote:

Where is that location?

On Wed, Jan 6, 2016 at 12:03 PM, Postmodern notifications@github.com wrote:

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169223686.

margesch commented 8 years ago

So how to solve it? It's been a year?

On Sun, Jan 10, 2016 at 10:24 AM, Marge Scherick <margescherick792@gmail.com

wrote:

So how to solve it? Is there any fix?

On Thu, Jan 7, 2016 at 7:36 PM, Marge Scherick <margescherick792@gmail.com

wrote:

How to fix? Have you solve it?

On Wed, Jan 6, 2016 at 3:19 PM, Marge Scherick < margescherick792@gmail.com> wrote:

Oh in the home directory is. It contains 0 bytes database.log. I try deleted the .ronin directory. Still no luck. It outputs the same.

After outputs it creates the .ronin directory again contains 0b database.log, maybe sqlite3 fail?

On Wed, Jan 6, 2016 at 3:09 PM, Marge Scherick < margescherick792@gmail.com> wrote:

Where is that location?

On Wed, Jan 6, 2016 at 12:03 PM, Postmodern notifications@github.com wrote:

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169223686 .

margesch commented 8 years ago

Please give an answer how to fix this? Pada 19 Feb 2016 17.35, "Marge Scherick" margescherick792@gmail.com menulis:

So how to solve it? It's been a year?

On Sun, Jan 10, 2016 at 10:24 AM, Marge Scherick < margescherick792@gmail.com> wrote:

So how to solve it? Is there any fix?

On Thu, Jan 7, 2016 at 7:36 PM, Marge Scherick < margescherick792@gmail.com> wrote:

How to fix? Have you solve it?

On Wed, Jan 6, 2016 at 3:19 PM, Marge Scherick < margescherick792@gmail.com> wrote:

Oh in the home directory is. It contains 0 bytes database.log. I try deleted the .ronin directory. Still no luck. It outputs the same.

After outputs it creates the .ronin directory again contains 0b database.log, maybe sqlite3 fail?

On Wed, Jan 6, 2016 at 3:09 PM, Marge Scherick < margescherick792@gmail.com> wrote:

Where is that location?

On Wed, Jan 6, 2016 at 12:03 PM, Postmodern notifications@github.com wrote:

Hmm, first time I've seen that error. Maybe try deleting the .ronin directory which contains the newly created sqlite3 database?

— Reply to this email directly or view it on GitHub https://github.com/ronin-ruby/ronin/issues/41#issuecomment-169223686 .

postmodern commented 1 year ago

Closing this as the ronin CLI has been totally rewritten and is much more robust now.