All Windows folders must have two entries: the directory “.” (denoting the current directory) and “..” (denoting the parent directory).
On a Windows platform, it’s important to create a file extension with dots. This prevents attacks that the system may confuse with dots and parses.
However, as seen on the command above, you cannot create a file with “…”, including using it as a name.
All this can be bypassed using the ::$INDEX_ALLOCATION trick.
Using the folder name twice also creates the folders.
For example, you can pass the command mkdir “….\….\” to create a directory and another one inside it. This will enable you to enter the folders, store files, and execute programs from the same location.
It is not possible to enter the folder using its name. As such, after creating the files in the folder, you’ll be forced to use the “cd … \… \” syntax.
Please note that if you use “cd.” in the folder, it will take you one directory up because of the confusion in paths.
You may not open the same directory from the Graphical User Interface (GUI).
In some cases, if you stay in the same directory and maintain the same path, double clicking a folder may not have any impact.
In other cases, you may notice that you are in the folder but the path in the explorer changes. For instance, when opening the folder several times, you may notice many dirs in the path of the graphical interface.
By entering as many folders as you want, you may not show all the files inside the folder in the GUI, and you may also not open a folder by passing “C:\Sample\Test\…\…\” in the input field.
NOTE: Deleting the folder will crash the explorer because it will not stop counting files being deleted; best advice is to avoid doing this on your working system
Using the GUI to search for files may also not work for you; for example, searching for a Sample123.txt will keep searching forever, without anything to show.
Searching for the same file via the command prompt gives a positive result, as shown below.
However, most administrators prefer to use the PowerShell, which gives an endless loop.
If you use the Get-ChildItem –Path C:\Test –Filter Sample123.txt –Recurse –ErrorAction SilentlyContinue –Force commandon the PowerShell interface, it will iterate forever.
Some programs may seem to work correctly. For example, if you place some malware in the same directory and perform tests using an antivirus solution, nothing will happen because some of them may be unable to interpret their names and paths.
When searching for viruses inside the C:\Test\…\, the malware will be skipped inside the C:\Test\. Some Python programs that use the function os.walk() make it to work correctly.
Please note that creating a directory junction pointing to its own parent folder will not lead to an endless loop in both cmd and PowerShell.
Protect yourself! Discover all security holes in the folder hierarchy on your Windows fileservers!
Get your free trial of the easiest and fastest NTFS Permission Reporter now!