   ______   ______   ______   ______   ______   ______   ______   ______
  |  ____| |  ____| |  ____| |  ____| |  ____| |  ____| |  ____| |  ____|      
__| |______| |______| |______| |______| |______| |______| |______| |________
----------------------------------------------------------------------------
Codigo     Titulo                                                Autor
SWP03-05   Modificacion Local de Passwords en Windows NT y 2000  Sud Master
----------------------------------------------------------------------------


Texto para Security Wari Projects
Escrito por Sud Master


Modificacion Local de Passwords en Windows NT y 2000

1. Introduccion
2. Informacion Complementaria
3. El Syskey
4. Modificion de Contrase~as
5. Conclusiones y Tips
6. Download


1. Introduccion

Este articulo describe  la manera como puede modificarse  los passwords en un
Windows. Como  podran  darse cuenta  a traves  del escrito, esta  herramienta
no es un crackeador  sino lo que hace es colocar nuevos  hashes en la sam. El
programa  usa dos  metodos para  cambiar  el password,  uno es  a traves  del
regedit  y otro  el metodo  llamado "por  defecto", bien  solo  mostrare como
usarlo a traves de este ultimo siendo meritorio la creacion de  otro texto en
proximas ediciones. 

Para este tipo  de intrusion se necesita un programa  tipo linux, que trabaja
a nivel de consola, su funcion en  este tipo de software es muy basico y casi
automatico. Se ha  reunido todo lo necesario para  editar las contrase~as, en 
un  solo floppy,  es capaz  de  modificar las  contrase~as en  la mayoria  de
sistemas. Y  como dice el creador  de estos excelentes  programas: "Usa Linux
como  OS, porque es  gratuito, facil  de programar,  y soporta  la compresion
bootdisks/ramdisks". 

He colocado intencionalmente '>' al inicio de algunos lineas para diferenciar
las salidas  del programa con lo  escrito por mi para  describir los procesos
del sistema. 

Hasta una nueva  oportunidad y satisfacciones con la ezine  nro 3 de Security
Wari Projects - Hecho en Peru.  Si creen conveniente criticarme algun punto o
intercambiar ideas pueden comunicarse conmigo. 

2. Informacion Complementaria

El bootdisk soporta el estandar (dual)  de controladores IDE, y la mayoria de 
los controladores-SCSI con los  drivers proporcionados en un archivo separado
debajo.
No necesita ningun otro hardware especial,  correra en un 486 o superior, con 
por lo menos 32MB (pienso) ram o mas.

- bd000401.bin imagen del disco booteable.
- rawrite2.zip es  un programa en dos  que sirve para escribir  la imagen del 
  disco.
- sc011022.zip  drivers,   para  aquellos   que  usen  scsi   (mayormente  en
  servidores). 

Probado en

- Windows NT 3.51, NT Workstation , Standalone, Server, PDC.
- Windows 2000 Profesional y Server (Solo trabaja bajo AD Server)

3. El Syskey

Que  sucede cuando se  instala el  syskey, y  como librarse  de el  Syskey se
agrego a NT con el Service Pack 3 como una manera de prevenir el facil acceso
a la  contrase~a real de  los hashes en  el SAM (Administrador de  Cuentas de
Seguridad) Los metodos originales de crear y almacenar los hashes, se produce
de una  manera bastante  facil, capaz de  usar la  fuerza bruta o  ataque por
diccionario para encontrar en el texto plano las contrase~as. (principalmente 
causado  por  una  aplicacion  un  poco  defectuosa &  el  uso  incluido  del
cryptoalgoritmo)  Habilitar el  syskey era  opcional, el  administrador debia
ejecutar syskey.exe y responder algunos  cajas de dialogo para encenderlo. En
Windows  2000  por  ejemplo,  se  habilita  por  defecto  al  momento  de  la
instalacion. 

Cuando el syskey esta activo,  los hashes son encriptados/ofuscados aun antes
de que  se guarde en  el registro  SAM. Sin embargo,  ellos se guardan  en el
viejo formulario, en la memoria  despues de bootear (el pwdump2.exe demuestra
esto), desde  que el formulario viejo  se necesita para  la autenticacion  de
NTLM en la red. 


3. Modificion de Contrase~as

Luego de bajarse todo las utilidades lo primero es a traves del rawrite crear
el disco booteable con las siguientes sentencias:

rawrite2 -f bd000401.bin -d A:

Luego de esto se obtendra los siguientes archivos dentro del floppy:

- Una carpeta con los controladores Scsi
- boot.msg
- initrd.gz
- ldlinuz.sys
- syslinux.cfg
- vmlinuz

Apagamos la maquina y booteamos el sistema a traves del floppy, lo primero en
pedirte es si  la pc en la que estas, tiene  algun dispositivo scsi, llamando
al  scsi.rc para probar  los controladores,  acabado esto  monta el  floppy y
muestra una pantalla como esta:

Probe for SCSI drivers:[n]n

en este caso  sabemos que no hay dichos dispositivos "n"  y se mostrara todas 
las particiones realizadas en el disco, llamando al script part.rc.

  Device	Boot	  Start	End	  Blocks	 ID	  System
/dev/hda1    *         	        7       522	   4144770	  b	  Win95 FAT32
/dev/hda2	                    1206     2482            10257502+	  F	  Win95 
Ext'd(LBA)
/dev/hda3		    523     1205	 5486197+	  7	  HPFS/NTFS
/dev/hda5		  1206     1473	 2152678+	  b	  Win95 FAT32
/dev/hda6		  1474     1857	 3084448+	  b	  Win95 FAT32
/dev/hda7		  1858     2482	  5020281	  b	  Win95 FAT32


Se visualizara las posibles particiones en donde modificar los passwords.

Probable NT Partitions:
/dev/hda3		   523     1205	 5486197+	  7	  HPFS/NTFS
What Partition contains your NT installation?
[/dev/hda3]: /dev/hda3

El software identifica las posibles particiones donde editaremos los pass, en
este caso  solo coloca /dev/hda3  que es justamente  en el que  trabajaremos.  
Escribimos /dev/hda3, la particion elegida.

* El primer bootable  de la particion para editar sera  por defecto NTFS. (el 
primer  bootable  sera  FAT  si  no  se encuentra  NTFS)  sin  embargo  puede
seleccionar  otra  particion (tambien  una  particion  FAT)  dando su  nombre
completo (como  /dev/hda1, o /dev/sda1). SCSI: sdDP  -> D=disco a b  c d, etc
P=numero de paridad 1 2  3 4 etc. IDE: hdDP -> D=a o b  (IDE primario), c o d
(IDE secundario), P=numero de paridad. 

Se  sigue  con la  eleccion  del tipo  de  modificacion  de password.  Puedes
seleccionar entre: 

1. Edicion de Passwords (seleccion por defecto)
2. Edicion del Registro (ver regedit.txt)

Elegiremos editar  los passwords '1', luego  la particion sera  montada, y el
tipo (NTFS  o FAT)  sera declarado. Luego  debe seleccionar el  path completo
(relativo a  la particion) del  directorio del registro. Esto  normalmente es
'winnt/system32/config',  que  es   la  seleccion  predefinida  pero  tambien
reconocera automaticamente ventanas instaladas en winnt35 o ventanas. Llama a
path.rc como la siguiente vista: 

>What is the full path to the registry directory?
>[Winnt/System32/Config]: winnt/system32/config
-rw- - - - - - -     1	0	0	196608	May	8	20:03	AppEvent.EVT
-rw- - - - - - -     1	0	0	147456	Apr	15	18:02	default
-rw- - - - - - -     1	0	0	    1024	Apr	15	18:02	default.LOG
-rw- - - - - - -     1	0	0	  81920	Jan	12	13:19	default.sav
-rw- - - - - - -     1	0	0	  28672	May	7	13:19	sam
-rw- - - - - - -     1	0	0	    1024	May	7	13:19	sam.LOG
-rw- - - - - - -     1	0	0	  65536	Jan	12	13:19	SevEvent.EVT
-rw- - - - - - -     1	0	0	  32768	May	7	13:19         security
-rw- - - - - - -     1	0	0	    1024	May	7	13:19	security.LOG
-rw- - - - - - -     1	0	0          140901248	May	8	13:19	software
-rw- - - - - - -     1	0	0	    1024	May	8	13:19	software.LOG
-rw- - - - - - -     1	0	0	544768	Jan	12	13:19	software.sav
-rw- - - - - - -     1	0	0	458752	May	8	13:19	SysEvent.EVT
-rw- - - - - - -     1	0	0              2584576	May	8	13:19	system
-rw- - - - - - -     1	0	0              2584576	May	8	13:19	system.ALT
-rw- - - - - - -     1	0	0	   1024	Jan	12	13:19	system.LOG
-rw- - - - - - -     1	0	0	356352	Jan	12	13:19	system.sav
-rw- - - - - - -     1	0	0	          0	Jan	12	13:19	TempKey.LOG
-rw- - - - - - -     1	0	0	143360	Jan	12	13:19	userdiff
-rw- - - - - - -     1	0	0	    1024	Jan	12	13:19	userdiff.LOG

Terminado esta muestra nos mostrara los archivos del sistema.

>Which hives (Files) do you want to edit (leave default for password 
>setting, separate multiple names with spaces)
>[sam system security]: sam system security

Escribimos de  la siguiente  manera 'sam system  security' y  copiara  dichos
archivos al  /temp y  empezara a  correr el chntpw.  Te pregunatar  si deseas
deshabilitar el syskey?. En este caso colocaremos 'no'.

>Do you really wish to disable syskey?[y/n]n

Luego seleccionar  los archivos para copiar al  area del temp en  el ramdisk.  
Para  la  contrase~a que  revisa  el valor  predeterminado  que  es 'el  sam'
(esencial, es  la base de datos  de la contrase~a),  'system' (contiene algun
info sobre syskey), y 'security' (info  del syskey adicional en Win2k). Si el
syskey no esta activo, solo 'el  sam' se cambia al editar las contrase~as. Si
quieres  revisar  algo en  el  registro,  selecciona  la opcion  que  desees,
'system' es apropiado para los servicios, configuracion del hardware etc. 

Acabado, se muestra continuacion una  lista de los usuarios que se encuentran 
en el sistema:

>RID: 01f4, Username:<Administrador>
>RID: 01f5, Username:<Invitado>*BLANK password*
>RID: 03eb, Username:<sudmaster>
>RID: 03e8, Username:<swp1>
>RID: 03ea, Username:<VUSR_SWP-1>

Como primera opcion  esta el tentador y siempre  buscado "Administrador", que 
seleccionaremos y escribiremos en la entrada, para modificar su password como
la siguiente salida.

>Username to change (!to quit, . to list users):[Administrador] 
>Administrador
>RID             :     Administrador
>Username  :     Admin
>Fullname    :
>Comment   :     Cuenta para la administracion del equipo o dominio.
>homedir     :

>Crypted NT pw  : a4  d6  18   d7   b8   48   6e   17   ee   3f
>Crypted LM pw  : 3d  08   8e  44    c6   4a  67   84   3a    0f
>MD4 hash          : 20  9c   61   74    da  49  0c   ae   b4   22
>LAN MAN hash :  f0  d4   12   bd   76   4f   fe    81   aa   d3

Luego de  pedira el  nuevo password, en  este caso, como  ejemplo colocaremos
'pathfinder01' (por que sera que esta pass me recuerda tanto a la onpe).

>Please enter new password:
>or nothing to leave unchanged : pathfinder01
>NEW MD4 hash          : e7   0a   6c   88   8d   a8   c0   3d   c5   27
>NEW LANMAN hash  : 9a   e1   9d   53   4f    47   02   6c   eb   5d
>NEW DES Crypt         : 06   b9   ce   ef    0c   67   c5   0a   e3   f3
>NEW LANMAN Crypt :  fa   82   69   fe    4f    32   58   dd   ac   0f

>Do you really wish to change it ? (y/n) [n] y
>Username to change (!to quit, . to list users):[Administrador] !

Te dira si estas seguro que quieres modificarla, y se colocara 'y', osea yes,
ya  que por  defecto viene  'no.  Colocaremos '!'  para salir  y acabar  este
proceso, . 

>Hives that hive changed :
># name
>0 <sam>
>Write hive files ? (y/n) [n] : y

A este ultimo paso solo colocaos 'y', y llama a write.rc

>to Select write back sam file about to write file(s) back! Do it?[n] : y

Es  decision de cada  uno, estas  ultimas preguntas  hechas por  el programa,
estas salidas que elegi me resultan apropiadas.

>Run ntfsfix to avoid problem with NTFS? (recommended)[y] : n

Corre la shell, y pulsa ctrl-alt-del para reiniciar, esperas que te cargue tu
windows y ya esta listo para usarlo con un password nuevesito y tuyo.


5. Conclusiones y Tips

- El archivo bin que viene dentro del zip no entrara en un floppy.
- Cuando al  bootear el floppy  aparece en pantalla "boot  failed", significa 
  que  el floppy  esta mal  o esta  corrupto el  bootloader.  Ademas, algunas
  versiones no la reconocen, asi es que mejor usar una version actualizada de
  ldlinux.sys. 
- Se puede  perder informacion del disco  al querer modificar  una cuenta asi 
  es que, se debe tener mucho cuidado.
- Tuve  algunos problemas  al  cambiar  las cuentas  ya  que algunas  perdian
  algunos  archivos en sus carpetas o parecian como si se crearan por primera
  vez un grupo.
- El siguiente software trabaja en  Windows 2000 gracias a la inseguridad que
  proporciona el syskey en off.
- El  software necesario  puedes  bajarlo de  la  pagina de  sus creadores.

6. Download
http://home.eunet.no/~pnordahl/ntpasswd/bootdisk.html



   ______   ______   ______   ______   ______   ______   ______   ______
  |  ____| |  ____| |  ____| |  ____| |  ____| |  ____| |  ____| |  ____|      
__| |______| |______| |______| |______| |______| |______| |______| |______
--------------------------------------------------------------------------

                      --                             --
			 Security Wari Projects / SWP  |
		      (c) Todos los Derechos Reservados
		     |     PERU / 2002 - 2003           
                      --                              --
