SharpUp was updated (Red-teaming Active Directory Lab #2 (ELS.BANK))

Maybe the following is for someone of help

SharpUp was updated on 2021-09-13

The old version can be found here:

git checkout 0b3f09f

Nevertheless it is developed against .net framework version 3.5 which is missing at workstation01
It is possible though to switch the version to 4.0 and compile successfully
This version is installed at the target (dir %windir%\Microsoft.Net\Framework)

Furthermore I needed to create a SharpUp/app.config

SharpUp/app.config 
<?xml version="1.0" encoding="utf-8"?>
<configuration>
        <startup>

        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

In order to get a similar verbose outpu as in the old version
ModifiableServices.cs can be adapted

                                        _details.Add($"Service '{result["Name"]}' (State: {result["State"]}, StartMode: {result["StartMode"]})");
// added information line 93
                                        _details.Add($"Path: '{result["PathName"]}'");
                                        _details.Add($"DisplayName: '{result["DisplayName"]}'");
                                        _details.Add($"Description: '{result["Description"]}'");

Example output

=== Modifiable Services ===
        [X] Exception: Exception has been thrown by the target of an invocation.
        [X] Exception: Exception has been thrown by the target of an invocation.
        [X] Exception: Exception has been thrown by the target of an invocation.
        [X] Exception: Exception has been thrown by the target of an invocation.
        [X] Exception: Exception has been thrown by the target of an invocation.
        Service 'Service KMSELDI' (State: Running, StartMode: Auto)
        Path: 'C:\Program Files\KMSpico\Service_KMS.exe'
        DisplayName: 'Service KMSELDI'
        Description: ''

NB: The exception occurs in
IntPtr handle = (IntPtr)GetServiceHandle.Invoke(sc, readRights);
And are access denied results

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Cannot open LSM service on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at SharpUp.Checks.ModifiableServices..ctor()

PS: its now SharpUp.exe audit