martes, 24 de enero de 2012

Query local admin name - Consultar el nombre del adminsitrator local

Dado que la cuenta built-in puede ser renombrada es importante para distintas tareas conocer el nombre real del adminsitrator. Tambien puede variar el nombre según el idioma del SO.


Para esto lo mejor es buscar el usuario teniendo en cuenta su SID.
El SID del adminsitrator siempre termina en 500 y comienza con S-1-5:

A continuación el script para hacer la consulta:


strComputer="127.0.0.1"    ' local computer by default   
Set objUser=GetObject("WinNT://" & strComputer & "/" & GetAdminName & ",user")     


msgbox (getAdminName())




Function GetAdminName   
  Set objNetwork = CreateObject("Wscript.Network") 'get the current computer name 
  objComputerName = objNetwork.ComputerName    
  Set objwmi = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & objComputerName)


  qry = "SELECT * FROM Win32_Account where Domain = '" & cstr(objComputerName) & "'" 


  For Each Admin in objwmi.ExecQuery(qry)   
    if (left(admin.sid, 6) = "S-1-5-" and right(admin.sid,4) = "-500") then 'look for admin sid
       GetAdminName = admin.name
    end if   
  next    
end Function

miércoles, 18 de enero de 2012


La libertad de Internet está en peligro
La iniciativa de ley SOPA (Stop Online Piracy Act) de los Estados Unidos perjudicaría seriamente la libertad de expresión y el carácter abierto de Internet, incluyendo a Wikipedia, en caso de ser aprobada. Otras leyes, como la Ley de Economía Sostenible (Ley Sinde) española y los proyectos de la Ley Lleras (Colombia) y Döring (México) también suponen una amenaza. Con la excusa de proteger los derechos de autor, se permiten medidas que pueden considerarse como censura.
¡Internet no debe ser censurada!

viernes, 23 de diciembre de 2011

Unix Scripting: Create users

A continuación comparto un script simple para creación de usuarios en ambientes Unix:



HOME=/export/home
#/export/home


if [ $# -eq 4 ]
then
        echo "Creating user $1, nombre $2"
else
        echo "Usage:$0 <\"username\"> <\"Descripcion\"> <\"grupo\"> <\"UID\"> "
    #echo "    groups:"
    #echo "      lista separada por comas de los grupos a los que pertenecerá"
        exit 1
fi


user=$1
nombre=$2
grupos=$3
uid=$4


sudo /usr/sbin/useradd -c "$nombre" -g $grupos -m -d $HOME/$user -s /bin/sh -u $uid $user
if [ $? -ne 0 ]
then
        exit 1
fi


echo "Setting Password"
sudo /usr/bin/passwd $user
sudo /usr/sbin/usermod -f 90 $user
sudo /usr/bin/passwd -n 7 -x 30 -w 7 -f $user
sudo /usr/bin/passwd -f $user
echo "The user $user has been created"

viernes, 28 de octubre de 2011

FOCA 3



There is a new FOCA in town. After six months we got FOCA 3 FREE available for direct download in:

This new version has new fresh look and feel, and it is full of new features that you will love to discover. 

Also, we would like to remember you that we created MetaShield Protector as a solution to filter metadata in published documents through Windows Server 2008 / 2008 R2, IIS 7.0 / 7.5 and SharePoint 2007, Windows SharePoint Services and SharePoint 2010. More info at: http://www.metashieldprotector.com

Enjoy FOCA Lover!

miércoles, 5 de octubre de 2011

Windows: Password required vulnerability

Hay ciertas cuentas que genera Windows en forma predeterminada que no requieren password y son una vulnerabilidad, ya que es posible utilizarlas sin ingresar su password.

Para conocer si una cuenta requiere password o no, debemos ejecutar el siguiente comando:

>net user IUSR_testServer
User name                    IUSR_testServer
Full Name
Comment                      Built-in account for IIS
User's comment
Country code                 000 (System Default)
Account active               Yes
Account expires              Never
Password last set            03/06/2011 11:12:42 p.m.
Password expires             Never
Password changeable          03/06/2011 11:12:42 p.m.
Password required            No
User may change password     Yes
Workstations allowed         All
Logon script
User profile
Home directory
Last logon                   03/06/2011 11:12:42 p.m.
Logon hours allowed          All
Local Group Memberships      *Users
Global Group memberships     *None
The command completed successfully.

Una vez que detectamos estas cuentas debemos analizar si la aplicacion que la usa (En nuestro caso el IIS) puede reconfigurarse y setearle el password para que sea utilizado.

Una vez realizado este analisis es necesario forzar que requiera password con el siguiente comando:




net user /passwordreq:yes NombreUsusario


Una vez realizado esto, es recomendable reiniciar el servicio que utilice este usuario para comprobar que todo siga funcionando sin problemas.

Tambien será necesario controlar que el IIS tenga el password correcto ingresado en los sites que utilicen dicha cuenta. Si fuera otra aplicación verificar que la aplicación tenga el password correctamente ingresado.