Securing NT
By default, NT 4.0 displays the last person who logged onto the
system. This can be considered to be a security threat, especially in
the case of those who choose their password to be same as their
Username.
To disable this bug which actually is a feature, go to the
following key in the registry editor:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVer
sion\Winlogon
Click and select the ReportBookOK item and create a new string
value called DontDisplayLastUserName. Modify it and set it's value
to 1.
As a system administrator, you can ensure that the passwords
chosen by the users are not too lame or too easy to guess. NT has
this lovely utility called the User Manager which allows the
administrator to set the age limit of the password which forces the
users to change the password after a certain number of days. You
can also set the minimum length of passwords and prevent users to
use passwords which already have been used earlier and also
enable account lockouts which will deactivate an account after a
specified number of failed login attempts.
When you log on to Win NT, you should disable Password Caching,
this ensures Single NT Domain login and also prevents secondary
Windows Logon screen.
Simply copy the following lines to a plain text ASCII editor like:
Notepad and save it with an extension, .reg
----------------DISABLE.reg-----------------
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVer
sion\Policies\Network]
"DisablePwdCaching"=dword:00000001
----------------DISABLE.reg-----------------
To Enable Password Caching use the following .reg file:
--------------Enable.reg-----------------
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVer
sion\Policies\Network]
"DisablePwdCaching"=dword:00000000
--------------Enable.reg-----------------
Cleaning Recent Docs Menu and the RUN MRU
The Recent Docs menu can be easily disabled by editing the
Registry. To do this go to the following Key:
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer
Now in the right pane, create a new DWORD value by the name:
NoRecentDocsMenu and set it's value to 1. Restart Explorer to save
the changes.
You can also clear the RUN MRU history. All the listings are stored in
the key:
HKEY_USERS\.Default\Software\Microsoft\Windows\
CurrentVersion\Explorer\RunMRU
You can delete individual listings or the entire listing. To delete
History of Find listings go to:
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\Doc Find Spec MRU
and delete.
Customizing the Right Click Context Menu of the Start Menu
When you right click on the start menu, only 3 options pop up:
Open, Explore, and Find. You can add your own programs to this
pop up menu( which comes up when we right click on it.)
Open Regedit and go to the following registry key:
HKEY_CLASSES_ROOT\Directory\Shell
Right click on the shell and create a new Sub Key (You can create a
new SubKey by right clicking on the Shell Key and selecting New >
Key.). Type in the name of the application you want to add to the
start menu. I want to add Notepad to the Start Menu and hence I
name this new sub key, Notepad. Now right click on the new
registry key that you just created and create yet another new key
named Command. Enter the full path of the application, in this case
Notepad in the default value of Command in the right
pane. So I Modify the value of the default string value and enter the
full pathname of Notepad:
c:\wndows\notepad.exe.
Now press F5 to refresh. Now if you right click on the Start Button
you will find a new addition to the Pop Up Menu called Notepad.
Clicking on it will launch Notepad.
We can not only add but also remove the existing options in this
pop up box.
To delete the Find option, go to the following registry key:
HKEY_CLASSES_ROOT\Directory\Shell\Find
Delete Find. DO NOT delete Open else you will not be able to open
any folders in the Start Menu like Programs, Accessories etc.
BMP Thumbnail As Icon
You can actually change the default BMP icon to a thumbnail version
of the actual BMP file. To do this simply go to
HKCU\Paint.Picture\Default. In the right pane change the value of
default to %1. Please note however that this will slow down the
display rate in explorer if there are too many BMP thumbnails to
display. You can use other icons too, simply enter the pathname.To
restore back to the normal change the vale of default back to:
C:\Progra~1\Access~1\MSPAINT.EXE,1.
Customizing the Shortcut Arrow
All shortcuts have a tiny black arrow attached to it's icon to
distinguish from normal files. This arrow can sometimes be pretty
annoying and as a Hacker should know how to change each and
everything, here goes another trick. Launch the Registry Editor and
go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersion\explorer\Shell Icons.
Now, on the right pane is a list of icons ( we found out that on some
systems, Windows 98 especially, the right pane is blank. Don't
worry, just add the value as required ). Find the value 29. If it isn't
there, just add it. The value of this string should be
C:\Windows\system\shell32.dll, 29 ( which means the 30th icon in
shell32.dll - the first one begins with 0 ). Now, we need blank icon
to do this. Just create one with white as the whole icon. Go here to
learn how to create an icon. Once done just change the value to
C:\xxx.ico, 0 where "xxx" is the full path of the icon file and "0" is
the icon in it.
Now for some fun. If the blank icon is a bit boring, change it again.
You will find that under shell32.dll there is a gear icon, a shared
folder ( the hand ) and much more. Experiment for yourself!
Use Perl to Get List or Services Running on your NT box
Use the following Perl Script to get a list of Services running on your
NT system
--------------script.pl-----------------
#!c:\per\bin\perl.exe
use Win32::Service;
my ($key, %service, %status, $part);
Win32::Service::GetServices(' ',\%services);
foreach $key (sort keys %services) {
print "Print Name\t: $key, $services{$key}\n";
Win32::Service::GetStatus( ' ',$services{$key};
\%status);
foreach $part (keys %status) {
print "\t$part : $status{$part}\n" if($part eq "CurrentState");
}
}