Commit Graph

135 Commits

Author SHA1 Message Date
christopher lee 1b7e613080 Fixed bug in module cache 2018-05-21 14:18:43 -05:00
Adam Cammack ac03a0723a Factor external check shim into common template 2018-05-14 11:32:22 -05:00
Adam Cammack 1d168a84e5 Add 'unknown' fallback check status
`check` is not a fan of `fail_with`, so fallback when the external
module exits unsuccessfully.
2018-05-14 11:00:40 -05:00
Adam Cammack e0fb1365e6 Add soft_check capability to external modules
A `soft_check` is something designed to evaluate the vulnerability of a
remote system without exploiting it (ex. banner checks, non-intrusive
fingerprinting).
2018-05-11 12:42:31 -05:00
Adam Cammack 271a2344db Refactor external module API to be more reliable
Also:
  Grabs exit status
  Less boilerplate required for modules
2018-05-09 13:30:13 -05:00
Adam Cammack a72ab10777 Add initial Python library for login scanners 2018-05-07 17:42:41 -05:00
Adam Cammack ee9da87f1e Add shim for external login scanner modules 2018-05-07 15:05:44 -05:00
Adam Cammack 7c67d2b0b4 Add external module API for reporting passwords 2018-05-04 16:24:57 -05:00
Adam Cammack 0834c1aabd Log when loading an invalid external module type 2018-05-04 15:55:21 -05:00
Adam Cammack e65de2b56f Conform to JSONRPC 2.0 spec in external modules
Responses to queries had a `response` field instead of the required
`result` field.
2018-04-12 16:55:27 -05:00
Adam Cammack 81ec33b0e4 Refactor script path check into base module loader 2018-04-10 11:07:21 -05:00
Brent Cook 6c8ea2d883 also be sure to load executable modules if they don't have #! 2018-04-07 21:15:51 -05:00
Brent Cook 28ebe9d102 sanity check that external modules start with #! before executing 2018-04-07 16:31:34 -05:00
Brent Cook 226ef160ff Land #9748, Convert the smbloris DoS into an external module
Help reliability and performance. This some Ruby-specific external module
tooling as a result as well.
2018-04-02 23:25:10 -05:00
Brent Cook fa34f3e0a4 Land #9718, Add get_user_spns 'kerberoasting' module 2018-04-02 10:04:44 -05:00
Adam Cammack 71149e9c68 Remove executable Ruby files from classic loading 2018-03-23 14:49:06 -05:00
Adam Cammack 133f982f7c Add external module bridge for Ruby
This runs Ruby external modules with the same Ruby that is running MSF,
so it might even work on Windows!
2018-03-23 14:46:40 -05:00
Jeffrey Martin b9fc786d24 Land #9744, Add synchronization around public module metadata cache methods 2018-03-22 17:24:39 -05:00
Adam Cammack bb8fd45cb2 Land #9739, Add Python logging module support 2018-03-21 14:48:49 -05:00
christopher lee 70c9a434e6 Add synchronization around public module metadata cache methods 2018-03-21 14:23:34 -05:00
Spencer McIntyre 3aa37eb266 Add a log handler for external python modules 2018-03-21 10:14:49 -04:00
Jacob Robles fc9005df8a Add External License Support 2018-03-21 06:26:25 -05:00
Jacob Robles 86266dc636 Add batch_size option for external multi_scanner 2018-03-20 14:47:46 -05:00
Jacob Robles ca7caae622 Change External Module Type Names
Change the a couple of external module type names
to be consistent with the template files.
2018-03-20 10:19:57 -05:00
Adam Cammack 780c8f0506 Fix non-scanner external modules 2018-03-07 17:11:56 -06:00
christopher lee 0949e0a501 Don't munch exception 2018-02-28 11:28:07 -06:00
christopher lee cea61e7aa4 Fix bug with remove_from_cache 2018-02-28 11:21:34 -06:00
christopher lee 1686b82a40 Adhere to style guide by using unless 2018-02-28 11:11:26 -06:00
christopher lee 8b4c7b886f Updated to use delete_if 2018-02-28 11:00:40 -06:00
christopher lee 964be3b5f0 Fix problem with stale module cache 2018-02-28 08:41:14 -06:00
Brent Cook 3f88e59516 handle Python 3.5/3.6 differences so we always have a UTF-8 string 2018-02-21 21:54:27 -06:00
Adam Cammack 02e81d166d Add Enum-type options for external modules 2018-02-02 14:40:04 -06:00
Adam Cammack ab36b5dd5d Add support for single-IP external scanners 2018-02-02 14:01:16 -06:00
Matthew Kienow 6caba521d3 Land #9424, Add SharknAT&To external scanner 2018-01-24 12:40:29 -05:00
Adam Cammack d08510596f Keep reading external messages on stderr eof 2018-01-23 10:46:06 -06:00
Adam Cammack 670055da4b Prevent leaked sockets in edge cases 2018-01-22 22:14:16 -06:00
Adam Cammack c76fa2c58f Vendor async_timeout 2018-01-22 22:12:28 -06:00
Adam Cammack 964810146a Python library style fixes 2018-01-22 22:10:32 -06:00
christopher lee 87f8b68099 Ensure config directory always exist, seems to be timing issue in rspec 2018-01-18 14:56:07 -06:00
Brent Cook 7fe237abe1 Land #9220, Module cache improvements 2018-01-17 22:34:51 -06:00
Adam Cammack 0f0b116751 Rename scanner bits to avoid confusion 2018-01-17 14:46:31 -06:00
Adam Cammack 37bf68869f Add scanner for the open proxy from 'SharknAT&To' 2018-01-16 21:05:19 -06:00
Adam Cammack a5be16f74e Add batch scanner external module type 2018-01-16 21:05:19 -06:00
Adam Cammack fb41eea8cc Add vuln reporting to external module API 2018-01-16 21:05:19 -06:00
Adam Cammack 9527c6ffcf Ensure all messages are read from external modules 2018-01-16 21:05:19 -06:00
Adam Cammack 3363bcf629 Add DataStore serialization that preserves Arrays 2018-01-16 21:05:19 -06:00
Matthew Kienow b6c81e6da0 Reimplement slowloris as external module 2017-11-21 16:21:01 -05:00
Adam Cammack 40a71af7ed Add missing end 2017-11-20 17:50:59 -06:00
Adam Cammack 2fdc34c8fd Add new template for DoS modules 2017-11-20 17:19:14 -06:00
Adam Cammack dd57138423 Make external module read loop more robust
Changes from a "hope we get at most one message at a time" model to
something beginning to resemble a state machine. Also logs error output
and fails the MSF module when the external module fails.
2017-11-20 16:52:05 -06:00