# Administración de software de base

- Administración de usuarios y grupos locales.
  - Crear, modificar y editar usuarios y grupos. Añadir usuarios a los grupos.
  - Cambiar la ruta del perfil del usuario, scripts de inicio y carpeta particular. 
- Usuarios y grupos predeterminados.
  - Conocer los privilegios asignados.
- Seguridad de cuentas de usuario.
  - Establecer la contraseña.
  - Habilitar y deshabilitar cuentas de usuario.
  - Añadir las cuentas de usuario a los grupos predeterminados según sus necesidades.
- Seguridad de las contraseñas:
  - Algoritmos para la elección de contraseñas seguras.
  - Opciones de la contraseña: obligar a cambiar la contraseña, caducidad, etc. 
- Administración de perfiles locales de usuario. 
  - Directorios y ficheros implicados.
  - Cambiar la ruta de las carpetas de documentos a otra partición o recurso de red. 
 - Configuración del protocolo TCP/IP en un cliente de red. 
 - Configuración de la resolución de nombres. 
 - Ficheros de configuración de red. 
 - Optimización de sistemas para ordenadores portátiles.
  - Archivos de red sin conexión.
  - Asegurar la información para evitar su uso en caso de pérdida o robo. Cifrado de ficheros y de discos, copia de seguridad remota, etc.
  - Configurar el firewall para asegurar el portátil en las conexiones no seguras.

# Seguridad en Windows

## Windows Privilege Escalation Guide
* http://www.sploitspren.com/2018-01-26-Windows-Privilege-Escalation-Guide/
* http://www.hackingarticles.in/post-exploitation-using-wmic-system-command/
* http://www.hackingarticles.in/manual-post-exploitation-windows-pc-system-command/
* https://www.jesusninoc.com/2016/10/09/windows-post-exploitation-cmdlets-execution-powershell/

## mimikatz
mimikatz is a tool I've made to learn C and make somes experiments with Windows security.
It's now well known to extract plaintexts passwords, hash, PIN code and kerberos tickets from memory. mimikatz can also perform pass-the-hash, pass-the-ticket or build Golden tickets.
https://github.com/gentilkiwi/mimikatz

## Mimikatz on Windows 10
https://astr0baby.wordpress.com/2018/01/30/running-latest-x64-mimikatz-on-windows-10/

## SharpWeb: un proyecto en .NET 2.0 para obtener las contraseñas guardadas en Google Chrome, Mozilla Firefox y Microsoft Internet Explorer/Edge
https://www.hackplayers.com/2018/12/sharpweb-recupera-credenciales-navegadores.html

## Deshabilitar UAC desde PowerShell
https://www.jesusninoc.com/2018/01/15/deshabilitar-uac-desde-powershell/

## Windows 10: (Otro) Bypass (más) de UAC usando AppPaths y sdctl.exe #Windows10 #Hacking #pentesting
http://www.elladodelmal.com/2017/03/windows-10-otro-bypass-mas-de-uac.html

## control.exe will load an unsigned, Alternate Data Stream (ADS) reflective DLL to bypass #AppLocker #RedTeam
https://twitter.com/bohops/status/954466315913310209

## Ejecutar PowerShell como administrador en Base64
https://www.jesusninoc.com/2016/11/23/ejecutar-powershell-como-administrador-en-base64/

## Registro básico
https://norfipc.com/inf/manual-registro.html

## Dumping Windows Password Hashes Using Metasploit
https://www.utc.edu/center-information-security-assurance/pdfs/4660-lab6.pdf

## Cain y Abel
http://www.oxid.it/cain.html

## Cracking Passwords Version 1.1
https://repo.zenk-security.com/Reversing%20.%20cracking/Cracking_Passwords_Guide.pdf

## [Spanish] HackBack - A DIY Guide
https://www.exploit-db.com/papers/41914/

## Download: Notify me, if someone is added to the Domain Admins group
https://sid-500.com/downloads/

## Ejercicios

### Saltar la UAC
```PowerShell
#Abrir PowerShell y escribir:
[System.Windows.Forms.SendKeys]::SendWait("^({ESC})")
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("EJECUTAR")
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("chrome.exe")
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("jesusninoc.com")
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
Start-Sleep -Seconds 5
 
$MouseEventSig=@’
[DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
‘@
 
$MouseEvent = Add-Type -memberDefinition $MouseEventSig -name “MouseEventWinApi” -passThru
 
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(125,192)
$MouseEvent::mouse_event(0x00000002, 0, 0, 0, 0)
$MouseEvent::mouse_event(0x00000004, 0, 0, 0, 0)
```

### Crear una contraseña aleatoria e intentar adivinarla
* https://www.jesusninoc.com/01/07/generar-palabras-aleatorias-con-letras-aleatorias/
* https://www.youtube.com/watch?v=IXGPAozLKKA
* https://www.jesusninoc.com/01/19/generar-5-combinaciones-de-letras-aleatorias-con-las-letras-del-teclado-qwerty-de-10-letras-cada-palabra-todo-el-teclado/
* https://www.jesusninoc.com/01/20/generar-5-combinaciones-de-letras-aleatorias-con-las-letras-del-teclado-qwerty-solo-letras-y-numeros-de-10-letras-cada-palabra-primera-fila/
* https://www.jesusninoc.com/02/02/reverse-hash-md5-sha1/

--------------------

# Casos

## El avión pasa y detecta luz
* https://www.jesusninoc.com/01/17/encender-y-apagar-un-led-en-raspberry-pi-realizando-una-conexion-ssh-desde-powershell/
* https://www.jesusninoc.com/01/25/detectar-si-una-imagen-esta-contenida-dentro-de-otra-imagen-mediante-opencv/

## Script que apaga una luz si detecta una posición GPS
```PowerShell
(Get-Content .\resultado.txt) -split "`n" | %{
    $var = $_ | Select-String " S "
    if ($var -match "40.088")
    {
        Invoke-SSHCommand -Index 0 'python -c "import RPi.GPIO as GPIO;GPIO.setmode(GPIO.BOARD);GPIO.setup(11, GPIO.OUT);GPIO.output(11, False);GPIO.cleanup();"'
    }
    else
    {
        Invoke-SSHCommand -Index 0 'python -c "import RPi.GPIO as GPIO;GPIO.setmode(GPIO.BOARD);GPIO.setup(11, GPIO.OUT);GPIO.output(11, True);"'
    }
}
```

## Algo nos han conectado
* https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/exploring-plug-play-devices-part-1
* https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/exploring-plug-play-devices-part-2
* https://www.jesusninoc.com/08/01/returns-information-about-pnp-devices/
* https://www.jesusninoc.com/12/01/ver-los-telefonos-moviles-que-se-han-conectado-al-sistema-operativo/
* https://www.jesusninoc.com/07/23/obtener-informacion-sobre-los-dispositivos-usb-conectados-en-un-equipo-del-dominio-con-powershell/

## Malware

- Launching PowerShell Scripts Invisibly
  - https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/launching-powershell-scripts-invisibly

- Crear un .exe
  - https://gallery.technet.microsoft.com/scriptcenter/PS2EXE-GUI-Convert-e7cb69d5
  
- Una aproximación a los virus en PowerShell
  - https://github.com/jesusninoc/Seguridad/blob/master/Una%20aproximaci%C3%B3n%20a%20los%20virus%20en%20PowerShell.md
  - https://gallery.technet.microsoft.com/scriptcenter/PS2EXE-GUI-Convert-e7cb69d5
