I just posted a new article up on CodeProject, talking about the Win32 Cryptography Next Generation API (CNG) with a detour into C++ template programming involving the new concepts feature that was introduced with C++20. https://www.codeproject.com/Articles/5340250/Using-the-Win32-cryptographic-api-to-hash-data
windows
New article on Win32 Transactions
I just posted a new article online about using Win32 transactions for registry updates in a real-world scenario. You can check it out here.
Deleting your part of the registry
Something I learned recently after making a copy / paste error: If you execute RegDeleteTree on HKEY_CURRENT_USER, there is no safeguard and as soon as you log off and the last reference to its subkeys are released, you won't be logging on to that account again 🙂 That's all.
Site name change
I finally found a good name for my site. Life has taken me in many directions: passionate C++ developer, Japanese language student, Bladesmith, Active Directory admin, and many others. Recently I've been pulled back strongly in the direction of platform development involving COM, win32, and C++. And that's when it hit me. In COM programming, … Continue reading Site name change
Configuration options for the Local Security Authority
Windows allows a large amount of security settings to be configured, either through Group Policy, or Local Security Policy: With improved focus on cyber security in the entier ICT industry there may be a requirement to tighten these settings. This can be tricky. It's one thing to implement a high security scheme when you start … Continue reading Configuration options for the Local Security Authority
Alternate computernames
One of the neat little things that ahs been around for a while is that computers in a Windows network can have multiple names. This is especially convenient when dealing with lifecycle management, where clients may be configured to use fixed names. Even if you could change that manually at the client level, that could … Continue reading Alternate computernames
Redirecting the default Users and Computers containers
I mentioned earlier that I prefer to not define policies at the domain root level unless they need to apply to everything in the domain, which means applying them at OU level. The problem is that by default, newly created users or computers are not in an OU but in the default users or computers … Continue reading Redirecting the default Users and Computers containers
Remote query of priviliges for local principals
As part of investigations, you may need to query which privilege is held by a local principal, such as a local user or group. There is of course 'whoami' which tells you everything you need to know when logged in on a given system. And there is the ProcessExplorer utility which is incredibly powerful, and … Continue reading Remote query of priviliges for local principals
Cannot connect to SQL Server
In dealing with a hardened SQL Server, connecting may be problematic. The general idea in hardening any piece of software is basically to decrease its outside surface as much as possible while still allowing the minimum required surface. And if you are trying to interface with a SQL Server that the vendor didn't intend for … Continue reading Cannot connect to SQL Server
Local Security Policy not showing up in GPRESULT
I was double checking some security settings on one of our systems. I could trace back everything to group membership and Group Policy, except for one thing. There was a 'SeImpersonatePrivilege' in a user token (verified via ProcessExplorer) yet it was nowhere to be found. Normally this is the sort of thing you'd find via … Continue reading Local Security Policy not showing up in GPRESULT