Commit Graph

260 Commits (b93e13419599de82f9df2b36be7517985748ef1c)

Author SHA1 Message Date
James Lee e81d3440b8 don't try to store session events for sessions without a db_record. fixes #4301
git-svn-id: file:///home/svn/framework3/trunk@12505 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-02 06:45:21 +00:00
HD Moore 732a1f3993 Skip empty vulnerability names
git-svn-id: file:///home/svn/framework3/trunk@12503 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-02 05:20:07 +00:00
HD Moore 2c3e85af05 Major cleanups to the session manager, serialized processing of incoming connections, concurrent processing (up to a max scheduler thread count) of meterpreter initialization/scripts. This is to avoid a potential deadlock in openssl and ensure consistent, reliable session staging. This commit also fixes a bug that would mark database sessions as closed too early.
git-svn-id: file:///home/svn/framework3/trunk@12485 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 18:51:50 +00:00
Tod Beardsley dfb8a9e24b Catching more nils in db_import.
git-svn-id: file:///home/svn/framework3/trunk@12477 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 04:33:52 +00:00
HD Moore 321e5bd292 Qualify the exception namespace
git-svn-id: file:///home/svn/framework3/trunk@12475 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 03:33:45 +00:00
Tod Beardsley 94be33e8ee A little cleaner method for determining the nature of imported zip files.
git-svn-id: file:///home/svn/framework3/trunk@12472 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 01:49:55 +00:00
Tod Beardsley 4053764f21 In the event an import file isn't an msf_zip, pcapfile, and doesn't have a newline, bail.
git-svn-id: file:///home/svn/framework3/trunk@12465 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-29 04:16:42 +00:00
Tod Beardsley 07e02ce44a When reporting a session from an import, :routes should always end up an an array.
git-svn-id: file:///home/svn/framework3/trunk@12464 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-29 04:10:46 +00:00
Tod Beardsley 1693a21b06 Fixes nessus_v2 imports to indicate a service name correctly.
git-svn-id: file:///home/svn/framework3/trunk@12463 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-28 18:52:35 +00:00
James Lee f72c94b514 default last_seen to sane values so we don't orphan all sessions right away. =/
git-svn-id: file:///home/svn/framework3/trunk@12446 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-26 21:29:47 +00:00
Tod Beardsley 2031c0d288 Importing Nexpose reports should retain test keys (which are usually some kind of proof or expanded details about a vulnerability).
git-svn-id: file:///home/svn/framework3/trunk@12442 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-26 17:31:26 +00:00
HD Moore bfe3c58d8b Correct the logic around Host object parameters
git-svn-id: file:///home/svn/framework3/trunk@12421 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-24 02:41:29 +00:00
HD Moore eacf1d3c8c Lets not break the trunk after all
git-svn-id: file:///home/svn/framework3/trunk@12420 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-24 02:32:43 +00:00
HD Moore 25971ff2ac Pass a host object into the nse parser from a host object cache.
git-svn-id: file:///home/svn/framework3/trunk@12416 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-24 00:54:43 +00:00
HD Moore 5918e6c0ac Allow report_auth_info() to accept a Host object instead of an address like all the other methods.
git-svn-id: file:///home/svn/framework3/trunk@12415 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-24 00:48:05 +00:00
HD Moore b0d81f4385 This mega-patch solves a few outstanding issues:
1) The database queue is no longer used, all threads have their own connection. This officially breaks sqlite3 support, even though sqlite3 was pretty broken to being with.
2) The report_* calls prefer a Host object in the :host parameter instead of :address. This lets it skip a lookup on the host table
3) The importers now pass in the Host object, significantly speeding up large imports
4) The host record is no longer updated by every change to a child object, this was too much of a bottleneck.

TL;DR: Database stuff is faster



git-svn-id: file:///home/svn/framework3/trunk@12409 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-22 20:16:55 +00:00
HD Moore 1a4d4340bf Make Ruby 1.8.7 happy
git-svn-id: file:///home/svn/framework3/trunk@12382 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-20 20:06:45 +00:00
HD Moore 545025dbea Add a warning when the imported vulnerability data is missing the service protocol/port (looks like just one vendor today has this problem).
git-svn-id: file:///home/svn/framework3/trunk@12381 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-20 18:33:27 +00:00
James Lee 86bca6438f add a routes table; delete each comm's routes when flushing
git-svn-id: file:///home/svn/framework3/trunk@12377 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-20 17:49:27 +00:00
Tod Beardsley b164ac6539 Actually store the title for Nexpose imports.
git-svn-id: file:///home/svn/framework3/trunk@12374 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-19 23:00:19 +00:00
James Lee debc16bea5 vnc sessions don't have an arch
git-svn-id: file:///home/svn/framework3/trunk@12352 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-18 16:53:58 +00:00
Tod Beardsley d63fe9a7ba Adding a column for local_id to the sessions table in order to better handle database-mediated session operations.
git-svn-id: file:///home/svn/framework3/trunk@12321 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-14 23:14:36 +00:00
Tod Beardsley 93ee866669 Prevent new sessions from being opened several hours in the past so that we don't accidentally create spatiotemporal paradoxes and erase ourselves from history.
git-svn-id: file:///home/svn/framework3/trunk@12319 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-14 21:53:03 +00:00
James Lee b2eb5a4908 store the service pack from nexpose (previously not returned from the xml parser, see r12298); store hostname and more version info from nmap; see #4099
git-svn-id: file:///home/svn/framework3/trunk@12300 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-11 22:29:53 +00:00
Mike Smith d5d9d56081 Create a dedicated db table to track sessions & session events.
* Add new db tables for session & session_events
* Migrate existing session data from events db table
* Modify session report methods to log to the new tables


git-svn-id: file:///home/svn/framework3/trunk@12273 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-07 21:59:32 +00:00
Tod Beardsley b91c81a182 Fixes #4074 -- corrects the affected regexes.
git-svn-id: file:///home/svn/framework3/trunk@12238 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-04 22:19:59 +00:00
James Lee ae1d3b78bc add host.imported notes for import types other than nmap, see r9277; don't double-report hosts for nessus and ip360 imports
git-svn-id: file:///home/svn/framework3/trunk@12197 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-01 01:01:11 +00:00
Tod Beardsley e1499657c9 Overhaul the nexpose vuln importer to be a little more friendly to all the XML data we can gather about vulns, beyond just their ID and references.
git-svn-id: file:///home/svn/framework3/trunk@12182 4d416f70-5f16-0410-b530-b9f4589650da
2011-03-29 22:22:58 +00:00
Tod Beardsley 2efa01e8bd Deal with importing and exporting tags.
git-svn-id: file:///home/svn/framework3/trunk@11737 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-10 00:17:20 +00:00
HD Moore 070f48e16a Work around some weirdness between report_website and report_host not accepting hostnames as :host by forcing :host to be the address
git-svn-id: file:///home/svn/framework3/trunk@11723 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-08 17:32:37 +00:00
Tod Beardsley 19c8673346 See #3655. Don't crash if there isn't an sname. :/
git-svn-id: file:///home/svn/framework3/trunk@11713 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-04 15:32:12 +00:00
Tod Beardsley dda837a06c See #3655. Explicitly pass the sname if it's present from report_note to report_service.
git-svn-id: file:///home/svn/framework3/trunk@11712 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-04 15:29:57 +00:00
Tod Beardsley d7f291e41b Downcase all nexpose vuln id's.
git-svn-id: file:///home/svn/framework3/trunk@11694 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-01 23:42:07 +00:00
Tod Beardsley 4df940e81e Updating db.rb to account for nexpose raw vuln refs.
git-svn-id: file:///home/svn/framework3/trunk@11693 4d416f70-5f16-0410-b530-b9f4589650da
2011-02-01 22:22:08 +00:00
James Lee 8b6cb60a20 whitespace
git-svn-id: file:///home/svn/framework3/trunk@11679 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-30 21:38:05 +00:00
James Lee de7ad3f111 unbreak store_loot
git-svn-id: file:///home/svn/framework3/trunk@11677 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-30 19:11:27 +00:00
James Lee 01d116f60f allow a Session as the :host argument to some report_* methods that make sense
git-svn-id: file:///home/svn/framework3/trunk@11666 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-29 02:42:45 +00:00
HD Moore 2618e4fffe Add traceroute parsing to nmap
git-svn-id: file:///home/svn/framework3/trunk@11661 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-28 23:32:14 +00:00
Tod Beardsley e1e35ea15b Adds a attribute_locked? method to Host objects. If an attribute is locked, report_host() won't update it. (These aren't very serious locks since you can still set them directly on objects, but if you use the API, and you should, locks will be respected.)
git-svn-id: file:///home/svn/framework3/trunk@11613 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-20 23:10:27 +00:00
Tod Beardsley a12f5556cb Fixes #3564 by better randomizing the temp directory for extraction (minimizing the chance of a filesystem name collision), correctly extracting the original workspace name, and identifying the correct XML file to work off of for importing hosts and services.
git-svn-id: file:///home/svn/framework3/trunk@11609 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-20 17:32:48 +00:00
Tod Beardsley d87b5ad3d2 Drops the DBImportError when you import a pcap file that doesn't actually contain any normal Eth::IP hosts. It doesn't add a whole lot or give the user any more information than merely failing to import anything.
git-svn-id: file:///home/svn/framework3/trunk@11543 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-11 17:35:45 +00:00
Jonathan Cran a4571f927a handle nessus xml files w/o a leading <xml> tag -- resolves #3369
git-svn-id: file:///home/svn/framework3/trunk@11438 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-28 22:07:41 +00:00
Tod Beardsley 0468dbeabe Fixes a db_import bug introduced in r11355 .
git-svn-id: file:///home/svn/framework3/trunk@11416 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-27 16:30:08 +00:00
Tod Beardsley f159678bf0 Rejigger the packet analysis to not suck up so much memory for no real reason. This ensures that the initial file read represents (pretty much) the entire overhead needed to process packets. I'd say this fixs bumps the ceiling up to about a million packets that can be read without too much trouble (assuming you have a serious amount of RAM available -- I'm testing with 8GB here).
git-svn-id: file:///home/svn/framework3/trunk@11364 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-17 03:20:47 +00:00
Tod Beardsley 3ed2d8b694 Add a pcap counter to the pcap importer.
git-svn-id: file:///home/svn/framework3/trunk@11356 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-16 21:36:00 +00:00
HD Moore 743cdba360 Detect empty imports
git-svn-id: file:///home/svn/framework3/trunk@11355 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-16 21:26:39 +00:00
Tod Beardsley 1c2c3ed1f6 Adds an example protocol analyzer to pick out http basic auth credentials and do some server analysis for libpcap imports.
git-svn-id: file:///home/svn/framework3/trunk@11334 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-14 19:04:12 +00:00
Tod Beardsley 244dc18867 Fixes #3348. Adds the PacketFu packet processing library from http://code.google.com/p/packetfu/ , and adds a db_import path for pcaps (it's straightforward -- db_import /path/to/file.pcap will import hosts and service ports from a pcap file.)
git-svn-id: file:///home/svn/framework3/trunk@11308 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-12 17:44:48 +00:00
Tod Beardsley 493db14006 Adds a "duplicate_ok" option to report_auth_info to allow for multiple passwords on the same username. Never came up before I took a look at SNMP.
Also normalizes the print_status messages to be explicit about which module is reporting (important when you're running several at once).



git-svn-id: file:///home/svn/framework3/trunk@11267 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-09 21:23:39 +00:00
James Lee 9df4c2bccf don't fail if we were given a peerhost of 'Remote Pipe'. Fixes #3049, thanks Raphael M for the patch
git-svn-id: file:///home/svn/framework3/trunk@11010 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-12 16:43:00 +00:00