Material DEF CON 27
- August 17, 2019
- tuxotron
- Anish-Athalye-Strong-Isolation.pdf
- Anish Athalye - Strong Isolation - Demo 1 of 7.mp4
- Anish Athalye - Strong Isolation - Demo 2 of 7.mp4
- Anish Athalye - Strong Isolation - Demo 3 of 7.mp4
- Anish Athalye - Strong Isolation - Demo 4 of 7.mp4
- Anish Athalye - Strong Isolation - Demo 5 of 7.mp4
- Anish Athalye - Strong Isolation - Demo 6 of 7.mp4
- Anish Athalye - Strong Isolation - Demo 7 of 7.mp4
- Bernhard-Mueller-The-Ether-Wars.pdf
- Bill-Graydon-Restricted-Keys.pdf
- Christopher-Wade-Tag-side-attacks-against-NFC.pdf
- Damien-Cauquil-Defeating-Bluetooth-Low-Energy-5-PRNG-for-fun-and-jamming.PDF
- DimitrySnezhkov-Zombie-Ant-Farm-Practical-Tips.pdf
- Dirk-jan-Mollema-Im-in-your-cloud-pwning-your-azure-environment.pdf
- Douglas-McKee-HVACking-Understanding-the-Delta-Between-Security-and-Reality.pdf
- Gerald-Doussot-Roger-Meyer-State-of-DNS-Rebinding-Attack-and-Prevention-Techniques-and-the-Singularity-of-Origin.pdf
- Gerald-Doussot-Roger-Meyer-State-of-DNS-Rebinding-Attack-and-Prevention-Techniques-and-the-Singularity-of-Origin-rebind-demo1-iPad-5sec.mp4
- Gerald-Doussot-Roger-Meyer-State-of-DNS-Rebinding-Attack-and-Prevention-Techniques-and-the-Singularity-of-Origin-rebind-demo2-hook-control.mp4
- Gerald-Doussot-Roger-Meyer-State-of-DNS-Rebinding-Attack-and-Prevention-Techniques-and-the-Singularity-of-Origin-rebind-demo3-automation.mp4
- Hadrien-Barral-The-ABC-of-Next-Gen-Shellcoding.pdf
- Huber-and-Roskosch-I-m-on-Your-Phone-Listening-Attacking-VoiP-Configuration-Interfaces.pdf
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-All.pdf
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-All-Demo-Extras.zip
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-AllAtomBombing.mp4
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-AllGhostWriting.mp4
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-AllSetWindowsLongPtr.mp4
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-AllStackBomber.mp4
- Itzik-Kotler-Amit-Klein-Gotta-Catch-Them-AllnmapMap.mp4
- Jack-Baker-Hacking-Web-Assembly-Games.pdf
- Jayson-Grace-MOSE-Using-Configuration-Management-for-Evil.pdf
- Jeff-Dileo-Evil-eBPF-In-Depth.pdf
- Jens-Mueller-Re-Whats-up-Johnny-Covert-Content-Attacks-on-Email-End-to-End-Encryption.pdf
- Jmaxxz-Your-Car-is-My-Car.pdf
- OpenRemoteStart-master
- Jmaxxz - 0 - BenchCarTour.mp4
- Jmaxxz - 1 - StartingBenchCarRf.mp4
- Jmaxxz - 10 - StartImprezaWithoutTransponder.mp4
- Jmaxxz - 11 -StartMiniWIthoutKey.mp4
- Jmaxxz - 2 - CloneExistingRemote_ShortEdit - UPDATED V2.mp4
- Jmaxxz - 2 -CloneExistingRemote.mp4
- Jmaxxz - 3 - StartCar.mp4
- Jmaxxz - 4 - DriveOff - UPDATED V2.mp4
- Jmaxxz - 4 - DriveOff.mp4
- Jmaxxz - 5 - DisableWheelLockAndDrive.mp4
- Jmaxxz - 6 - StartCarAfterStop.mp4
- Jmaxxz - 9 - SqliStartCar.mp4
- Joshua-Maddux-API-Induced-SSRF.pdf
- Leon-Jacobs-Meticulously-Modern-Mobile-Manipulations.pdf
- Maksim-Shudrak-Zero-Bugs-Found-Hold-My-Beer-AFL-How-to-Improve-Coverage-guided-Fuzzing-and-Find-New-Zero-days-in-Tough-Targets.pdf
- Nikhil-Mittal-RACE-Minimal-Rights-and-ACE-for-Active-Directory-Dominance.pdf
- Nikhil - RACE - Minimal Rights and ACE for Active Directory Dominance - Demo2-ModifyServicePermissions.mp4
- Nikhil - RACE - Minimal Rights and ACE for Active Directory Dominance - Demo3-JEAToDC.mp4
- Nikhil - RACE - Minimal Rights and ACE for Active Directory Dominance - Demo4-DumpDCHash.mp4
- Nikhil - RACE - Minimal Rights and ACE for Active Directory Dominance - Demo5-CompromiseForestRoot.mp4
- Nikhil - RACE - Minimal Rights and ACE for Active Directory Dominance- Demo1-PSRemotingToDC.mp4
- Orange-Tsai-and-Meh-Chang-Infiltrating-Corporate-Intranet-Like-NSA-Pre-auth-RCE-on-Leading-SSL-VPNs.pdf
- Orange-Tsai-and-Meh-Chang-Infiltrating-Corporate-Intranet-Like-NSA-Pre-auth-RCE-on-Leading-SSL-VPNs-Demo-Video.zip
- Orange-Tsai-and-Meh Chang-Infiltrating Corporate Intranet Like NSA - Pre-auth RCE on Leading SSL VPNs-demo_fortigate.mp4
- Orange-Tsai-and-Meh Chang-Infiltrating Corporate Intranet Like NSA - Pre-auth RCE on Leading SSL VPNs-demo_pulsesecure_v1.mp4
- Pedro-Cabrera-SDR-Against-Smart-TVs-URL-and-Channel-Injection-Attacks.pdf
- 1_video.mp4
- 2_video.mp4
- PedroCabrera - SDR Against Smart TVs_video10-B+M.mp4
- PedroCabrera - SDR Against Smart TVs_video3-NotFinal.mp4
- PedroCabrera - SDR Against Smart TVs_video4.mp4
- PedroCabrera - SDR Against Smart TVs_video5_inject_URL.mp4
- PedroCabrera - SDR Against Smart TVs_video6-IISS-SDR.mp4
- PedroCabrera - SDR Against Smart TVs_video7-IISS-DNS.mp4
- PedroCabrera - SDR Against Smart TVs_video8-KL.mp4
- PedroCabrera - SDR Against Smart TVs_video9-Mi.mp4
- Sheila-A-Berta-Backdooring-hardware-devices-by-injecting-malicious-payloads-on-Microcontrollers.pdf
- Xiling-Gong-Peter-Pi-Exploiting-Qualcomm-WLAN-and-Modem-Over-The-Air.pdf
- Yaron-Zinar-and-Marina-Simakov-Relaying-Credentials-Has-Never-Been-Easier-How-to-Easily-Bypass-the-Latest-NTLM-Relay-Mitigations.pdf
- albinowax-HTTP-Desync-Attacks.pdf
- albinowax-HTTP-Desync-Attacks-tool
- build
- out
- resources
- src
- build.gradle
- readme.md
- sqlite-jdbc-3.23.1.jar
- turbo-intruder-all.jar
- finalphoenix-Rise-of-the-Hypebots.pdf
- Alexandre-Borges-dotNET-Malware-Threats.pdf
- Alon-Weinberg-Please-inject-me-a-x64-code-injection.pdf
- Alvaro-Munoz-Oleksandr-Mirosh-SSOWars-The-Token-Menace.pdf
- Amit-Waisel-and-Hila-Cohen-malproxy.pdf
- Andreas-Baumhof-Are-Quantum-Computers-Really-A-Threat-To-Cryptography.pdf
- Andy-Grant-Unpacking-pkgs.pdf
- Ariel-Adversariel-Herbert-Voss-Dont-Red-Team-AI-like-a-Chump.pdf
- Ben-Morris-More-Keys-Than-A-Piano-Finding-Secrets-In-Publicly-Exposed-Ebs-Volumes.pdf
- Ben-Sadeghipour-Owning-the-clout-through-SSRF-and-PDF-generators.pdf
- Bill-Swearingen-HAKC-The-Police.pdf
- Brad-Dixon-Cheating-in-eSports-How-to-cheat-at-virtual-cycling-using-USB-hacks.compressed.pdf
- Brad-Dixon-Cheating-in-eSports-How-to-cheat-at-virtual-cycling-using-USB-hacks.pdf
- Brent-Stone-Reverse-Enginerring-17-Cars.pdf
- Brizendine-Stroschein-The-JOP-ROCKET-DEMO-1.mp4
- Brizendine-Stroschein-The-JOP-ROCKET.pdf
- Campbell-Murray-GSM-We-can-hear-everyone-now.pdf
- Christopher-Roberts-Firmware-Slap.pdf
- Dan-Regalado-Defcon27AliDan.pdf
- Daniel-Romero-and-Mario-Rivas-Why-you-should-fear-your-mundane-office.pdf
- Elliott-Thompson-Mi-Casa-Su-Casa.pdf
- Eyal-Itkin-Say-Cheese-How-I-Ransomwared-Your-DSLR-Camera.pdf
- Gregory-Pickett-Breaking-The-Back-End-It-Is-Not-Always-A-Bug.-Sometimes-It-Is-Just-Bad-Design.pdf
- Jacob-Baines-Help-Me-Vulnerabilities.-Youre-My-Only-Hope.pdf
- Jesse-Michael-Get-off-the-kernel-if-you-cant-drive.pdf
- Joe-Grand-Badge.pdf
- Joseph-Cox-How-You-Can-Buy-ATT-T-Mobile-and-Sprint-Real-Time-Location-Data-on-the-Black-Market.pdf
- Joseph-Menn-Change-the-World-cDc-Style.pdf
- Junyu-Zhou-and-Ce-Qin-and-Jianing-Wang-Web2Own-Attacking-Desktop-Apps-From-Web-Securitys-Perspective.pdf
- Katherine-Pratt-Hacking-Your-Thoughts-Batman-Forever-meets-Black-Mirror.pdf
- Kyle-Gwinnup-Next-Generation-Process-Emulation-with-Binee.pdf
- Masarah-Paquet-Clouston-Olivier-Bilodeau-The-Industry-of-Social-Media-Manipulation-Driven-by-Malware.pdf
- Matt-Wixey-Sound-Effects-Exploring-Acoustic-Cyber-Weapons.pdf
- Michael-Leibowitz-and-Topher-Timzen-EDR-Is-Coming-Hide-Yo-Sht.pdf
- Michael-Stepankin-Apache-Solr-Injection.pdf
- Nicolas-Oberli-Poking-the-S-in-SD-cards.PDF
- Nina-Kollars-Confessions-of-a-Nespresso-Money-Mule.pdf
- Omer-Gull-SELECT-code-execution-FROM-USING-SQLite.pdf
- Panel-DC101-The-Panel.pdf
- Patrick-Wardle-Harnessing-Weapons-of-Mac-Destruction.pdf
- Phar-No-Mas-How-One-Side-Channel-Flaw-Opens-Atm-Pharmacies-and-Government-Secrets-Up-to-Attack.pdf
- Philippe-Laulheret-Introduction-to-Hardware-Hacking-Extended-Version.pdf
- Roger-Dingledine-TOR-Censorship-Arms-Race.pdf
- Travis-Palmer-First-try-DNS-Cache-Poisoning-with-IPv4-and-IPv6-Fragmentation.pdf
- Truman-Kain-Surveillance-Detection-Scout.pdf
- Wenxiang-Qian-Yuxiang-Li-Huiyu-Wu-Breaking-Google-Home-Exploit-It-with-SQLite-Magellan.pdf
- WillC-Phreaking-Elevators.pdf
- Workshop-Anthony-Rose-Introduction-to-AMSI-Bypasses-and-Sandbox-Evasion.pdf
- Xiaohuihui-All-The-4G-Modules-Could-Be-Hacked.pdf
- Zhang-Xiangqian-Liu-Huiming-Your-secret-files-are-mine.pdf
- d4krm4tter-Mike-Spicer-I-Know-What-You-Did-Last-Summer.pdf
- droogie-go-null-yourself.pdf
- grichter-Reverse-Engineering-4G-Hotspots-For-Fun-Bugs-Net-Financial-Loss.pdf
- jiska-fabian-vacuum-cleaning-security.pdf
- smea-Adventures-in-smart-buttplug-penetration-testing.pdf
Ya hay disponible bastante material de las presentaciones de DEF CON 27:
Webinar Sobre Docker, Kubernetes y SecDevOps
- April 11, 2019
- tuxotron
-
Semana 1: Introducción al mundo Docker: Conceptos, Dockerfile e Imágenes
-
Conceptos
-
Instalación: Windows, Linux
-
Primeros pasos
-
Dockerfile
-
Imágenes de Docker
-
-
Semana 2: Contenedores y Redes. Construyendo tu mundo dinámico y automatizado
-
¿Qué es un contenedor?
-
La importancia del contenedor
-
Construyendo
-
Usando
-
Almacenamiento datos
-
Limpieza de contenedores
-
Docker Compose
-
Instalación
-
Configuración y múltiples opciones
-
Redes
-
Bridge
-
Host
-
Overlay
-
MacVLAN
-
Gestión y ejemplos
-
-
Semana 3: Orquestadores (Kubernetes)
-
Kubernetes
-
Manejo de clúster
-
Ciclo de vida contenedores
-
Redundancia
-
Elasticidad
-
Mover contenedores entre nodos
-
Minikube
-
Redes
-
Pod-Service y External-Service
-
Deployment
-
Estrategias de actualización
-
-
Semana 4: Punto final: Buenas prácticas & SecDevOps
-
Buenas practicas
-
SevDevOps
-
Resumen
-
Basado en el libro de Docker: SecDevOps, Fran Ramírez, Alberto Berdugo y un servidor, hemos tenido la oportunidad de grabar un webinar en colaboración con The Security Sentinel.
En dicho webinar, prácticamente hemos cubierto todo el contenido del libro, pero en vez de la introducción a Docker Swarm, la hemos sustituido con una amplia introducción a Kubernetes y hemos ampliado la parte de SecDevOps. Además cada apartado teórico está repleto de ejemplos para que el alumno pueda poner en práctica lo aprendido.
Además, comprando el webinar, recibirás una copia del libro (envío gratuito dentro España).
Para que te hagas una idea de lo que podrás encontrar en los vídeos, dejo aquí el índice:
Son 12 horas de vídeo sobre una tecnología emergente, que ya seas desarrollador, administrador de sistemas, investigador de seguridad, analista forense, etc, debes conocer para mantener tus conocimientos al día.
Calculamos que siguiendo el material presentado en los vídeos, tendrás una carga de trabajo de unas 35 horas en total. El curso puedes seguirlo a tu ritmo sin fechas límites.
Moviendo las imágenes de Flickr a Digital Ocean Spaces
- February 2, 2019
- tuxotron
En Cyberhades hemos estado usando Flickr como repositorio de imágenes desde el 2008. Incluso en los años 2015 y 2016 pagamos por una cuenta profesional, que honestamente no recuerdo la differencia entre la cuenta pro y la gratuita free, cuyo coste era de $24.95 al año. A partir del año 2017 volvimos a usar la cuenta free, porque no le estábamos sacando ningún beneficio a la cuenta de pago. Nuestra experiencia con Flickr siempre ha sido muy positiva, nunca hemos tenido problemas con el servicio, pero el año pasado Flickr fue adquirida por SmugMug, y recientemente anunciaron que las cuentas gratuitas de Flickr estarían limitadas a un máximo de 1000 imágenes, y el resto serían borradas, a menos que pagues por una cuenta pro, $50 al año, o $6 al mes. En nuestro caso, tenemos en Flickr 3.997 imágenes, con lo cual si Flickr nos borra 2.997 imágenes, tendría un gran impacto en el blog. La cuenta pro de Flickr provee de otros beneficios más allá del número ilimitado de fotos, y si eres fotógrafo lo mismo te interesa, pero en nuestro caso, quitando el CDN, no nos aporta ningún valor extra que beneficie el blog.
El motivo de esta entreda no es publicar el hecho que hemos movido las fotos de sitio, sino el compartir cómo lo hicimos.
Lo primero era decidir dónde migrar, y después de mirar varios proveedores en la nube, decidimos usar el servicio Spaces de Digital Ocean. Hace unos 3 años que nos movimos a este proveedor y estamos muy satisfechos con sus servicios. Spaces, además también tiene un CDN y es compatible con S3 de Amazon, es decir, puedes usar cualquier cliente o herramienta diseñada para S3 con Spaces, y otra cosa que nos gusta mucho de Digital Ocean, es la política de precios, puedes contratar servicios a precio fijo, y no por uso. Personalmente no me gustan las sorpresas, sobre todo al final de mes cuando te llega la factura para pagar :)
Lo siguiente que necesitamos hacer es descargar las fotos de Flickr. Por suerte, Flickr nos permite descargar todos nuestros datos, incluidas las imágenes. Para ello debes ir a la página de datos de tu cuenta, y requerir tus datos. Despueés de un rato (depende del número de fotos que tengas), tendrás disponibles los ficheros para descarga, como puede verse en la siguiente imagen:
Cada uno de esos archivos .zip contiene 500 imágenes. Después de bajarnos todos los zips y extraer el contenido, nos encontramos con el primer problema. El nombre de los ficheros no es exactamente el nombre original de la imagen. Flickr le añade un número (identificador único), más _o, supongo que esa ‘o’ correspende a original. Es decir, cuando tu subes una imagen a Flickr, éste le asgina al nombre del fichero id_o, además Flickr crea varias imágenes (distintos tamaños) derivadas de la original.
Si el fichero original es: libro-microhistorias-informatica--nuevo0xword.jpg
, Flickr lo almacena como libro-microhistorias-informatica--nuevo0xword_8768892888_o.jpg
. Ese número 8768892888, sería el identificador único.
El problema con el que nos encontramos aquí, es que los enlaces a las imágenes en Flickr, tienen esta pinta: https://farm4.staticflickr.com/3803/8768892888_8932423465.jpg
. Como vemos, nuestro identificador is parte de la URL, por lo que tenemos que extraerlo y mapear el mismo con el nombre de la foto, para así poder reemplazar en enlace de Flickr por el nuevo en Digital Ocean.
Para ello escribi un script en Python. La función que mapea los identificadores a cada fichero, lee todos los ficheros, extrae el numero del nombre del fichero, y lo pone en un diccionario junto al nombre. Me encontré con algunas excepciones en el que número que búscamos no esta el tercera posición (después de dividir el nombre por el carácter ‘_’), y algunas veces se encontraba en la cuarta posición.
def loadFilenames(picspath):
dict = {}
onlyfiles = [f for f in listdir(picspath) if isfile(join(picspath, f))]
for entry in onlyfiles:
tokens = entry.split("_")
if tokens[-3].isdigit():
dict[tokens[-3]] = entry
if len(tokens) > 3 and tokens[-4].isdigit():
dict[tokens[-4]] = entry
return dict
Lo siguiente que tenemos que hacer es encontrar los enlaces de las imágenes a Flickr en todas las entradas, y reemplazar dichos enlaces con los nuevos en Digital Ocean. Aquí nos encontramos con otro problema. Durante todos estos años, el formato de los enlaces en Flickr han cambiado ligeramente, por lo que tenemos que encontrar las distintas formas que hemos usado. Para ello usé las siguintes expresiones regulares:
matches = re.findall("http[s]?://farm?.\.static\.*flickr\.com/\d+/\d+_\w+\.[a-z]{3,4}", c)
matches = matches + re.findall("http[s]?://www\.flickr\.com/photos/cyberhades/\d+/*", c)
matches = matches + re.findall("http[s]?://c?.\.staticflickr\.com/\d+/\d+/\d+_\w+\.[a-z]{3,4}", c)
Una vez tenemos nuestras expresiones regulares, tenemos que ir por todas las entradas del blog, buscar si existe algún enlace que corresponde con alguna de las expresiones regulares y sustituirlo con el nuevo enlace de la imagen correspondiente. Pero antes de hacer esto, necesitamos subir nuestras imágenes a nuestro Spaces.
Spaces cuesta $5 al mes y nos ofrece 250gb de espacio. A la hora de crear el space asegúrate activar el CDN, una vez creado, todo lo que tienes que hacer es subir las imágenes. Lo puedes hacer usando el propio panel de control de Digital Ocean, o usando algún cliente. En nuestro caso, escribí una aplicación en Go. Para ello necesitas crear un token desde el panel de control de Digital Ocean, para poder acceder a tu space desde tu aplicación. Aquí puedes ver el código de dicho fichero. Un par de detalles a tener en cuenta, es que cuando subes un fichero, tienes que especificar el Content-Type:
func GetFileContentType(out *os.File) (string, error) {
// Only the first 512 bytes are used to sniff the content type.
buffer := make([]byte, 512)
_, err := out.Read(buffer)
if err != nil {
return "", err
}
contentType := http.DetectContentType(buffer)
return contentType, nil
}
Y asegúrate que el fichero es accesible de forma pública:
...
// Make the file public
userMetaData := map[string]string{"x-amz-acl": "public-read"}
// Upload the file with FPutObject
n, err := client.FPutObject(spaceName, objectName+strings.Replace(path, dirPath, "", 1), path, minio.PutObjectOptions{ContentType: contentType, CacheControl: cacheControl, UserMetadata: userMetaData})
if err != nil {
log.Fatalln(err)
}
...
Antes de subir nuestras imáges, hay una cosa más que hacer. Las imágenes que nos bajamos desde Flickr, son las imágenes originales, la mayoría son bastante grandes de tamaño y poco aconsejables para el blog, así lo suguiente que hicimos fue bajar la resolución de las imágenes un máximo de 600 pixeles de ancho, guardando el aspecto y sólo modificando las imágenes cuya resolución es mayor que los 600 pixeles horizontales, es decir, las imágenes pequeñas no las queremos modificar. Para ello hicimos uso del extraordinario ffmpeg:
for i in *; do ffmpeg -i $i -vf "scale='min(600,iw)':-1'" ${i%.*}_opt.${i#*.}; done
Con scale='min(600,iw)'
nos aseguramos que sólo las imágenes con una resolución mayor de 600 pixeles horizontales (width) son modificadas, y con :-1
guardamos el aspecto de la misma.
Este comando no sobreescribe el fichero original, sino que genera un fichero con el mismo nombre para añade _opt al final (antes de la extensión).
Una vez tenemos nuestras imágenes ya las podemos subir a nuetro space.
Como se puede ver, cada imagen tiene dos enlaces: Origin y Edge, este último es el que queremos usar, ya que es el que hace uso del CDN.
Ya lo último que nos queda por hacer es el reemplazar los enlaces de Flickr por los nuevos en Digital Ocean:
...
for match in matches:
if '_' in match:
k = match.split('/')[-1].split('_')[0]
else:
tokens = match.split('/')
if tokens[-1].isdigit():
k = tokens[-1]
else:
k = tokens[-2]
if k in dict:
c = c.replace(match, "https://cyberhades.ams3.cdn.digitaloceanspaces.com/imagenes/" + dict[k])
print(entry)
o = open(entry, "w", encoding = "ISO-8859-1")
o.write(c)
o.close()
...
El script de Python completo los puedes encontrar aquí.
Para acabar decir que Digital Ocean Spaces no es más barato que el haber pagado por una cuenta pro en Flickr, pero Spaces nos da mucho más juego.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec