All the great things are simple, and many can be expressed in a single word: freedom, justice, honor, duty, mercy, hope.

Monday, April 15, 2013

How to Solve problem of wpscan in Backtrack 5 r3?

Wpscan is wordpress security scanner, which is pre-installed in backtrack 5 , but it`s outdated version, so when you tried to update it, you may  have face some problems. Here is solution which work for me.

cd /pentest/web
rm -rf wpscan
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
gem install bundler && bundle install --without test development
apt-get install libxml2 libxml2-dev libxslt1-dev
gem install  bundler
bundle install
ruby ./wpscan.rb


==WPSCAN ARGUMENTS==

--update   Update to the latest revision

--url   | -u <target url>  The WordPress URL/domain to scan.

--force | -f Forces WPScan to not check if the remote site is running WordPress.

--enumerate | -e [option(s)]  Enumeration.
  option :
    u        usernames from id 1 to 10
    u[10-20] usernames from id 10 to 20 (you must write [] chars)
    p        plugins
    vp       only vulnerable plugins
    ap       all plugins (can take a long time)
    tt       timthumbs
    t        themes
    vp       only vulnerable themes
    at       all themes (can take a long time)
  Multiple values are allowed : '-e tt,p' will enumerate timthumbs and plugins
  If no option is supplied, the default is 'vt,tt,u,vp'

--exclude-content-based '<regexp or string>'  Used with the enumeration option, will exclude all occurrences based on the regexp or string supplied
                                              You do not need to provide the regexp delimiters, but you must write the quotes (simple or double)

--config-file | -c <config file> Use the specified config file

--follow-redirection  If the target url has a redirection, it will be followed without asking if you wanted to do so or not

--wp-content-dir <wp content dir>  WPScan try to find the content directory (ie wp-content) by scanning the index page, however you can specified it. Subdirectories are allowed

--wp-plugins-dir <wp plugins dir>  Same thing than --wp-content-dir but for the plugins directory. If not supplied, WPScan will use wp-content-dir/plugins. Subdirectories are allowed

--proxy <[protocol://]host:port>  Supply a proxy (will override the one from conf/browser.conf.json).
                                  HTTP, SOCKS4 SOCKS4A and SOCKS5 are supported. If no protocol is given (format host:port), HTTP will be used

--proxy-auth <username:password>  Supply the proxy login credentials (will override the one from conf/browser.conf.json).

--basic-auth <username:password>  Set the HTTP Basic authentication

--wordlist | -w <wordlist>  Supply a wordlist for the password bruter and do the brute.

--threads  | -t <number of threads>  The number of threads to use when multi-threading requests. (will override the value from conf/browser.conf.json)

--username | -U <username>  Only brute force the supplied username.

--help     | -h This help screen.

--verbose  | -v Verbose output.

==WPSCAN EXAMPLES==

Do 'non-intrusive' checks...

  ruby wpscan.rb --url www.example.com

Do wordlist password brute force on enumerated users using 50 threads...

  ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50

Do wordlist password brute force on the 'admin' username only...

  ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin

Enumerate installed plugins...

  ruby wpscan.rb --url www.example.com --enumerate p

==WPSTOOLS ARGUMENTS==

--help    | -h   This help screen.
--Verbose | -v   Verbose output.
--update  | -u   Update to the latest revision.
--generate_plugin_list [number of pages]  Generate a new data/plugins.txt file. (supply number of *pages* to parse, default : 150)
--gpl  Alias for --generate_plugin_list
--check-local-vulnerable-files | --clvf <local directory>  Perform a recursive scan in the <local directory> to find vulnerable files or shells

==WPSTOOLS EXAMPLES==

- Generate a new 'most popular' plugin list, up to 150 pages ...
ruby wpstools.rb --generate_plugin_list 150

- Locally scan a wordpress installation for vulnerable files or shells :
ruby wpstools.rb --check-local-vulnerable-files /var/www/wordpress/

 If this solution does not work for you then try to upgrade ruby version & then process to installation.

18 comments:

Blak3x said...

Hi,

I tried using the above method but still cannot run wpscan. Each time I try, I get the following error:

[error] no such file to load --bundler/setup

I followed all of the commands mentioned above and everything installed successfully without any error. I am using backtrack 5R3.

Any idea what the issue might be please?

Nirav Desai said...

first try to remove wpscan using apt-get remove wpscan ,then clon git repository , i mean start from third command@Blak3x

Blak3x said...

Unfortunately that is not the case.

I had removed wpscan before. Though even on a fresh install, if you run apt-get remove wpscan you get an error that it is not installed since it is part of the distribution and not installed as a package.

Any other ideas please?

Nirav Desai said...

sorry but i have same problem,& above solution works for me.@Blak3x

spand3x said...

this is work but you have to login shell first before do all mentions above....don't do it with root

Vlad Sorodoc said...

An error occurred while installing nokogiri (1.6.0)

Nirav Desai said...

Open Gemfile from wpscan directory & replace gem "nokogiri" line with the gem "nokogiri", ">=1.5.9" then save it and close terminal & then open terminal change directory to wpscan & run bundle install @Vlad Sorodoc

Ethan Hunt said...

Hi bro..

I tried above- " Open Gemfile from wpscan directory & replace gem "nokogiri" line with the gem "nokogiri", ">=1.5.9" then save it and close terminal & then open terminal change directory to wpscan & run bundle install "

Still i am having problem..

root@bt:~/wpscan# bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using ffi (1.9.0)
Using mime-types (1.25)
Using ethon (0.6.1)
Using json (1.8.0)
Using mini_portile (0.5.1)
Installing nokogiri (1.6.0)
Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
An error occurred while installing nokogiri (1.6.0), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.


root@bt:~/wpscan#

Nirav Desai said...

I am not sure about following method.After changing gem file try to manually install gem.
(1)Download gem file from http://rubygems.org/gems/nokogiri/versions/1.5.9
(2)change to wpscan directory
(3)gem install --local /path to downloaded gem
(4)Then run bundle install again. @Ethan Hunt

Ajai sandy said...

Bro am also facing this problem . I followe the steps to install the gem manually but got stuck in step (2) i cant able to change to wpscan

cd /wpscan
bash: cd: /wpscan: No such file or directory

Nirav Desai said...

because you use "/" ..You should use cd wpscan@Ajai sandy

Ajai sandy said...

root@bt:~/wpscan# gem install --local /root/Desktop/nokogiri-1.5.9.gem
Building native extensions. This could take a while...
Successfully installed nokogiri-1.5.9
1 gem installed
Installing ri documentation for nokogiri-1.5.9...
Installing RDoc documentation for nokogiri-1.5.9...


how do I Then run bundle install again ??
in wpscan directory or in root ??

Nirav Desai said...

in wpscan directory@Ajai sandy

Ajai sandy said...

@Nirav Desai

I runned in wpscan directory but am getting stuck again in

root@bt:~/wpscan# bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using ffi (1.9.0)
Using mime-types (1.25)
Using ethon (0.6.1)
Using json (1.8.0)
Using mini_portile (0.5.1)
Installing nokogiri (1.6.0)
Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
An error occurred while installing nokogiri (1.6.0), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.

Nirav Desai said...

Open Gemfile from wpscan directory & replace gem "nokogiri" line with the gem "nokogiri", ">=1.5.9" then save it and close terminal & then open terminal change directory to wpscan & run bundle install@Ajai sandy

Ajai sandy said...

@Nirav Desai

already did that method , no use :(

I installed the gem manually , altered the gem file and runned the code

root@bt:~/wpscan# bundle install

bt still it says

Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
An error occurred while installing nokogiri (1.6.0), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.

Nirav Desai said...

sorry now i can not do anything..may be you should install ruby 1.9.3@Ajai sandy

Ahmeda Rusdan said...

i've updated my ruby to the newest version, and it is working correctly now :)

Post a Comment

UA-35960349-1