Added from untitled

Added from untitled

The Windows Operating System is by far the dominant choice for Desktop users, with it having over 90% market share - which creates this self-fulfilling loop of developers writing exclusively for Windows , and then more people wanting Windows as it makes it easier for users ...

Originally it launched in 1985 and was simply the GUI which sat on top of the MS DOS system, but it has long since outgrown those clothes and Windows 10 is a pretty sharp , albeit massive , system with all sorts of conventions, opinions and practices.

The first major differentiator between Windows and other systems like Linux is that Windows treats drives, folders and files all as their own entity , whereas Linux does everything it can to treat them all as files. So for example, directories are just files which contain pointers, drives are just files that you write to etc. Which makes sense as everything stored in the hard disk is just repositories of 1s and 0s - and having that abstraction gives us more power ! Windows is leaning more to this approach with each passing year, as it integrates more of the Linux philosophy into it - The Windows Subsystem for Linux (WSL) being the most recent push - though things like the Windows command-line scripting language PowerShell largely resembles Bash for its automation prowess, and the fact that many commands overlap...

The Windows file system structure:

  • Logical Drives , like `C:‘ which denote a partition of the hard disk.
  • Folders , like \Documents
  • Files , like powershell.exe

As you enter the default drive for the Windows system - typically at `C:‘ you will see four main folders:

  • PerfLogs. This keeps performance logs and any reports of system issues.
  • Program Files and Program Files (x86). These are the locations for programs to reside, whether they are 64-bit or 32-bit would then decide their respective location.
  • Users. Canonical to /home on Linux , this is where users are stored and created and their data is kept.
  • Windows. All the code which gets the OS up and running, alongside other utility programs.

Administrator Privilege

An admin can set the permissions for users and or groups - with the permissions relating to files and folders. Obviously we don't want any old user being able to modify the Windows folder , so we could set the standard user accounts to have read permissions for certain binaries - maybe we want to disable PowerShell for some users?

All the different permissions options are:

  • Full control. This allows the user/users/group/groups to set the ownership of the folder, set permission for others, modify, read, write, and execute files. Which is sort of like SUID for Linux, and it comes with the same potential exploitation...
  • Modify. Allows a user/users/group/groups to read, write , execute.
  • Read & execute. Allows a user/users/group/groups to read and execute a resource.
  • List folders content. Allows the user/users/group/groups to list the contents (files, subfolders, etc) of a folder
  • Read
  • Write
  • Special permissions