Hacking ético y pentesting

Tema genérico de Seguridad en las Tecnologías de la Información y las Comunicaciones: Ciberguerra, ciberespionaje, ciberdelito, redes sociales.
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

UACME y dí adiós al mensaje "¿Desea permitir que este programa realice cambios en el equipo?"
El Control de Cuentas de Usuario (UAC) en Windows es un componente de seguridad que permite a los usuarios realizar algunas tareas sin tener que cambiar de usuario, cerrar sesión, o utilizar "Ejecutar como".

Las cuentas de usuario que son miembros del grupo Administradores locales ejecutan la mayoría de las aplicaciones como un usuario estándar. Es decir, al separar las funciones de usuario y administrador, UAC permite usar por defecto privilegios estándar y sólo "elevarlos" cuando sea necesario.

Cuando un administrador inicia sesión en un equipo que ejecuta Windows, al usuario se le asignan dos tokens de acceso independientes. Los tokens de acceso, que contienen la pertenencia a grupos de un usuario y los datos de autorización y control de acceso, son utilizados por el sistema operativo para controlar cuáles son los recursos y tareas a los que tiene acceso.

Anteriormente el modelo de control de acceso en los sistemas Windows anteriores no requería ningún token de acceso administrativo. Como resultado, se podía instalar software malicioso sin notificar a los usuarios (instalación "silenciosa"). O peor, si el usuario era administrador, el software malicioso podía llegar a infectar archivos del kernel convirtiéndolo en casi imposible de eliminar. Sin embargo la alerta o prompt "mágico" de UAC da al usuario la oportunidad de detener la amenaza antes de que llegue a materializarse.
Pero el malware siempre va un paso adelante y desarrolla continuamente nuevos métodos para evadir UAC y poder propagarse por el sistema de la víctima sin que se percate. Para ver las técnicas más populares la herramienta de facto es sin duda UACME, escrita en C y de código abierto que, a día de publicación de esta entrada, implementa 23 métodos distintos de los cuales, los cuatro últimos, todavía no han sido corregidos y funcionan desde Windows 7 a 10rs1 14393:

20 - Método híbrido, abusa de la Microsoft Management Console y un incorrecto esquema de carga de dlls
21 - Método híbrido, abusa de SxS DotLocal con sysprep
22 - Método híbrido, abusa de SxS DotLocal con el consentimiento para ganar privilegios de sistema
23 - Método híbrido, abusa del Package Manager y DISM

Su ejecución es tan sencilla como llamar al programa correspondiente a la arquitectura del sistema (32 o 64 bits) con el parámetro del método a probar y opcionalmente otro programa a lanzar después del bypass. Por ej.:

Código: Seleccionar todo

 akagi32.exe 1
    akagi64.exe 3
    akagi32 1 c:\windows\system32\calc.exe
    akagi64 3 c:\windows\system32\charmap.exe
No obstante y avisados estáis, es recomendable ejecutarlo en un entorno de pruebas ya que algunos métodos persisten incluso después de reiniciar y requieren su corrección manual.

Proyecto: https://github.com/hfiref0x/UACME
Fuente:http://www.hackplayers.com/2016/08/uacm ... e-UAC.html
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Pentesting a la abeja (Parte II)
Buenas hackers! En este CTF vamos a hacer un pentesting a esta maquina de Vulnhub
Es una maquina muy completa que permite realizar un test de intrusión al servidor, además de hacer retos de pentesting web tal como SQLi, XSS, LFI etc...




----------------
bee-box - README
----------------

bee-box is a custom Linux VM pre-installed with bWAPP.

With bee-box you have the opportunity to explore all bWAPP vulnerabilities!
bee-box gives you several ways to hack and deface the bWAPP website.
It's even possible to hack the bee-box to get root access...

This project is part of the ITSEC GAMES project. ITSEC GAMES are a fun approach to IT security education.
IT security, ethical hacking, training and fun... all mixed together.
You can find more about the ITSEC GAMES and bWAPP projects on our blog.

We offer a 2-day comprehensive web security course 'Attacking & Defending Web Apps with bWAPP'.
This course can be scheduled on demand, at your location!
More info: http://goo.gl/ASuPa1 (pdf)

Enjoy!

Cheers

Malik Mesellem
Twitter: @MME_IT



Atención Spoiler!!

Usaremos hydra para poder obtener la contraseña atacando el servicio VNC por el puerto especificado, pero puede ser usado para muchos servicios; rdp, ftp, smtp, imap o telnet entre otros.
El servicio VNC, básicamente tiene una estructura servidor-cliente el cual permite tomar el control del servidor remotamente a través de un host cliente con un software especifico. Este softwarte es también denominado escritorio remoto.
El diccionario que usaremos sera rockyou disponible en Kali Linux, con el parametro -P por el puerto 5901 y la ip dada.
Una vez encontrado la contraseña, por cierto muy sencilla y usando una politica de contraseñas muy debil en la cual en todo momento cualquier persona o administrador de un sistema tiene que evitar.
En kali linux la herramienta vncviewer esta instalada por defecto.

Es mas interesante desde vncviewer conectarnos a nosotros, es decir a mi host mediante el uso de netcat:
Creamos el socket para hacer de servidor y estar a la escucha de peticiones con el parametro -l y un puerto determinado.
Desde el vncviewer hacemos la conexión al puerto especificado y la IP determinada, con un interprete bash de linux.
Obtendremos la shell de root gracias a nc por el puerto especifico. Ahora se ejecuta una serie de comandos y mediante una sentencia en python obtenemos un entorno pseudo terminal importando el modulo pty indicando la ruta del interprete de bash.

Ejecutamos una serie de comandos desde root, el primero para encontrar archivos setuid.
Setuid: Son permisos de acceso que pueden asignarse a archivos o directorios en un sistema operativo basado en Unix.
Se utilizan principalmente para permitir a los usuarios del sistema ejecutar binarios con privilegios elevados temporalmente para realizar una tarea específica.
Esta propiedad es necesaria para que los usuarios normales puedan realizar tareas que requieran privilegios más altos que los que dispone un usuario común, por lo cual es muy interesante cuando tenemos acceso como usuario en un servidor y queremos ejecutar o modificar algun tipo de binario o archivo para poder escalar privilegios. En este caso no es necesario porque somos ya root, pero para otros vídeos de CTF que hice y haré, vereis de la importancia de localizarlos con:

Código: Seleccionar todo

find / -perm -4000 -o -perm -2000 -exec ls -ldb {} \;
También se verá John the Ripper para obtener en texto plano los hashes, del fichero /etc/shadow.
https://www.youtube.com/watch?v=bN8wHKznu7M
Fuente:https://fwhibbit.blogspot.com.es/2016/0 ... te-ii.html
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Toolkits ofensivos en PowerShell
PowerShell es muy potente porque permite ejecutar .Net y código dinámico desde otro sistema (también en Internet) y ejecutarlo en memoria sin tocar el disco. Eso hace que usarlo sea uno de los métodos preferidos para ganar y mantener el acceso a sistemas Windows. Sin embargo la versión 5 ya mejora la seguridad y cuando se ejecuta en Windows 10 las capacidades de ataque disminuyen.

No obstante, todavía Powershell sigue siendo un arma muy útil en cuanto no se suele bloquear su uso (como se hace por ej. con cmd.exe), no se monitoriza y muchos productos de seguridad de puesto de usuario ni siquiera revisan su actividad. Además existen algunos toolkits de ataque en Powershell que facilitan mucho la vida a los pentesters (buenos y malos):
PowerSploit
Descripción: Un Framework de Post-Exploitation en powershell usado por muchas herramientas de ataque.
Uso: Recon, escalado de privilegios, robo de credentiales, persistencia.
Autores: Matt Graeber (@Mattifestation) & Chris Campbell (@obscuresec)
Cmdlets populares:

Invoke-DllInjection.ps1
Invoke-Shellcode.ps1
Invoke-WmiCommand.ps1
Get-GPPPassword.ps1
Get-Keystrokes.ps1
Get-TimedScreenshot.ps1
Get-VaultCredential.ps1
Invoke-CredentialInjection.ps1
Invoke-Mimikatz.ps1
Invoke-NinjaCopy.ps1
Invoke-TokenManipulation.ps1
Out-Minidump.ps1
VolumeShadowCopyTools.ps1
Invoke-ReflectivePEInjection.ps1

Invoke-Mimikatz
Características: Ejecución de Mimikatz desde PowerShell, robo de credendiales e inyección, creación de tickets Kerberos y más
Uso: robo y reutilización de credenciales, Persistencia
Autor: Joseph Bialek (@clymb3r)
PowerView
Descripción: Herramienta de enumeración del DA escrita puramente en PowerShell. Ahora forma parte de PowerSploit.
Uso: Recon
Autor: Will Harmjoy (@HarmJ0y)
Cmdlets populares:

Get-NetUser
Get-NetGroup
Get-NetGroupMember
Get-NetLocalGroup
Get-NetSession
Invoke-UserHunter
Get-NetOU
Find-GPOLocation
Get-NetGPOGroup
Get-ObjectACL
Add-ObjectACL
Invoke-ACLScanner
Set-ADObject
Invoke-DowngradeAccount
Get-NetForest
Get-NetForestTrust
Get-NetForestDomain
Get-NetDomainTrust
Get-MapDomainTrust

PowerUp
Descripción: Identifica métodos para el escalado de privilegios local.
Es parte de PowerShell Empire.
Uso: Escalado de privilegios.
Autor: Will Harmjoy (@harmj0y)
Cmdlets populares:

Get-ServiceUnquoted
Get-ServiceFilePermission
Get-ServicePermission
Invoke-ServiceAbuse
Install-ServiceBinary
Get-RegAutoLogon
Get-VulnAutoRun
Get-VulnSchTask
Get-UnattendedInstallFile
Get-WebConfig
Get-ApplicationHost
Get-RegAlwaysInstallElevated

Nishang
Descripción: PowerShell para tests de intrusión y seguridad ofensiva.
Uso: Recon, Robo de credenciales, escalado de privilegios, persistencia
Autor: Nikhil Mitt (@nikhil_mitt)
Cmdlets populares:

Get-Unconstrained
Add-RegBackdoor
Add-ScrnSaveBackdoor
Gupt-Backdoor
Invoke-ADSBackdoor
Enabled-DuplicateToken
Invoke-PsUaCme
Remove-Update
Check-VM
Copy-VSS
Get-Information
Get-LSASecret
Get-PassHashes
Invoke-Mimikatz
Show-TargetScreen
Port-Scan
Invoke-PoshRatHttp
Invoke-PowerShellTCP
Invoke-PowerShellWMI
Add-Exfiltration
Add-Persistence
Do-Exfiltration
Start-CaptureServer

PowerShell Empire
Descripción: integra módulos que permiten la explotación inicial, Recon, robo y reutilización de credenciales, persistencia. Además incluye RAT en powershell, servidor en Python y cifra con AES los canales C2.
Autores: Will Schroeder (@harmj0y) & Justin Warner (@sixdub) & Matt Nelson (@enigma0x3)
Módulos:

Code Execution
Collection
Credentials
Exfiltration
Exploitation
Lateral Movement
Management
Persistence
Privilege Escalation
Recon
Situational Awareness
Fun & Trollsploit

Cmdlets:

Invoke-DllInjection
Invoke-ReflectivePEInjection
Invoke-ShellCode
Get-ChromeDump
Get-ClipboardContents
Get-FoxDump
Get-IndexedItem
Get-Keystrokes
Get-Screenshot
Invoke-Inveigh
Invoke-NetRipper
Invoke-NinjaCopy
Out-Minidump
Invoke-EgressCheck
Invoke-PostExfil
Invoke-PSInject
Invoke-RunAs
MailRaider
New-HoneyHash
Set-MacAttribute
Get-VaultCredential
Invoke-DCSync
Invoke-Mimikatz
Invoke-PowerDump
Invoke-TokenManipulation
Exploit-Jboss
Invoke-ThunderStruck
Invoke-VoiceTroll
Set-Wallpaper
Invoke-InveighRelay
Invoke-PsExec
Invoke-SSHCommand
Get-SecurityPackages
Install-SSP
Invoke-BackdoorLNK
PowerBreach
Get-GPPPassword
Get-SiteListPassword
Get-System
Invoke-BypassUAC
Invoke-Tater
Invoke-WScriptBypassUAC
PowerUp
PowerView
Get-RickAstley
Find-Fruit
HTTP-Login
Find-TrustedDocuments
Get-ComputerDetails
Get-SystemDNSServer
Invoke-Paranoia
Invoke-WinEnum
Get-SPN
Invoke-ARPScan
Invoke-PortScan
Invoke-ReverseDNSLookup
Invoke-SMBScanner

PS>Attack
Descripción: PS>Attack es una consola portable que incluye muchas herramientas ofensivas que llaman a PowerShell (System.Management.Automation.dll) a través de .Net. Además las herramientas son cifradas (evasión AV) y descifradas en memoria en tiempo de ejecución.
Autor: Jared Haight (@jaredhaight)
Ḿódulos:

Powersploit
Invoke-Mimikatz
Get-GPPPassword
Invoke-NinjaCopy
Invoke-Shellcode
Invoke-WMICommand
VolumeShadowCopyTools
PowerTools
PowerUp
PowerView
Nishang
Gupt-Backdoor
Do-Exfiltration
DNS-TXT-Pwnage
Get-Infromation
Get-WLAN-Keys
Invoke-PsUACme
Powercat
Inveigh


Fuente: https://adsecurity.org/?p=2921
Más sobre powershell (incluyendo herramientas adicionales) en el blog: http://www.hackplayers.com/search/label/powershell
Fuente:http://www.hackplayers.com/2016/08/tool ... shell.html
Blog de hacking ético https://fwhibbit.blogspot.com
vfrbgt
Curioso
Curioso
Mensajes: 16
Registrado: 31 Jul 2016 00:32

Re: Hacking ético y pentesting

Mensaje por vfrbgt »

Ojo con los acosadores en Tinder! En cada Match entregas tu ubicación GPS exacta...forever!!!
Debo reconocer que soy una de las víctimas de la aplicación de citas por excelencia, Tinder. Gracias a este servicio pensé que encontraría a mi pareja ideal, pero lo que no imaginé nunca es que la podría encontrar hasta con la ubicación precisa del GPS una vez que hubiéramos hecho Match. Y sí, ésta es la historia que os voy a contar hoy sobre Tinder y el peligro de toparse con un acosador/a.
Hace más de 6 años que me dedico a la seguridad de la información y ayudando a un amigo a fortificar la API de su aplicación hablamos de la posibilidad de auditar cómo lo hacían otras aplicaciones más famosas. Así surgió la idea de crear una versión web de Tinder usando su propia API (que no es pública) escuchando las llamadas mediante el Proxy Charles.

La fecha de nacimiento "ofuscada" de tus Match

Marc se tomo su proyecto en serio, trasteando las entrañas de la API y de la aplicación hasta que tuvo una versión web bastante funcional pero que revelaba varias cosas interesantes. La primera es que la API de Tinder no te dice la edad de los pretendientes y tus match. La API te muestra una fecha de nacimiento de las personas con la que has hecho Match. La fecha variaba casi a cada petición, pero variaba dentro de un rango de unos 7-10 días. Sacar la fecha de verdad es un ejercicio de buscar el día medio del conjunto de resultados obtenidos. No parece rocket science.
Esto no nos pareció muy bueno a nivel de privacidad, pero al menos se introducía un error para los fisgones como nosotros y evitaba que alguien pudiera responder a alguna de las "preguntas de seguridad" de sitios online que piden tu fecha de nacimiento exacta con solo una petición.

La ubicación GPS de tus Match exacta. La PoC.

La segunda cosa nos sorprendió aún más y es algo más creepy. La aplicación móvil muestra la distancia hasta tus Match, pero la API muestra unas coordenadas GPS. ¿Cómo? Sí, la API de Tinder muestra las coordenadas de tus Match. Importante decir que esto no sucede con los candidatos, pero sí con las personas que has hecho Match.
Como buenos investigadores, nos armamos de valor y decidimos cambiar nuestra sexualidad (virtual) por la ciencia, para hacer una prueba empírica. Forzamos que la API nos encontrara, hicimos Match et voilà. Aquí no había margen de error como en la fecha de nacimiento. En este vídeo tienes la PoC que hemos hecho en el que se ve cómo se obtiene la ubicación exacta GPS de los Match.
La API cuando me buscaba a mí como Match no le dijo a Marc que estaba a escasos metros de él. La API le mostraba las coordenadas GPS del salón de mi casa donde nos encontrábamos. Seguimos investigando y descubrimos que la API de Tinder devuelve las coordenadas de la última conexión de tus Match (o de la más reciente en la que Tinder tomó la ubicación).

¿Cómo se puede permitir semejante agujero de privacidad?

A uno se le pasa lo peor por la cabeza pensando en ¿cuánta gente ha encontrado esto antes que nosotros y lo ha utilizado con algún otro fin? Si se va realizando en distintas días, horas y momentos podría indicarte donde vive alguien, donde trabaja, donde está de vacaciones o si duerme en casa de otro Match. Esto es lo que explicaba Chema Alonso con su "Tinder Bot de espionaje" pero sin necesidad de triangular, ya que se conoce exactamente la posición GPS.
Esto no se trata de un acceso ilegítimo a los servidores de Tinder, sino sencillamente de interceptar los mensajes que se intercambia tu aplicación con los servidores, un error de diseño muy grave. Lo primero que hicimos fue informar a Tinder de nuestro descubrimiento. Si el sistema de cálculo de pretendientes ya está bien implementado (al menos algo mejor), ¿por qué el sistema de Match no? Tendría que ser fácil de implementar. El e-mail que mandamos el 29 de Mayo de 2016 a Tinder fue el siguiente:

Hopefully you already know about this, but I've been using Charles proxy to inspect the traffic coming in and out of Tinder and I've found a way to get the physical position of all the matches. When the profile of a match is accessed, this request is fired: https://api.gotinder.com/user/matches/whatever_match_id, and inside the response there are the following parameters ->

"pos": { "lon": longitude_value,
"lat": latitude_value,
"at": time}

I tested this with a friend of mine and the position was very precise. I find this information very dangerous depending on who uses it and I also don't see the need of sending it back to the user, there is no need to know the exact position of your match. My suggestion would be to do as you already do in the recommendations and send distance in miles instead.

I hope you'll take this into consideration.

Cheers,
Marc

Su respuesta fue casi inmediata y seguramente automatizada, Thanks for your feedback!. Casi 3 meses después no han realizado ningún cambio y la aplicación web de Marc sigue funcionando y sigue ayudando a encontrar a tu pareja ideal hasta por GPS. Es por eso que hemos decidido contar nuestro descubrimiento y liberar el código de la PoC, que situaría a tus Match en un mapa.
Nuestra intención es concienciar de la falta de privacidad de la aplicación y el peligro que puede comportar su uso. Si alguien quiere usar la PoC debe ser consciente que no se ha creado una aplicación "siguiente, siguiente, siguiente" para script kiddies sino que se requieren conocimientos algo avanzados para instalarla y hacerla funcionar correctamente. Tienes toda la información en su GitHub.

Conclusiones Final

Creo que muchos nos odiarán si baja el número de usuari@s, pero espero que alguien también agradezca ver lo que pasa entre unos y ceros. Nos gustaría que Tinder nos siga ayudando a encontrar pareja, aunque preferimos que sólo nos diga la distancia y no que le de la ubicación GPS a todo el mundo al que hemos hecho Match alguna vez.
Eso sí, mientras tanto, ten cuidado de ser de esos que van dando Match de forma automatizada a todo el mundo, ya que cada vez que haces eso le estás compartiendo a esa persona la posibilidad de seguir tu ubicación GPS exacta en todo momento, lo cual no es lo mejor si das con un/a acosador/a.

Autores: Marc & Oriol Martínez (@brutnatural)
Fuente: http://www.elladodelmal.com/2016/08/ojo ... er-en.html
Blog de hacking ético https://fwhibbit.blogspot.com
Responder

Volver a “STIC”