Skip to content

Commit f6fdabf

Browse files
committed
Land rapid7#6239, added Session info display to module output
MS-706
2 parents f0da090 + a1ab8f1 commit f6fdabf

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

lib/msf/core/post_mixin.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ def session
8282
@session
8383
end
8484

85+
def session_display_info
86+
"Session: #{session.sid} (#{session.session_host})"
87+
end
88+
8589
alias :client :session
8690

8791
#

modules/post/windows/manage/mssql_local_auth_bypass.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def run
4747
instance = datastore['INSTANCE'].to_s
4848

4949
# Display target
50-
print_status("Running module against #{sysinfo['Computer']}")
50+
print_status("#{session_display_info}: Running module against #{sysinfo['Computer']}")
5151

5252
# Identify available native SQL client
5353
get_sql_client
@@ -60,7 +60,7 @@ def run
6060
service = check_for_sqlserver(instance)
6161
fail_with(Failure::Unknown, 'Unable to identify MSSQL Service') unless service
6262

63-
print_status("Identified service '#{service[:display]}', PID: #{service[:pid]}")
63+
print_status("#{session_display_info}: Identified service '#{service[:display]}', PID: #{service[:pid]}")
6464
instance_name = service[:display].gsub('SQL Server (','').gsub(')','').lstrip.rstrip
6565

6666
if datastore['REMOVE_LOGIN']
@@ -109,41 +109,41 @@ def remove_login(service, instance_name)
109109
end
110110

111111
def add_sql_login(dbuser, dbpass, instance)
112-
print_status("Attempting to add new login \"#{dbuser}\"...")
112+
print_status("#{session_display_info}: Attempting to add new login \"#{dbuser}\"...")
113113
query = mssql_sa_escalation(username: dbuser, password: dbpass)
114114

115115
# Get Data
116116
add_login_result = run_sql(query, instance)
117117

118118
case add_login_result
119119
when '', /new login created/i
120-
print_good("Successfully added login \"#{dbuser}\" with password \"#{dbpass}\"")
120+
print_good("#{session_display_info}: Successfully added login \"#{dbuser}\" with password \"#{dbpass}\"")
121121
return true
122122
when /already exists/i
123123
fail_with(Failure::BadConfig, "Unable to add login #{dbuser}, user already exists")
124124
when /password validation failed/i
125125
fail_with(Failure::BadConfig, "Unable to add login #{dbuser}, password does not meet complexity requirements")
126126
else
127-
print_error("Unable to add login #{dbuser}")
128-
print_error("Database Error:\n #{add_login_result}")
127+
print_error("#{session_display_info}: Unable to add login #{dbuser}")
128+
print_error("#{session_display_info}: Database Error:\n #{add_login_result}")
129129
return false
130130
end
131131
end
132132

133133
def remove_sql_login(dbuser, instance_name)
134-
print_status("Attempting to remove login \"#{dbuser}\"")
134+
print_status("#{session_display_info}: Attempting to remove login \"#{dbuser}\"")
135135
query = "sp_droplogin '#{dbuser}'"
136136

137137
remove_login_result = run_sql(query, instance_name)
138138

139139
# Display result
140140
if remove_login_result.empty?
141-
print_good("Successfully removed login \"#{dbuser}\"")
141+
print_good("#{session_display_info}: Successfully removed login \"#{dbuser}\"")
142142
return true
143143
else
144144
# Fail
145-
print_error("Unabled to remove login #{dbuser}")
146-
print_error("Database Error:\n\n #{remove_login_result}")
145+
print_error("#{session_display_info}: Unabled to remove login #{dbuser}")
146+
print_error("#{session_display_info}: Database Error:\n\n #{remove_login_result}")
147147
return false
148148
end
149149
end

0 commit comments

Comments
 (0)