@@ -960,33 +960,44 @@ sub enum_users_rids {
960
960
}
961
961
962
962
sub enum_users {
963
+ my @rids ;
964
+ my @rids2 ;
965
+
963
966
print_heading(" Users on $global_target " );
964
967
my $command = " rpcclient -W '$global_workgroup ' -c querydispinfo -U'$global_username '\% '$global_password ' '$global_target ' 2>&1" ;
965
968
print_verbose(" Attempting to get userlist with command: $command \n " ) if $verbose ;
966
969
my $users = ` $command ` ;
967
- my $continue = 1;
968
- if ($users =~ / NT_STATUS_ACCESS_DENIED/ ) {
969
- print_error(" Couldn't find users using querydispinfo: NT_STATUS_ACCESS_DENIED\n " );
970
+ if ($users ne " " ) {
971
+ my $continue = 1;
972
+ if ($users =~ / NT_STATUS_ACCESS_DENIED/ ) {
973
+ print_error(" Couldn't find users using querydispinfo: NT_STATUS_ACCESS_DENIED\n " );
974
+ } else {
975
+ ($users ) = $users =~ / (index:.*)/s ;
976
+ print $users ;
977
+ $continue = 0;
978
+ }
979
+ my @rids_hex = $users =~ / RID:\s +0x([a-fA-f0-9]+)\s /gs ;
980
+ @rids = map { hex ($_ ) } @rids_hex ;
970
981
} else {
971
- ($users ) = $users =~ / (index:.*)/s ;
972
- print $users ;
973
- $continue = 0;
974
- }
975
- my @rids_hex = $users =~ / RID:\s +0x([a-fA-f0-9]+)\s /gs ;
976
- my @rids = map { hex ($_ ) } @rids_hex ;
982
+ print_error(" No response using rpcclient querydispinfo\n " );
983
+ }
977
984
978
985
print " \n " ;
979
986
$command = " rpcclient -W '$global_workgroup ' -c enumdomusers -U'$global_username '\% '$global_password ' '$global_target ' 2>&1" ;
980
987
print_verbose(" Attempting to get userlist with command: $command \n " ) if $verbose ;
981
988
$users = ` $command ` ;
982
- if ($users =~ / NT_STATUS_ACCESS_DENIED/ ) {
983
- print_error(" Couldn't find users using enumdomusers: NT_STATUS_ACCESS_DENIED\n " );
989
+ if ($users ne " " ) {
990
+ if ($users =~ / NT_STATUS_ACCESS_DENIED/ ) {
991
+ print_error(" Couldn't find users using enumdomusers: NT_STATUS_ACCESS_DENIED\n " );
992
+ } else {
993
+ ($users ) = $users =~ / (user:.*)/s ;
994
+ print $users ;
995
+ }
996
+ my @rids_hex2 = $users =~ / rid:\[ 0x([A-Fa-f0-9]+)\] /gs ;
997
+ @rids2 = map { hex ($_ ) } @rids_hex2 ;
984
998
} else {
985
- ($users ) = $users =~ / (user:.*)/s ;
986
- print $users ;
987
- }
988
- my @rids_hex2 = $users =~ / rid:\[ 0x([A-Fa-f0-9]+)\] /gs ;
989
- my @rids2 = map { hex ($_ ) } @rids_hex2 ;
999
+ print_error(" No response using rpcclient enumdomusers\n " );
1000
+ }
990
1001
991
1002
my %rids ;
992
1003
foreach my $rid (@rids , @rids2 ) {
0 commit comments