diff --git a/VERSION b/VERSION index c5e6455836..6c23cedfbe 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.0 Alpha Release 3 +3.0 Alpha Release 4 diff --git a/data/sql/sqlite.sql b/data/sql/sqlite.sql index e712ecfbe0..87450c3ddc 100644 --- a/data/sql/sqlite.sql +++ b/data/sql/sqlite.sql @@ -20,3 +20,10 @@ create table services ( 'name' VARCHAR(255), 'desc' VARCHAR(1024) ); + +create table vulns ( +'id' INTEGER PRIMARY KEY NOT NULL, +'service_id' INTEGER, +'name' VARCHAR(255), +'data' TEXT +); diff --git a/data/sql/sqlite3.db b/data/sql/sqlite3.db index 3569c91601..b26f9e2e6a 100644 Binary files a/data/sql/sqlite3.db and b/data/sql/sqlite3.db differ diff --git a/lib/msf/base/serializer/readable_text.rb b/lib/msf/base/serializer/readable_text.rb index 172a414d6d..ae60223d18 100644 --- a/lib/msf/base/serializer/readable_text.rb +++ b/lib/msf/base/serializer/readable_text.rb @@ -54,6 +54,26 @@ class ReadableText tbl.to_s + "\n" end + # + # Dumps an auxiliary's actions + # + def self.dump_auxiliary_actions(mod, indent = '', h = nil) + tbl = Rex::Ui::Text::Table.new( + 'Indent' => indent.length, + 'Header' => h, + 'Columns' => + [ + 'Name', + 'Description' + ]) + + mod.actions.each_with_index { |target, idx| + tbl << [ target.name || 'All' ] + } + + tbl.to_s + "\n" + end + # # Dumps the table of payloads that are compatible with the supplied # exploit. diff --git a/lib/msf/core/auxiliary.rb b/lib/msf/core/auxiliary.rb index d4d75edc88..9f7abe5bbb 100644 --- a/lib/msf/core/auxiliary.rb +++ b/lib/msf/core/auxiliary.rb @@ -16,8 +16,10 @@ class Auxiliary < Msf::Module # # Auxiliary mixins # + require 'msf/core/auxiliary/recon' require 'msf/core/auxiliary/tcp' - + require 'msf/core/auxiliary/udp' + # # Returns MODULE_AUX to indicate that this is an auxiliary module. # diff --git a/lib/msf/core/auxiliary/recon.rb b/lib/msf/core/auxiliary/recon.rb new file mode 100644 index 0000000000..1e1595d6bc --- /dev/null +++ b/lib/msf/core/auxiliary/recon.rb @@ -0,0 +1,17 @@ +module Msf + +### +# +# This module provides methods for establish a connection to a remote host and +# communicating with it. +# +### + +module Auxiliary::Recon + + def report_host(host) + p host + end + +end +end diff --git a/lib/msf/core/auxiliary/tcp.rb b/lib/msf/core/auxiliary/tcp.rb index 7d3d78fa84..3cae646591 100644 --- a/lib/msf/core/auxiliary/tcp.rb +++ b/lib/msf/core/auxiliary/tcp.rb @@ -1,15 +1,14 @@ -#module Msf -# +module Msf + ### # # This module provides methods for establish a connection to a remote host and # communicating with it. # ### -#module Auxiliary::Remote::Tcp -# -# include Exploit::Remote::Tcp -# -#end -#end +module Auxiliary::Tcp + include Exploit::Remote::Tcp + +end +end diff --git a/lib/msf/core/auxiliary/udp.rb b/lib/msf/core/auxiliary/udp.rb new file mode 100644 index 0000000000..854bf2ae1c --- /dev/null +++ b/lib/msf/core/auxiliary/udp.rb @@ -0,0 +1,14 @@ +module Msf + +### +# +# This module provides methods for establish a connection to a remote host and +# communicating with it. +# +### + +module Auxiliary::Udp + include Exploit::Remote::Udp + +end +end diff --git a/lib/msf/core/db.rb b/lib/msf/core/db.rb index 5977efaa6f..940f9e630c 100644 --- a/lib/msf/core/db.rb +++ b/lib/msf/core/db.rb @@ -99,22 +99,38 @@ class DBManager # # This method iterates the services table calling the supplied block with the - # host and service instances of each entry. - # TODO: use the find() block syntax instead + # service instance of each entry. # def each_service(&block) services.each do |service| block.call(service) end end - + # # This methods returns a list of all services in the database # def services Service.find(:all) end + + # + # This method iterates the vulns table calling the supplied block with the + # vuln instance of each entry. + # + def each_vuln(&block) + vulns.each do |vulns| + block.call(vulns) + end + end + # + # This methods returns a list of all vulnerabilities in the database + # + def vulns + Vuln.find(:all) + end + def get_host(context, address, comm='') host = Host.find(:first, :conditions => [ "address = ? and comm = ?", address, comm]) if (not host) @@ -125,21 +141,38 @@ class DBManager return host end - - def get_service(host, proto, port) - port = Service.find(:first, :conditions => [ "host_id = ? and proto = ? and port = ?", host.id, proto, port]) - if (not port) - port = Service.create( - :host => host, + def get_service(context, host, proto, port) + rec = Service.find(:first, :conditions => [ "host_id = ? and proto = ? and port = ?", host.id, proto, port]) + if (not rec) + rec = Service.create( + :host_id => host.id, :proto => proto, :port => port, - :state => ServiceState::Unknown + :state => ServiceState::Up ) - framework.events.on_db_service(context, host, port) + framework.events.on_db_service(context, rec) end - return port + return rec end + def get_vuln(context, service, name, data='') + vuln = Vuln.find(:first, :conditions => [ "name = ? and service_id = ?", name, service.id]) + if (not vuln) + vuln= Vuln.create( + :service_id => service.id, + :name => name, + :data => data + ) + framework.events.on_db_vuln(context, vuln) + end + + return vuln + end + + def has_host?(addr) + Host.find(:first, :conditions => [ "address = ?", addr]) + end + end end diff --git a/lib/msf/core/db_manager.rb b/lib/msf/core/db_manager.rb index 6464c225d4..5e3a21eb5b 100644 --- a/lib/msf/core/db_manager.rb +++ b/lib/msf/core/db_manager.rb @@ -26,15 +26,20 @@ class DBManager @usable = false @active = false - begin - require 'rubygems' - require_gem 'activerecord' - + # This double-rescue is required to detect active record when + # it has been installed outside of gems + begin + begin + require 'rubygems' + require_gem 'activerecord' + @usable = true + rescue LoadError + require 'activerecord' + @usable = true + end require 'msf/core/db_objects' - - @usable = true rescue ::Exception => e - elog("DBManager is not enabled due to load error: #{e.to_s}") + elog("DB is not enabled due to load error: #{e.to_s}") end end diff --git a/lib/msf/core/db_objects.rb b/lib/msf/core/db_objects.rb index c5418a6dec..77952c1c9f 100644 --- a/lib/msf/core/db_objects.rb +++ b/lib/msf/core/db_objects.rb @@ -16,6 +16,20 @@ end # Service object definition class Service < ActiveRecord::Base + def host + Host.find(:first, :conditions => [ "id = ?", host_id ]) + end +end + +# Vuln object definition +class Vuln < ActiveRecord::Base + def service + Service.find(:first, :conditions => [ "id = ?", service_id ]) + end + + def host + Host.find(:first, :conditions => [ "id = ?", service.host_id ]) + end end end diff --git a/lib/msf/core/exceptions.rb b/lib/msf/core/exceptions.rb index 67a5854cdd..bce3109148 100644 --- a/lib/msf/core/exceptions.rb +++ b/lib/msf/core/exceptions.rb @@ -253,5 +253,24 @@ class NoNopsSucceededError < RuntimeError end end +## +# +# Plugin exceptions +# +## + +class PluginLoadError < RuntimeError + include Exception + attr_accessor :reason + + def initialize(reason='') + self.reason = reason + super + end + + def to_s + "This plugin failed to load: #{reason.to_s}" + end +end end diff --git a/lib/msf/ui/console/command_dispatcher/core.rb b/lib/msf/ui/console/command_dispatcher/core.rb index 3deb55d40a..f33159eee9 100644 --- a/lib/msf/ui/console/command_dispatcher/core.rb +++ b/lib/msf/ui/console/command_dispatcher/core.rb @@ -798,6 +798,12 @@ class Core else print_error("No exploit module selected.") end + when "actions" + if (mod and mod.auxiliary?) + show_actions(mod) + else + print_error("No auxiliary module selected.") + end end } end @@ -808,7 +814,7 @@ class Core def cmd_show_tabs(str, words) res = %w{all encoders nops exploits payloads aux plugins} if (active_module) - res.concat(%w{ options advanced evasion targets }) + res.concat(%w{ options advanced evasion targets actions }) end return res end @@ -1073,13 +1079,22 @@ class Core when 'Msf::OptAddress' case o.name when 'RHOST' - res << option_values_last_target() + option_values_target_addrs().each do |addr| + res << addr + end when 'LHOST' res << Rex::Socket.source_address() else end when 'Msf::OptPort' + case o.name + when 'RPORT' + option_values_target_ports().each do |port| + res << port + end + end + if (res.empty?) res << (rand(65534)+1).to_s end @@ -1133,13 +1148,39 @@ class Core end # - # Provide the last target address + # Provide the target addresses # - def option_values_last_target - # Replace this once we start tracking these things... - return Rex::Socket.source_address() + def option_values_target_addrs + res = [ ] + res << Rex::Socket.source_address() + return res if not framework.db.active + + framework.db.each_host do |host| + res << host.address + end + + return res end - + + # + # Provide the target ports + # + def option_values_target_ports + res = [ ] + return res if not framework.db.active + return res if not self.active_module.datastore['RHOST'] + host = framework.db.has_host?(self.active_module.datastore['RHOST']) + return res if not host + + framework.db.each_service do |service| + if (service.host_id == host.id) + res << service.port.to_s + end + end + + return res + end + protected # @@ -1205,7 +1246,12 @@ protected mod_targs = Serializer::ReadableText.dump_exploit_targets(mod, ' ') print("\nExploit targets:\n\n#{mod_targs}\n") if (mod_targs and mod_targs.length > 0) end - + + def show_actions(mod) # :nodoc: + mod_actions = Serializer::ReadableText.dump_auxiliary_actions(mod, ' ') + print("\nAuxiliary actions:\n\n#{mod_actions}\n") if (mod_actions and mod_actions.length > 0) + end + def show_advanced_options(mod) # :nodoc: mod_opt = Serializer::ReadableText.dump_advanced_options(mod, ' ') print("\nModule advanced options:\n\n#{mod_opt}\n") if (mod_opt and mod_opt.length > 0) diff --git a/lib/msf/ui/console/driver.rb b/lib/msf/ui/console/driver.rb index 537131698d..3fde42a3e4 100644 --- a/lib/msf/ui/console/driver.rb +++ b/lib/msf/ui/console/driver.rb @@ -177,7 +177,6 @@ class Driver < Msf::Ui::Driver rcfd.write(data) rcfd.close rescue ::Exception => e - # end end diff --git a/plugins/db_sqlite3.rb b/plugins/db_sqlite3.rb index 8396e68c8e..5117bb26c3 100644 --- a/plugins/db_sqlite3.rb +++ b/plugins/db_sqlite3.rb @@ -11,8 +11,6 @@ module Msf class Plugin::DBSQLite3 < Msf::Plugin - - ### # # This class implements an event handler for db events @@ -22,6 +20,14 @@ class Plugin::DBSQLite3 < Msf::Plugin def on_db_host(context, host) puts "New host event: #{host.address}" end + + def on_db_service(context, service) + puts "New service event: host=#{service.host.address} port=#{service.port} proto=#{service.proto} state=#{service.state}" + end + + def on_db_vuln(context, vuln) + puts "New vuln event: host=#{vuln.host.address} port=#{vuln.service.port} proto=#{vuln.service.proto} name=#{vuln.name}" + end end ### @@ -36,7 +42,7 @@ class Plugin::DBSQLite3 < Msf::Plugin # The dispatcher's name. # def name - "DBDispatcher" + "Database Backend" end # @@ -44,10 +50,13 @@ class Plugin::DBSQLite3 < Msf::Plugin # def commands { - "db_hosts" => "List all hosts in the database db", - "db_services" => "List all services in the database db", - "db_insert" => "Insert a new host into the db", - "db_test" => "Test", + "db_hosts" => "List all hosts in the database", + "db_services" => "List all services in the database", + "db_vulns" => "List all vulnerabilities in the database", + "db_add_host" => "Add one or more hosts to the database", + "db_add_port" => "Add a port to host", + "db_import_nessus_nbe" => "Import a Nessus scan result file (NBE)", + # "db_import_nmap_xml" => "Import a Nmap scan results file (-oX)", } end @@ -56,31 +65,79 @@ class Plugin::DBSQLite3 < Msf::Plugin print_status("Host: #{host.address}") end end - + def cmd_db_services(*args) - framework.db.each_service do |host, service| - print_status("Service: host=#{host.address} port=#{service.port} port=#{service.proto}") + framework.db.each_service do |service| + print_status("Service: host=#{service.host.address} port=#{service.port} proto=#{service.proto} state=#{service.state}") end end - - def cmd_db_insert(*args) - print_status("Inserting #{args.length.to_s} hosts...") + + def cmd_db_vulns(*args) + framework.db.each_vuln do |vuln| + puts "Vuln: host=#{vuln.host.address} port=#{vuln.service.port} proto=#{vuln.service.proto} name=#{vuln.name}" + end + end + + def cmd_db_add_host(*args) + print_status("Adding #{args.length.to_s} hosts...") args.each do |address| framework.db.get_host(nil, address) end end - - def cmd_db_test(*args) - framework.db.get_host(nil, "1.2.3.4") - framework.db.get_host(nil, "1.2.3.5") - framework.db.get_host(nil, "1.2.3.6") - framework.db.each_host do |host| - print_status("Host: #{host.address}") - end - end + + def cmd_db_add_port(*args) + if (not args or args.length < 3) + print_status("Usage: db_add_port [host] [port] [proto]") + return + end + + host = framework.db.get_host(nil, args[0]) + return if not host + + service = framework.db.get_service(nil, host, args[2].downcase, args[1].to_i) + return if not service + + print_status("Service: host=#{service.host.address} port=#{service.port} proto=#{service.proto} state=#{service.state}") + end + + def cmd_db_import_nessus_nbe(*args) + if (not (args and args.length == 1)) + print_status("Usage: db_import_nessus [nessus.nbe]") + return + end + + if (not File.readable?(args[0])) + print_status("Could not read the NBE file") + return + end + + fd = File.open(args[0], 'r') + fd.each_line do |line| + r = line.split('|') + next if r[0] != 'results' + addr = r[2] + nasl = r[4] + hole = r[5] + data = r[6] + + m = r[3].match(/^([^\(]+)\((\d+)\/([^\)]+)\)/) + next if not m + + host = framework.db.get_host(nil, addr) + next if not host + + service = framework.db.get_service(nil, host, m[3].downcase, m[2].to_i) + service.name = m[1] + service.save + + vuln = framework.db.get_vuln(nil, service, "NSS-#{nasl.to_s}", data) + end + end + end + def initialize(framework, opts) super @@ -94,8 +151,8 @@ class Plugin::DBSQLite3 < Msf::Plugin FileUtils.copy(odb, ndb) if (not framework.db.connect("adapter" => "sqlite3", "dbfile" => ndb)) - print_status("Failed to connect to the database :(") - return + File.unlink(ndb) + raise PluginLoadError.new("Failed to connect to the database") end @dbh = DBEventHandler.new @@ -107,7 +164,7 @@ class Plugin::DBSQLite3 < Msf::Plugin def cleanup framework.events.remove_db_subscriber(@dbh) - remove_console_dispatcher('DBDispatcher') + remove_console_dispatcher('Database Backend') end # @@ -122,7 +179,7 @@ class Plugin::DBSQLite3 < Msf::Plugin # more than 60 characters, but there are no hard limits. # def desc - "Loads a new SQLite3 db and intializes it" + "Loads a new sqlite3 database backend" end protected diff --git a/plugins/db_tracker.rb b/plugins/db_tracker.rb new file mode 100644 index 0000000000..2a80c47da8 --- /dev/null +++ b/plugins/db_tracker.rb @@ -0,0 +1,63 @@ +module Msf + +### +# +# This class hooks all socket calls and updates the database with +# data gathered from the connection parameters +# +### + +class Plugin::DB_Tracer < Msf::Plugin + + ### + # + # This class implements a socket communication tracker + # + ### + class DBTracerEventHandler + include Rex::Socket::Comm::Events + + def on_before_socket_create(comm, param) + end + + def on_socket_created(comm, sock, param) + # Ignore local listening sockets + return if not sock.peerhost + + if (sock.peerhost != '0.0.0.0' and sock.peerport) + + host = param.context['Msf'].db.get_host(param.context, sock.peerhost) + return if not host + + port = param.context['Msf'].db.get_service(param.context, host, param.proto, sock.peerport) + return if not port + + end + end + end + + def initialize(framework, opts) + super + + if(not framework.db.active) + raise PluginLoadError.new("The database backend has not been initialized") + end + + @eh = DBTracerEventHandler.new + Rex::Socket::Comm::Local.register_event_handler(@eh) + end + + def cleanup + Rex::Socket::Comm::Local.deregister_event_handler(@eh) + end + + def name + "db_tracker" + end + + def desc + "Monitors socket calls and updates the database backend" + end + +end +end diff --git a/plugins/ips_filter.rb b/plugins/ips_filter.rb index d3c637f16f..d89de7cd14 100644 --- a/plugins/ips_filter.rb +++ b/plugins/ips_filter.rb @@ -35,11 +35,11 @@ class Plugin::IPSFilter < Msf::Plugin def initialize(framework, opts) super @ips_eh = IPSSocketEventHandler.new - Rex::Socket::Comm::Local.register_event_handler(@bps_eh) + Rex::Socket::Comm::Local.register_event_handler(@ips_eh) end def cleanup - Rex::Socket::Comm::Local.deregister_event_handler(@bps_eh) + Rex::Socket::Comm::Local.deregister_event_handler(@ips_eh) end def name @@ -63,13 +63,19 @@ module SocketTracer # Hook the write method def write(buf, opts = {}) - # Add hooks to filter all outgoing packets here + if (ips_match(buf)) + $stderr.puts "*** Outbound write blocked due to possible signature match" + return + end super(buf) end # Hook the read method def read(length = nil, opts = {}) r = super(length, opts) + if (ips_match(r)) + $stderr.puts "*** Incoming read may match a known signature" + end return r end @@ -82,5 +88,2063 @@ module SocketTracer super(*args) end + def ips_match(data) + lp = localport + rp = peerport + + SIGS.each do |s| + begin + r = Regexp.new(s[1]) + if (data.match(r)) + $stderr.puts "*** Matched signature #{s[1]}" + return true + end + rescue ::Exception => e + $stderr.puts "*** Compiled error: #{s[1]}" + end + end + + return false + end + + SIGS = + [ + ['stream', ".*[1-9][0-9]*, 6667 : USERID : UNIX : die.*"], + ['stream', ".*\x58\x35\x4f\x21\x50\x25\x40\x41\x50\x5b\x34\x5c\x50\x5a\x58\x35\x34\x28\x50\x5e\x29\x37\x43\x43\x29\x37\x7d\x24\x45\x49\x43\x41\x52\x2d\x53\x54\x41\x4e\x44\x41\x52\x44\x2d\x41\x4e\x54\x49\x56\x49\x52\x55\x53\x2d\x54\x45\x53\x54\x2d\x46\x49\x4c\x45\x21\x24\x48\x2b\x48\x2a.*"], + ['smb-open-filename', ".*(\000)?\.(\000)?\[e(\000)?x(\000)?e(\000)?\]"], + ['http-url-parsed-param', ".*\/getlatestversion\?ver=.*"], + ['dns-type-name', ".*[\s%\|;\?\&\'\"].*"], + ['packet', "[\0200-\0377].*"], + ['packet', ".*\x00\x0c.."], + ['snmp-community', "internal"], + ['stream', ".*\[login incorrect\].*"], + ['stream', ".*\[permission denied\].*"], + ['http-header-accept-encoding', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-url-parsed-param', ".*\/\[gwweb\.exe\?\].*"], + ['http-url-parsed-param', ".*\/\[PortInformation\]\?[0-9][^0-9]?.*"], + ['http-url-parsed-param', ".*\/\[StreamingStatistics\]\?[0-9].*"], + ['http-url-parsed', "\[\/cgi-bin\/logout\.exe\]"], + ['http-header-user-agent', ".*\[QuickTime\].*"], + ['http-url-parsed', "\/examples\/jsp\/snp\/[^.]+\.snp"], + ['http-request', "SSH.*"], + ['http-request', "\xff(\xfb|\xfd).*"], + ['http-request', "\[CONNECT\].*"], + ['http-request', "\[CONNECT scs.yahoo.com\].*"], + ['http-request', "\[CONNECT login.oscar.aol.com\].*"], + ['http-header', ".*\[p2p-agent:.*Kazaa\].*"], + ['http-header-user-agent', ".*\[topsearch\].*"], + ['http-header-user-agent', ".*\[MSMSGS\].*"], + ['http-url-parsed-param', ".*\/\[imagemap\.exe\]\?.*"], + ['stream', "\[CONNECT\].*"], + ['stream', "\[CONNECT\].*"], + ['stream', "\[CONNECT\].*"], + ['stream', "\[CONNECT\].*"], + ['stream', "\[CONNECT\].*"], + ['http-header-user-agent', "ICQ"], + ['http-text-html', ".*<(a|A)[^>]*\s\[href\]=>.*"], + ['http-text-plain', "\x58\x35\x4f\x21\x50\x25\x40\x41\x50\x5b\x34\x5c\x50\x5a\x58\x35\x34\x28\x50\x5e\x29\x37\x43\x43\x29\x37\x7d\x24\x45\x49\x43\x41\x52\x2d\x53\x54\x41\x4e\x44\x41\x52\x44\x2d\x41\x4e\x54\x49\x56\x49\x52\x55\x53\x2d\x54\x45\x53\x54\x2d\x46\x49\x4c\x45\x21\x24\x48\x2b\x48\x2a"], + ['http-text-html', ".*<\[bgsound\]( |\x09|\x0A)+\[src\]( |\x09|\x0A)*=( |\x09|\x0A)*(\"|')?\\\\[^>]+>.*"], + ['http-text-html', ".*<\[OBJECT\][^>]+\[classid\]=( |\x09|\x0A)?(\"|')?clsid:D27CDB6E-AE6D-11cf-96B8-444553540000.*>.*<\[PARAM\] \[NAME\]=\"?\[movie\].*\[VALUE\]=.*\.\[swf\]\?AAA\.XXXXXXXX[^>]+>.*"], + ['line', ".*\[1 file\].*"], + ['line', ".*\[bad command or filename\].*"], + ['line', ".*\[command completed\].*"], + ['line', ".*\[connection closed by foreign host\].*"], + ['line', ".*uid=0.*"], + ['line', ".*\[volume serial number\].*"], + ['http-status', ".*\[HTTP\]\/[0-9]+[^\012]+404 .*"], + ['http-data', ".*\x30\x08\x23\x00\x3C\xA6\x0F\xA5\x18\x04\x2D\xB1\x38\x53\xF4\xA6\x10\x5B\x7E\x8A\x7D\xA2\x80\xB0\x8C\x38\x53\xF3\x14\x04\x0A\xC3\x91\x14\x05\xED\x3D\xBE\xA2\x80\x81\x4F\x6F\x94\xD0\x04\x14\xD0.*"], + ['http-data', ".*\x04\x42\x81\x91\xFF\xDA\x00\x0C\x03\x01\x00\x02\x11\x03\x11\x00\x3F\x00\xF9\x05\xF9\x6F\x38\x9F\xDD\xE4\x5F\x59\xD7\xDF\x49\xE7\x9D\xF7\x82\x46\xE6\x73\x7C\x40\xFC\xE4\x7C\x52\x58\xE6\x37\x3A\x5F\x79\xBB\x01\x0E\x74\x6F\x59\xC2\x43\x6A\xA2\x71\x36\x87\xA3.*"], + ['http-url-parsed-param', ".*\/s?bin\/halt.*"], + ['http-url-parsed-param', ".*\[(\/usr)?\/s?bin\/(awk|bash|cat|chattr|chgrp|chmod|chown|cp|csh|dd|df|dir|dmesg|du|ed|gawk|groups|gunzip|install|kill|killall|last|link|ln|ls|lsattr)\].*"], + ['http-url-parsed-param', ".*\[\/(usr)?\/s?bin\/(mail|mesg|mkdir|mkfifo|mknod|mktemp|more|mount|mv|netstat|nisdomainname|pidof|ps|rm|rmdir|sash|sed|sh|shred|sleep|stat|stty|tcsh|tempfile|touch|umount|unlink|utmpdump|uuidgen|vdir|wall|ypdomainname|halt|shutdown|restart|reboot|runlevel|swapoff|ctrlaltdel|mkswap|poweroff)\].*"], + ['http-url-parsed-param', ".*\/\[dfire\.cgi\?.*IPONE\]=\|"], + ['http-header-user-agent', ".*\[MoodLogic\].*"], + ['http-url', ".*HandleSearch\.html\?searchTarget=.*&B1=Submit.*"], + ['http-request', "\[CONNECT\] [0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?:[0-9]+ \/ \[HTTP\]\/1.0.*"], + ['http-header', ".*\[Authorization\]:[ ]+\[Negotiate\]\x00.*"], + ['http-url-parsed', ".*\/test\/realPath\.jsp.*"], + ['http-url-parsed', ".*\/test\/jsp\/buffer(1|2|3|4)\.jsp.*"], + ['http-url-parsed', ".*\/test\/jsp\/(comments|extends(1|2))\.jsp.*"], + ['http-url-parsed', ".*\/test\/jsp\/page(AutoFlush|Double|Extends|Import2|Info|Invalid|IsErrorPage|IsThreadSafe|Language|Session)\.jsp.*"], + ['http-url-parsed', ".*\/test\/jsp\/declaration\/IntegerOverflow\.jsp.*"], + ['http-url-parsed-param', ".*\/examples\/jsp\/source.jsp\?(\?|\/+.*\/+).*"], + ['ftp-banner', ".*WS_FTP Server ([0-3]|(4\.0\.[0-2])).*"], + ['ftp-banner', ".*Serv-U FTP Server v([0-4]|(5\.0(\.[0-5])?[^0-9])).*"], + ['ftp-banner', ".*Serv-U FTP-Server v([0-1]|(2\.[0-5])).*"], + ['ftp-banner', ".*Serv-U FTP Server v([0-3]|(4\.[0-1])).*"], + ['ftp-banner', ".*Serv-U FTP Server v([0-3]|(4\.[0-2])).*"], + ['ftp-banner', ".*WS_FTP Server ([0-4]|(5\.\0\.[0-3])).*"], + ['ftp-password', "\[(manager|public|private|default|security|1234qwer|123qwe|user|super|123456|000000|Internet|abcd|abc123|abc|1234567|123abc|88888888|password|asdfgh|computer|5201314|00000000|!@#$%^&*\(\)|654321|888888|123asd|11111|!@#$%^&\*|passwd|!@#$%^&\*\(|111111|asdf|sql|database|111|!@#$%|pass|!@#$|54321|server|!@#$%^|sybase|oracle|12345678|1|secret|test|11111111|admin|anyone|!@#$%^&)\]"], + ['stream', ".*([\000-\010]|[\013-\014]|[\016-\037]|[\0177-\0377]).*"], + ['ftp-command', ".*([\000-\010]|[\013-\014]|[\016-\037]|[\0177-\0377]).*"], + ['ftp-username', "anonymous|ftp"], + ['stream', ".*\[login incorrect\].*"], + ['stream', ".*\[not on system console\].*"], + ['stream', ".*\[guest account not allowed\].*"], + ['stream', ".*\[login failure\].*"], + ['stream', ".*\[server allows NTLM authentication \].*"], + ['stream', ".*\[login failed\].*"], + ['stream', ".*\[permission denied\].*"], + ['stream', ".*cat( |\x09)+\/etc\/passwd.*"], + ['stream', ".*halt( |\x09)*(\x0a|\x0d).*"], + ['packet', "\X AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA \X"], + ['stream', ".*\xaa..\x14\x48.....\x00\[L\x00o\x00g\x00i\x00n\x00 \x00f\x00a\x00i\x00l\x00e\x00d\].*"], + ['smtp-command-line', "(\[HELO\]|\[EHLO\]) \[localhost\]"], + ['smtp-data-text-plain', "\x58\x35\x4f\x21\x50\x25\x40\x41\x50\x5b\x34\x5c\x50\x5a\x58\x35\x34\x28\x50\x5e\x29\x37\x43\x43\x29\x37\x7d\x24\x45\x49\x43\x41\x52\x2d\x53\x54\x41\x4e\x44\x41\x52\x44\x2d\x41\x4e\x54\x49\x56\x49\x52\x55\x53\x2d\x54\x45\x53\x54\x2d\x46\x49\x4c\x45\x21\x24\x48\x2b\x48\x2a"], + ['packet', "\x45\x00\x32\x00.*"], + ['packet', ".*\X00 00 01 87 03 00 00 00\X.*"], + ['smb-connect-path', "\\\00?\\\00?.*\\\00?I\00?P\00?C\00?$\00?.*"], + ['pop3-user', "x#99999999"], + ['pop3-user', "root"], + ['http-url-parsed', "\/v[0-9][0-9][0-9]\/mainbar\/index.html.*"], + ['dns-type-name', "\x00\x01c3312\.z1301\.winmx\.com.*"], + ['dns-type-name', "\x00\x01\[test\].*\[\.winmx\.com\]"], + ['packet', "1"], + ['packet', "8.*"], + ['dns-type-name', "\x00\x01\[c\][0-9]+\[\.z\][0-9]+\[\.winmx\.com\]"], + ['http-header-user-agent', ".*\[DC\]\+\+.*"], + ['stream', ".*$Key [^\0174]*\0174$ValidateNick .*"], + ['http-url-parsed-param', "\[\/ver\/ver.php\?ver\]=[0-9]\.[0-9][0-9]\.[0-9]&\[app\]=[0-9][0-9].*"], + ['packet', "\xe3....\x16.*"], + ['packet', "\xe3....\x01.*"], + ['packet', "\xe3....\x19.*"], + ['packet', "\xe3....\x14.*"], + ['packet', "\xe3....\x15.*"], + ['packet', "\xe3\x96.*"], + ['packet', "\xe3\x97.*"], + ['http-header-user-agent', ".*\[Shareaza\].*"], + ['stream', ".*UserAgent: KazaaClient [^\010]*\r\nX-Kazaa-Username:.*"], + ['stream', ".*Server: KazaaClient.*X-Kazaa-Username:.*"], + ['packet', "\x27\x00\x00\x00\xa9\x80KaZaA\x00"], + ['stream', "GET \/.hash=([a-f]|[0-9])+.*KaZaA.*"], + ['stream', ".*\[BitTorrent protocol\].*"], + ['http-url-parsed-param', ".*\[announce\][^?]*\?[^ ]*\[info_hash\].*"], + ['http-url-parsed-param', ".*\[scrape\][^?]*\?[^ ]*\[info_hash\].*"], + ['packet', "\xe3\x0a.*"], + ['packet', "\xe3\x0b.*"], + ['packet', "\xe3\x0e.*"], + ['packet', "\xe3\x21.*"], + ['packet', "\xe3\x13.*"], + ['ssh-header', "SSH-1.5-OpenSSH-1.2.3"], + ['stream', ".*\.\[mp3\].*"], + ['stream', ".*\.\[mp3\].*"], + ['stream', ".*\.\[mp3\].*"], + ['stream', ".*\.\[mp3\].*"], + ['stream', ".*\.\[mp3\].*"], + ['stream', ".*\.\[mp3\].*"], + ['packet', ".*\x00\xcb\x00.*"], + ['packet', ".*\x00\xcb\x00.*"], + ['packet', ".\x00\x02\x00.*"], + ['packet', ".\x00\x02\x00.*"], + ['stream', ".*anon@napster.com.*"], + ['packet', ".\x00\x06\x00.*"], + ['packet', ".\x00\x06\x00.*"], + ['packet', ".\x00\x5f\x02.*"], + ['packet', ".\x00\x5f\x02.*"], + ['http-header-user-agent', ".*\[MLdonkey\].*"], + ['stream', ".*GNUTELLA OK.*"], + ['stream', "GNUTELLA CONNECT\/0\.[0-9].*"], + ['stream', ".*GNUTELLA\/0\.[0-9] 200 OK(\x0d)?\n.*"], + ['stream', ".*([\000-\010]|[\013-\014]|[\016-\037]|[\0177-\0377]).*"], + ['http-header-user-agent', "\[gator\].*"], + ['http-header-user-agent', ".*\[new\.net\].*"], + ['http-header-user-agent', ".*\[DA\] [1-9]\.[0-9].*"], + ['http-header', ".*Oracle9iAS-Web-Cache\/(9\.0\.(0\.4\.0|2\.3\.0|3\.1\.0|4\.0\.0)|2\.0\.0\.4\.0).*"], + ['stream', ".*ADMINISTRATOR.*"], + ['stream', ".*\[invalid login\].*"], + ['packet', "NQ.*"], + ['packet', "ST.*"], + ['packet', "ST.*"], + ['ftp-password', "cis@security\.check"], + ['http-url-parsed', "\[Nikto\]-[0-9][0-9]?\.[0-9][^\00]+\.\[htm\]"], + ['http-header-user-agent', ".*\(Nikto\/.*"], + ['http-url', ".*search%3f%22%27.*"], + ['stream', ".*\x00\x01\x00\x03\x00\x01\x00.*"], + ['packet', "> .*"], + ['packet', "> .*"], + ['packet', "> .*"], + ['stream', ".*cat \/etc\/passwd.*"], + ['packet', ".*cat \/etc\/passwd.*"], + ['stream', ".*\/usr\/(bin\/X11|X11R6\/bin)\/xterm.*"], + ['packet', ".*\/usr\/(bin\/X11|X11R6\/bin)\/xterm.*"], + ['packet', ".*\x2b\x06\x10\x40\x14\xd1\x02\x19.*"], + ['packet', ".*WHATISIT.*"], + ['stream', ".*cat( |\x09)*>( |\x09)*\/etc\/group.*"], + ['stream', ".*cat( |\x09)*>( |\x09)*\/etc\/inetd.conf.*"], + ['stream', ".*cat( |\x09)*>( |\x09)*\/etc\/passwd.*"], + ['stream', ".*cat( |\x09)*>>( |\x09)*\.rhosts"], + ['stream', ".*cat( |\x09)*>>( |\x09)*\/etc\/passwd.*"], + ['stream', ".*cd( |\x09)+\/bin\/\..*"], + ['stream', ".*cd( |\x09)+\/usr\/\..*"], + ['stream', ".*cd( |\x09)+\/var\/\..*"], + ['stream', ".*cd( |\x09)+\.\.\..*"], + ['stream', ".*id( |\x09)*\x0d.*"], + ['stream', ".*mkdir( |\x09)+\.\..*"], + ['stream', ".*nc .*"], + ['stream', ".*nmap .*"], + ['stream', ".*reboot.*"], + ['stream', ".*shutdown.*"], + ['stream', ".*strobe .*"], + ['stream', ".*su( |\x09)+bin( |\x09)*\x0d.*"], + ['stream', ".*su(( |\x09)+(root|-l root|- root|-))?( |\x09)*\x0d.*"], + ['stream', ".*telnet[^\015]+21( |\x09)*\x0d.*"], + ['stream', ".*telnet[^\015]+25( |\x09)*\x0d.*"], + ['stream', ".*telnet[^\015]+80( |\x09)*\x0d.*"], + ['stream', ".*vi( |\x09)+\/etc\/group( |\x09)*\x0d.*"], + ['stream', ".*vi( |\x09)+\/etc\/passwd( |\x09)*\x0d.*"], + ['stream', ".*xhost( |\x09)+.*"], + ['stream', ".*xhost( |\x09)+\+( |\x09)*\x0d.*"], + ['stream', ".*\[to su root\].*"], + ['telnet-user', "cisco"], + ['http-url-parsed', ".*conf\/httpd\.conf"], + ['http-url-parsed', ".*\[\/admin_files\].*"], + ['http-url-parsed-param', ".*\X20\X\/\[session\/adminlogin\]\?.*RCpage=\/\[sysadmin\]"], + ['http-url-parsed', ".*\[\/ax-admin\.cgi\]"], + ['http-url-parsed', ".*\[\/axs\.cgi\]"], + ['http-url-parsed', ".*\/\[bigconf\.cgi\]"], + ['http-url-parsed', ".*\[\/cgi-bin\/cachemgr\.cgi\]"], + ['http-url-parsed', ".*\/\[day5data(copier|notifier)\.cgi\].*"], + ['http-url-parsed', ".*\[\/environ\.cgi\]"], + ['http-url-parsed', ".*\/\[filemail\.pl\]"], + ['http-url-parsed', ".*\/\[finger(\.cgi|\.pl)?\]"], + ['http-url-parsed', ".*\/\[flexform(\.pl|\.cgi)?\]"], + ['http-url-parsed', ".*\[\/LWGate(\.cgi|\.pl)?\]"], + ['http-url-parsed', ".*\[\/man\.sh\]"], + ['http-url-parsed', ".*\[\/ministats\/admin\.cgi\]"], + ['http-url-parsed', ".*\/\[mmstdod\.cgi\]"], + ['http-url-parsed', ".*\/\[perlshop\.cgi\]"], + ['http-url-parsed', ".*\/\[post-query\]"], + ['http-url-parsed', ".*\[\/responder\.cgi\]"], + ['http-url-parsed', ".*\/\[search\.vts\]"], + ['http-url-parsed', ".*\[\/snork(erz)?\.(bat|cmd)\]"], + ['http-url-parsed', ".*\[\/store\.cgi\]"], + ['http-url-parsed', ".*\/\[textcounter\.pl\]"], + ['http-url-parsed', ".*\/\[uploader\.exe\]"], + ['http-url-parsed', ".*\/\[w3tvars\.pm\]"], + ['http-url-parsed', ".*\[\/webdriver\]"], + ['http-url-parsed', ".*\/\[web-map\.cgi\].*"], + ['http-url-parsed', ".*\/\[cgi-bin\/www-sql\].*"], + ['http-url-parsed', ".*\[\/cgi-bin\/MachineInfo\]"], + ['http-url-parsed', ".*\/\[wais\.pl\]"], + ['http-url-parsed', ".*\/admin\.pl.*"], + ['http-url-parsed', ".*\/edit\.pl"], + ['http-url-parsed', ".*\/files\.pl"], + ['http-url-parsed', ".*\/maillist\.pl"], + ['http-url-parsed', ".*\/rwwwshell\.pl"], + ['http-url-parsed', ".*\/upload\.pl"], + ['http-url-parsed', ".*\/wwwadmin\.pl.*"], + ['http-url-parsed', ".*\[\/cfappman\/(index\.cfm)?\].*"], + ['http-url-parsed', ".*\/\[cfdocs\/cfmlsyntaxcheck\.cfm\].*"], + ['http-url-parsed', ".*\[\/cfdocs\/exampleapp\/\].*"], + ['http-url-parsed', ".*\[\/cfdocs\/examples\/\].*"], + ['http-url-parsed', ".*\[\/cfdocs\/snippets\/\].*"], + ['http-url-parsed', ".*\[\/cfide\/administrator\/startstop\.html\].*"], + ['http-url-parsed-param', ".*\?\[DeleteDocument\].*"], + ['http-url-parsed-param', ".*\?\[EditDocument\].*"], + ['http-url-parsed', ".*\[\/(catalog|domcfg|domlog|names|log)\.nsf\].*"], + ['http-url-parsed', ".*\[\/_vti_(bin|pvt)\/\].*"], + ['http-url-parsed', ".*\[\/cfgwiz\.exe\].*"], + ['http-url-parsed', ".*\[\/admcgi\/contents\.htm\].*"], + ['http-url-parsed', ".*\[\/scripts\/Fpadmcgi\.exe\].*"], + ['http-url-parsed', ".*\[admisapi\/fpadmin\.htm\].*"], + ['http-url-parsed', ".*\[\/fp(remadm|srvadm)\.exe\].*"], + ['http-url-parsed', ".*\[\/author\.dll\].*"], + ['http-url-parsed', ".*\[\/msdac\/\].*"], + ['http-url-parsed', ".*\[\/scripts\/proxy\/w3proxy\.dll\].*"], + ['http-url-parsed', ".*\[\.cnf\].*"], + ['http-url-parsed', ".*\[\/_mem_bin\/\].*"], + ['http-url-parsed', "\[\/msadc\/samples\/adctest\.asp\].*"], + ['http-url-parsed', ".*\[\/Form_JScript\.asp\].*"], + ['http-url-parsed', ".*\[\/scripts\/cpshost\.dll\].*"], + ['http-url-parsed-param', ".*\[&del \/s c:\/\].*"], + ['http-url-parsed', ".*\[\/ServerVariables_Jscript\.asp\].*"], + ['http-url-parsed-param', ".*\[\/scripts\/tools\/getdrvr?s\.exe\].*"], + ['http-url-parsed', ".*\[global\.asa\].*"], + ['http-url-parsed', ".*\[\/scripts\/perl\].*"], + ['http-url-parsed', ".*\/scripts\/postinfo\.asp.*"], + ['http-url-parsed', ".*\/samples\/search\/queryhit\.htm.*"], + ['http-url-parsed', ".*\[readme\.eml\].*"], + ['http-url-parsed', ".*\[\/scripts\/repost\.asp\].*"], + ['http-url-parsed', ".*\/scripts\/\X20\X.*"], + ['http-url-parsed', ".*\[\/SiteServer\/Publishing\/viewcode\.asp\].*"], + ['http-url-parsed', ".*\[\/Sites\/(Samples\/)?Knowledge\/Membership\/Inspired(tutorial)?\/ViewCode\.asp\].*"], + ['http-url-parsed', ".*\[\/Sites\/Samples\/Knowledge\/(Push|Search)\/ViewCode\.asp\].*"], + ['http-url-parsed', ".*\[\/site\/iisamples\].*"], + ['http-url-parsed', ".*\[\/srchadm\].*"], + ['http-url-parsed', ".*\[\/samples\/isapi\/srch\.htm\].*"], + ['http-url-parsed', ".*\[\/SWEditServlet\].*"], + ['http-url-parsed', ".*\[\/viewcode\.asp\].*"], + ['http-url-parsed', ".*\[\/scripts\/((samples\/search)|srchadm)\/webhits\.exe\].*"], + ['http-url-parsed', ".*\/backup(\/.*)?"], + ['http-url-parsed', ".*\[\/intranet\/\].*"], + ['http-url-parsed', ".*\/htgrep.*"], + ['http-url-parsed-param', ".*\[\/\?PageServices\].*"], + ['http-url-parsed', ".*\/nph-publish"], + ['http-request', "\[GETPROPERTIES\]\X20\X.*"], + ['http-url-parsed-param', ".*\[\/PSUser\/PSCOErrPage\.htm\?\].*"], + ['http-url-parsed-param', ".*\/dsgw\/bin\/search\?.*context=.*"], + ['http-url-parsed', ".*\[\/cgi-dos\/args\.bat\].*"], + ['http-url-parsed-param', ".*\/ping\?.*query=.*"], + ['http-url-parsed', ".*\/ews\/architext_query\.pl.*"], + ['http-url-parsed', ".*\[\/dcforum\.cgi\]"], + ['http-url-parsed', ".*\[\/sendform\.cgi\]"], + ['http-url-parsed', ".*\[\/sendmessage\.cgi\]"], + ['http-header', ".*User-Agent: Webtrends Security Analyzer.*"], + ['http-url-parsed-param', ".*\?.*\[PHP_AUTH_USER=boogieman\].*"], + ['http-url-parsed', ".*\/code\.php3.*"], + ['http-url-parsed', ".*\/violation\.php3.*"], + ['line', ".*\[directory listing of\].*"], + ['http-url-parsed', ".*\[\/contextAdmin\/contextAdmin\.html\].*"], + ['http-url-parsed-param', ".*\/bin\/ls.*"], + ['http-url-parsed-param', ".*\/bin\/ls.*\|.*"], + ['http-url-parsed-param', ".*\/bin\/ps.*"], + ['http-url-parsed-param', ".*\/bin\/bash.*"], + ['http-url-parsed-param', ".*\/bin\/cc.*"], + ['http-url-parsed-param', ".*\/bin\/chgrp.*"], + ['http-url-parsed-param', ".*\/bin\/chmod.*"], + ['http-url-parsed-param', ".*\/bin\/chown.*"], + ['http-url-parsed-param', ".*\/bin\/chsh.*"], + ['http-url-parsed-param', ".*\/bin\/cpp.*"], + ['http-url-parsed-param', ".*\/bin\/csh.*"], + ['http-url-parsed-param', ".*\/bin\/echo.*"], + ['http-url-parsed-param', ".*\/bin\/g\+\+.*"], + ['http-url-parsed-param', ".*\/bin\/gcc.*"], + ['http-url-parsed-param', ".*\/s?bin\/id((\040|%20|>|\|).*)?"], + ['http-url-parsed', ".*\/~root(\/.*)?"], + ['http-url-parsed-param', ".*\/etc\/inetd\.conf.*"], + ['http-url-parsed-param', ".*\/etc\/motd.*"], + ['http-url-parsed-param', ".*\/etc\/shadow.*"], + ['http-url-parsed', ".*\/args\.bat.*"], + ['http-url-parsed', ".*\/args\.cmd.*"], + ['http-url-parsed-param', ".*\[cd\]\X20\X\.\."], + ['http-url-parsed-param', ".*\[tftp\.exe\].*"], + ['http-url-parsed-param', ".*\[nc\.exe\].*"], + ['http-url-parsed-param', ".*\[net localgroup administrators \/add\].*"], + ['http-url-parsed-param', ".*\[perl\.exe\].*"], + ['http-url-parsed', ".*\[rcmd\.exe\].*"], + ['http-url-parsed-param', ".*\[telnet\.exe\].*"], + ['http-url-parsed-param', ".*\[\/ws_ftp\.ini\].*"], + ['http-url-parsed-param', ".*\[wsh\.exe\].*"], + ['http-url-parsed', "\[\/cybercop\].*"], + ['http-url', ".*\/nessus_is_probing_you_"], + ['http-url-parsed', ".*\/(b?a|k|ch?|z|tc|rk?|pdk|sa|ad)?sh"], + ['http-url-parsed', "\/\[scripts\/samples\/search\]\/[^\00]+\.(idq|exe)"], + ['http-url-parsed', ".*\/\[newdsn\.exe\]"], + ['http-url-parsed', ".*\.\[htw\]"], + ['http-url-parsed', ".*\/(r|w)\[guest\.exe\]"], + ['http-url-parsed', ".*\/\[alibaba\.pl\]"], + ['http-url-parsed', ".*\/\[FormHandler\.cgi\]"], + ['http-url-parsed', ".*\/\[test\.cgi\]"], + ['http-header-user-agent', "VoidEYE CGI security scanner"], + ['http-url-parsed', ".*\/\[win-c-sample\.exe\]"], + ['http-url-parsed', ".*\/\[search97\.vts\]"], + ['ftp-command', "\[mkd\]"], + ['line', "MKD \..*"], + ['packet', "\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e\x2e.*"], + ['http-url-parsed', ".*\[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\.cfm\].*"], + ['packet', ".*\x0Ahelp\x0Aquit\x0A.*"], + ['packet', "............\x01.*"], + ['packet', "....\xFF\xFF.*"], + ['stream', ".*YMSG..\x00\x00..\x00\x06.*"], + ['stream', ".*\[nick\].*"], + ['stream', "YMSG..\x00\x00\x00..(W|L).*"], + ['msn-message', ".*text\/plain.*"], + ['packet', "VER [0-9]+ (MSNP[0-9]+ )+CVR0\015\012"], + ['packet', "CAL [0-9]+ .*"], + ['packet', "RNG [0-9]+ ([0-9]+\.)+[0-9]+:1863 CKI.*"], + ['stream', ".*\x2a\x02....\x00\x01\x00\x02.*"], + ['stream', ".*\x2a\x02....\x00\x01\x00\x03.*"], + ['stream', ".*\x2a\x02....\x00\x04\x00\x06.*"], + ['stream', ".*\x2a\x02....\x00\x04\x00\x07.*"], + ['stream', ".*\x2a\x04..\x00\x00.*"], + ['stream', "OFT2.*OFT_Windows ICBMFT V1.1 32.*"], + ['stream', ".*Server: AIM HTTP\/1\.0 \(aim_http_proxy\)\x0d\x0a.*"], + ['packet', "\x00\x01.*"], + ['line', "550 .*\[user unknown\].*"], + ['smtp-banner', ".*MERCUR SMTP-Server \(v([0-2]|(3\.[0-2])).*"], + ['smtp-banner', ".*MERCUR SMTP-Server \(v((3\.([3-9]|([0-2][0-9])))|(4\.[0-2][^0-9])).*"], + ['smtp-banner', ".*CMailServer ([0-4]|5\.([0-1]|2)[^0-9]).*"], + ['smtp-command-line', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['smtp-from', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['smtp-rcpt', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['stream', "\[quit\].*"], + ['smtp-mime-content-name', ".*\.\[zip\]"], + ['smtp-mime-content-filename', ".*\.\[(w|e)mf\]"], + ['smtp-mime-content-filename', ".*\.\[zip\]"], + ['smtp-mime-content-filename', ".*\.\[hta\]"], + ['smb-calling-name', "\[localhost\]\x20\x20\x20\x20\x20\x20\x20"], + ['smb-open-filename', ".*\.\000?\[z\000?i\000?p\000?\]"], + ['stream', ".*ftp:.*"], + ['stream', ".*\x07\x61\x75\x74\x68\x6f\x72\x73\x04\x62\x69\x6e\x64\x00\x00\x10\x00\x03.*"], + ['packet', ".*\x07\[version\]\x04\[bind\]\x00.*"], + ['packet', "Server is online"], + ['stream', "(get[A-z]+|scrnsav).*"], + ['packet', "[A-z]:\\.*"], + ['http-status', "Desconectado Web Serve CT.*"], + ['stream', ".*@.*@.*"], + ['finger-user', "search.*"], + ['stream', ".*([\000-\010]|[\013-\014]|[\016-\037]|[\0177-\0377]).*"], + ['finger-user', ".*([\000-\010]|[\013-\014]|[\016-\037]|[\0177-\0377]).*"], + ['packet', "\x00\x00\x07\xa2\x08\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"], + ['http-request', "PROPFIND \/.*"], + ['http-request', "HEAD \/~root.*"], + ['http-request', "(GET|POST) \/\/ HTTP\/1\.0"], + ['http-request', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-header', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-header-accept', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-header-content-encoding', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-header-content-language', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-header-content-location', ".*([\000-\010]|[\013-\014]|[\016-\032]|[\034-\037]|[\0177-\0377]).*"], + ['http-url-parsed-param', ".*%1u%1u.*"], + ['http-url', "([\001-\045]|[\047-\076]|[\0100-\0377])*\[%2Easp\].*"], + ['http-url-parsed', "\[\/scripts\/iisadmin\].*"], + ['http-url-parsed-param', "\/\[iissamples\]\/[^\077]*\/\[codebrws\.asp\]\?[^\000]*\[source=\].*"], + ['http-url-parsed', ".*\[\/bdir\.htr\].*"], + ['http-url-parsed-param', "\/\[ms(adc|dac)\/Samples\/SELECTOR\/showcode\.asp\]\?[^ ]*\[source\]=.*"], + ['http-url-parsed-param', ".*\[#filename=(\"|')?\.(asp|exe)(\"|')?\].*"], + ['http-header', ".*\[xp_enumdsn\].*"], + ['http-url-parsed', ".*\[\/search\/(advsearch|query|search)\.asp\].*"], + ['http-url-parsed', ".*\[xp_filelist\].*"], + ['http-url-parsed-param', ".*\.\[htw\?.*CiWebHitsFile=\][^&]+\.\[asp\].*"], + ['http-url-parsed', ".*(\x20)+\.\[htr\].*"], + ['http-header', ".*\[xp_regread\].*"], + ['http-url-parsed', ".*\/\[_vti_bin\/_vti_aut\/fp30reg.dll?.*\].*"], + ['http-url-parsed-param', "\[\/iissamples\/sdk\/asp\/docs\/CodeBrws\.asp\?.*Source=\].*"], + ['http-url-parsed-param', ".*\/\[iissamples\]\/.*"], + ['http-header', "\[Translate: *f\]"], + ['http-url-parsed-param', "\/xxxiischeckxxx"], + ['http-url-parsed', "\[\/msadc\/msadcs.dll\]"], + ['http-url-parsed-param', ".*\/\[SQLQHit\.asp\?CiColumns\]=\*&CiScope=(webinfo|extended_fileinfo|extended_webinfo|fileinfo).*"], + ['http-url-parsed-param', "\/\[level\]\/(1[6-9]|[2-9][0-9])\/\[exec\]\/.*"], + ['http-url-parsed', ".*\[\/_vti_pvt\/(authors|users)\.pwd\].*"], + ['http-url-parsed', ".*\[\/_private\/(orders|register|registrations|form_results)\.(htm|txt)\].*"], + ['http-url-parsed', ".*\[\/_vti_bin\/shtml\.(dll|exe)\/.*\.(html|htm|asp|shtml)\].*"], + ['http-url-parsed-param', ".*\/etc\/passwd.*"], + ['http-url-parsed-param', ".*\/etc\/hosts\.allow.*"], + ['http-url-parsed', ".*\/\.nsconfig"], + ['http-url', "((\\|%5\[c\])+)?\[cgi-bin\].*"], + ['http-url-parsed', "\[\/portal\/diag\]\/?"], + ['http-url-parsed-param', ".*\[win\.ini\].*"], + ['http-url-parsed', ".*\/\[chat\]\/!(\[pwds\]|\[nicks\])\.\[txt\]"], + ['http-url-parsed-param', ".*\/\[cutenews\]\/\[index\.php\]\?\[debug\]"], + ['http-url-parsed', ".*\.\[chm\]"], + ['http-request', "\[INDEX\] \/ HTTP\/1\.0.*"], + ['http-url-parsed-param', ".*\/\?wp-verify-link"], + ['http-url-parsed-param', ".*\/\?wp-cs-dump"], + ['http-url-parsed-param', ".*\/\?wp-ver-info"], + ['http-url-parsed-param', ".*\/\?wp-ver-diff"], + ['http-url-parsed-param', ".*\/\?wp-start-ver"], + ['http-url-parsed-param', ".*\/\?wp-stop-ver"], + ['http-url-parsed-param', ".*\/\?wp-uncheckout"], + ['http-url-parsed-param', ".*\/\?wp-html-rend"], + ['http-url-parsed-param', ".*\/\?wp-usr-prop"], + ['stream', ".*GET \/%3CSCRIPT%3Ealert%28document%3EURL%29%3C\/SCRIPT%3E\/.*"], + ['http-header-referer', ".*<\/?\[(SCRIPT|OBJECT|APPLET|EMBED|FORM|IFRAME|META)\][^>]*>.*"], + ['http-url-parsed-param', ".*\[compte\.php\?achat=1&valider=1&identifiant='%20OR%20''='&password='%20OR%20\]''='.*"], + ['http-url-parsed', ".*\/(config|orders)\/(check|import)\.txt"], + ['http-url-parsed-param', "\/*\[\/carbo\.dll\?.*icatcommand=\/?\.\.\/\]"], + ['http-url-parsed-param', ".*\?\?\?\?\?\?\?.*"], + ['http-url-parsed', ".*\[\.html\/\.\.\.\.\.\.\].*"], + ['http-url-parsed-param', ".*\[tuxadm\.exe\]\?[^\012]*INIFILE=.*"], + ['http-url-parsed-param', ".*\[\/webplus\.exe\?about\].*"], + ['http-url-parsed-param', ".*\[\/webplus\.exe\?.*script=\][^&]+\.\[wml::\$DATA\].*"], + ['http-url-parsed', ".*\[\/cfide\/administrator\/(index.cfm)?\].*"], + ['http-url-parsed', ".*\/\[application\.cfm\].*"], + ['http-url-parsed', ".*\[\/cfcache\.map\].*"], + ['http-url-parsed-param', ".*\/\[getfile\.cfm\?.*FilePath=([a-z]:|\/?\.\.\/)\].*"], + ['http-url-parsed', ".*\/\[onrequestend\.cfm\].*"], + ['http-url-parsed', ".*\[;\.jsp\]"], + ['http-text-html', ".*body {.*font-size: [1-9][0-9][0-9][0-9][0-9][0-9][0-9]px;.*}.*"], + ['stream', ".*\x46\x57\x53\x04\x4e\x00\x00\x00\x78\x00\x05\x5f\x00\x00\x0f\xa0\x00\x00\x0c\x01\x00\x43\x02\xff\xff\xff\xa7\x00\x01\x00\x70\x7d\x09\xc4\x07\xd0\x9c\x40\x01\x00\xff\x00\x00\x01\x14\x00\x00\x00\x00\x11\x35\xc9\xc4\x07\xd1\xf6\xbe\x83\xb2\x0c\x1d\xb0\x60\xec.*"], + ['http-text-html', ".*"], + ['stream', "\x4f\x4b\x0d\x0a\x0d\x0a\x39\x2e\x39\x39\x0d\x0a\x0d\x0a.*"], + ['http-text-html', ".*<\[img\][^>]*\[width\][ ]*=[ ]*('|\")?[2-3][0-9][0-9][0-9][0-9]('|\")*[^<]*\[height\][ ]*=[ ]*('|\")?[1-9][0-9][0-9][0-9][0-9][0-9]+.*"], + ['http-text-html', ".*<\[IMG\][^>]+\[src\]( |\x09|\x0A)*=( |\x09|\x0A)*(\"|')?( |\x09|\x0A)*::(\"|')?[^>]+onError( |\x09|\x0A)*=( |\x09|\x0A)*(\"|')?( |\x09|\x0A)*this\.src=('|\")?::('|\")?;('|\")?[^>]*>.*"], + ['http-text-html', ".*\[