Category Archives: programming

Decrypting Wireless Passwords on Windows

Introduction We shall only focus on versions of Windows from Vista up to 10 since the location of wireless credentials prior to this are stored in the registry. Enumerate Interfaces C:\>reg query HKLM\SOFTWARE\Microsoft\Wlansvc\Interfaces HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{012C8D7D-D104-47F8-83FE-B9751F699A2F} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{12487653-A815-4A9D-84E1-736D96554215} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{13ECC539-1C25-4036-9615-D85A5D1B47CE} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{295A80EE-8DC0-465F-ACF2-70DA1F036948} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{3306C2A4-E4A5-42B3-A087-67EB542F0EC0} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{40F69FB8-F23A-433E-94D9-D3983F220874} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wlansvc\Interfaces\{66BA1985-E08C-4F57-9E36-2C229EB1BFCE} … Continue reading

Posted in crypto api, networking, programming, security, windows, wireless | Leave a comment

RSA Key Exchange with Windows Crypto API and OpenSSL Part 1

Introduction Microsoft Crypto API (CAPI) was first released with the Windows NT4 operating system in 1996. The OpenSSL project, which was originally a fork of SSLeay by Eric Young and Tim Hudson, was initiated in 1998 and has since become … Continue reading

Posted in crypto api, cryptography, openssl, programming, security, windows | Tagged , , , , , , | 3 Comments

Impersonating the LocalSystem account

Introduction If you just want to execute a command under the LocalSystem account, you can use psexec with -s parameter, but the motivation for writing this code was for decryption of Wireless passwords which are encrypted using CryptProtectData API under … Continue reading

Posted in programming, security, windows | Tagged , , , | Leave a comment

Software Inventory on Windows using C++

Introduction For local and remote queries, you can use the Windows Management Instrumentation (WMI) class Win32_Product but this will only provide you with a list of applications that were installed using Microsoft Installer (MSI) packages. Applications deployed with their own … Continue reading

Posted in programming, windows | Tagged , | Leave a comment

Listing processes on Windows in C

Introduction I was writing something recently which required obtaining a list of running processes on Windows. The problem was that it had to run on systems as early as Windows NT right up to Windows 10 and there’s no single … Continue reading

Posted in programming, windows | Tagged , , , , | Leave a comment

Windows ICMP API in C/C++

Introduction In the old days, pinging a computer on windows required building an ICMP packet from scratch and using RAW sockets to send the packet to its destination. Worse was that you then had to listen for a response and … Continue reading

Posted in networking, programming, windows | Tagged , , , | Leave a comment