diff --git a/nselib/drda.lua b/nselib/drda.lua index 2e560c8dc..f8b1eae9c 100644 --- a/nselib/drda.lua +++ b/nselib/drda.lua @@ -610,7 +610,7 @@ Helper = { local drda_accrdb = Command.ACCRDB( database, string.char(0x24,0x07), "DNC10060", nil, "QTDSQLASC", crrtkn, tdovr) status, packet = self.comm:exchDRDAPacket( DRDAPacket:new( { drda_excsat, drda_accsec } ) ) - if( not(status) ) then return false, "ERROR: Login failed" end + if( not(status) ) then return false, packet end if ( packet:getDRDAByCodePoint( CodePoint.RDBNFNRM ) or packet:getDRDAByCodePoint( CodePoint.RDBAFLRM ) ) then diff --git a/scripts/drda-brute.nse b/scripts/drda-brute.nse index fd55ff2d5..cae09e37e 100644 --- a/scripts/drda-brute.nse +++ b/scripts/drda-brute.nse @@ -31,7 +31,7 @@ require "unpwdb" -- Revised 05/10/2010 - v0.3 - revised parallellised design -- Revised 08/14/2010 - v0.4 - renamed script and library from db2* to drda* -portrule = shortport.port_or_service({50000,60000}, "drda", "tcp", {"open", "open|filtered"}) +portrule = shortport.port_or_service({50000,60000}, {"drda","ibm-db2"}, "tcp", {"open", "open|filtered"}) --- Credential iterator -- @@ -100,10 +100,10 @@ isValidDb = function( host, port, database ) status, response = helper:login( database, "dbnameprobe1234", "dbnameprobe1234" ) helper:close() - if ( not(status) and response:match("Database not found") ) then - return false + if ( not(status) and response:match("Login failed") ) then + return true end - return true + return false end --- Returns the amount of currenlty active threads diff --git a/scripts/drda-info.nse b/scripts/drda-info.nse index 1302d1bcc..1b2f47dc4 100644 --- a/scripts/drda-info.nse +++ b/scripts/drda-info.nse @@ -31,7 +31,7 @@ require "drda" -- portrule = shortport.version_port_or_service({50000,60000,9090,1526,1527}, - {"drda"}, "tcp", + {"drda","ibm-db2"}, "tcp", {"open", "open|filtered"}) --- Converts the prodrel server string to a version string diff --git a/scripts/script.db b/scripts/script.db index a3f16ae78..929795388 100644 --- a/scripts/script.db +++ b/scripts/script.db @@ -15,9 +15,7 @@ Entry { filename = "couchdb-databases.nse", categories = { "discovery", "safe", Entry { filename = "couchdb-stats.nse", categories = { "discovery", "safe", } } Entry { filename = "daap-get-library.nse", categories = { "discovery", "safe", } } Entry { filename = "daytime.nse", categories = { "discovery", "safe", } } -Entry { filename = "db2-brute.nse", categories = { "auth", "intrusive", } } Entry { filename = "db2-das-info.nse", categories = { "discovery", "safe", "version", } } -Entry { filename = "db2-info.nse", categories = { "discovery", "safe", "version", } } Entry { filename = "dhcp-discover.nse", categories = { "default", "discovery", "intrusive", } } Entry { filename = "dns-cache-snoop.nse", categories = { "discovery", "intrusive", } } Entry { filename = "dns-fuzz.nse", categories = { "fuzzer", "intrusive", } } @@ -26,6 +24,8 @@ Entry { filename = "dns-random-txid.nse", categories = { "external", "intrusive" Entry { filename = "dns-recursion.nse", categories = { "default", "intrusive", } } Entry { filename = "dns-service-discovery.nse", categories = { "default", "discovery", "safe", } } Entry { filename = "dns-zone-transfer.nse", categories = { "default", "discovery", "intrusive", } } +Entry { filename = "drda-brute.nse", categories = { "auth", "intrusive", } } +Entry { filename = "drda-info.nse", categories = { "discovery", "safe", "version", } } Entry { filename = "finger.nse", categories = { "default", "discovery", "safe", } } Entry { filename = "ftp-anon.nse", categories = { "auth", "default", "safe", } } Entry { filename = "ftp-bounce.nse", categories = { "default", "intrusive", } }