martes, 30 de junio de 2020

Top 12 Free Websites to Learn Hacking

  1. SecTools.Org: List of 75 security tools based on a 2003 vote by hackers.
  2. Exploit DB: An archive of exploits and vulnerable software by Offensive Security. The site collects exploits from submissions and mailing lists and concentrates them in a single database.
  3. SecurityFocus: Provides security information to all members of the security community, from end users, security hobbyists and network administrators to security consultants, IT Managers, CIOs and CSOs.
  4. HackRead: HackRead is a News Platform that centers on InfoSec, Cyber Crime, Privacy, Surveillance, and Hacking News with full-scale reviews on Social Media Platforms.
  5. The Hacker News: The Hacker News — most trusted and widely-acknowledged online cyber security news magazine with in-depth technical coverage for cybersecurity.
  6. Hacked Gadgets: A resource for DIY project documentation as well as general gadget and technology news.
  7. Metasploit: Find security issues, verify vulnerability mitigations & manage security assessments with Metasploit. Get the worlds best penetration testing software now.
  8. Phrack Magazine: Digital hacking magazine.
  9. Hakin9: E-magazine offering in-depth looks at both attack and defense techniques and concentrates on difficult technical issues.
  10. KitPloit: Leading source of Security Tools, Hacking Tools, CyberSecurity and Network Security.
  11. NFOHump: Offers up-to-date .NFO files and reviews on the latest pirate software releases.
  12. Packet Storm: Information Security Services, News, Files, Tools, Exploits, Advisories and Whitepapers.

jueves, 11 de junio de 2020

¡Todos Contra IBM! O Cómo La Empresa Compaq Venció (Con La Ayuda De Amigos) Al Gigante IBM En La Guerra Del PC

En la fantástica y maravillosa serie "Halt Catch and Fire", la cual está basada sutilmente en la historia de Compaq (sobre todo en su primera temporada), se muestra una de las mayores hazañas de ingeniería (y, por cierto, también de marketing) con permiso claro está de Steve Wozniak y su Apple I. En ella aparecen los dos protagonistas, los cuales quieren fabricar un ordenador compatible con IBM, pero claro, para conseguirlo tienen antes que superar un gran obstáculo: crear una BIOS "similar" a la fabricada por el Gigante Azul (o Big Blue, apodo de IBM).

Figura 1: ¡Todos contra IBM! o cómo la empresa Compaq venció
(con la ayuda de amigos) al gigante IBM en la guerra del PC

Pues esto fue con exactitud lo que ocurrió realmente cuando los primeros empleados de la empresa Compaq se propuso crear un ordenador más barato que pudiera ejecutar las aplicaciones creadas para IBM. Y esto provocó quizás la mayor batalla comercial, al menos en el mundo de los ordenadores, de todos los tiempos. Por cierto, esta historia al completo y otras muchas relacionadas con auténticos hackers las podéis encontrar en nuestro libro "Microhistorias: Anécdotas y Curiosidades de la historia de la Informática (y los hackers)" de 0xWord.

Figura 2: Libro de Microhistorias: Anécdotas y curiosidades
de la historia de la informática (y los hackers) en 0xWord

Esta tarea, por supuesto, no fue nada fácil. Los tres fundadores de Compaq, Rod Canion, Jim Harris y Bill Murto, tenían claro que este proceso tenía que ser muy cuidadoso. Para evitar que IBM les acusara de plagio por copiar la BIOS, decidieron crear una ellos mismos. Para ello aplicaron ingeniería inversa a la BIOS de IBM y partiendo de esta información, crear una propia y así evitar alguna demanda (aunque de esto no se librarían como veremos más adelante). Para esta ardua tarea, crearon dos equipos, uno iría realizando la ingeniería inversa a la BIOS original tal y como hemos contado antes, y otro comenzaría desde cero a crear otra partiendo de los datos del primero.

Figura 3: Jim Harris, Bil Murto y Rod Canion, fundadores de Compaq

Resumiendo esta parte de la historia (todo lo que rodea a la fundación de Compaq y la ingeniería inversa daría para otra Microhistoria), finalmente lo consiguieron y así nació el primer clónico IBM que además era portátil, el Compaq Portable (unos 3500$ de la época, con doble disquetera). A pesar de que invirtieron un millón de dólares en la fabricación, fue muy rentable ya que consiguieron más de 111 millones sólo el primer año de su puesta en el mercado. Misión cumplida, pero esto es sólo el comienzo de la historia de David (y algunos amigos) contra Goliat.

Figura 4: El primer ordenador compatible IBM, el Compaq Portable

IBM como podéis imaginar, no se quedó de brazos cruzados. Intentó por todos lo medios evitar que Compaq pudiera sacar al mercado sus ordenadores clónicos, utilizando todos sus recursos legales (que eran auténticos ejércitos de abogados). Al final consiguieron que Compaq pagara varios millones de multas por infringir sus patentes, las cuales curiosamente no tenían nada que ver con la BIOS, sino con otros componentes del ordenador como, por ejemplo, la fuente de alimentación.

Pero Compaq había abierto la Caja de Pandora. Otros fabricantes de la época vieron el filón de la creación de ordenadores personales compatibles con IBM, ya que estos acaparaban el negocio del software, sobre todo de gestión empresarial. Así que IBM tenía que hacer algo radical si no quería perder el mercado que había sido exclusivamente suyo durante años.

Figura 5: Logotipo original de Compaq

A finales de los ochenta, Compaq ya vendía más ordenadores que IBM, algo realmente impensable unos años antes. En 1987, IBM, en un movimiento desesperado de reacción contra Compaq, sorprendió a la industria con una nueva tecnología llamada Micro Channel Architecture o el bus Micro Channel (MCA) de 16/32 bits, muy superior en funcionalidad comparada con la actual tecnología bus ISA. Además, sacaron simultáneamente un flamante nuevo ordenador el cual llevaba implementada esta nueva arquitectura: el IBM PS/2. La idea era ofrecer algo nuevo, innovador que mantuviera a los fabricantes de clónicos ocupados durante unos años y de esta forma volver a tomar la delantera en el mercado de los PCs.

El nuevo hardware era un cambio radical. Además de incluir los nuevos MCA se incluyeron otras nuevas características como el ya famoso puerto PS/2 para teclado y ratón, doble BIOS (una para la compatibilidad con los viejos PCs (Compatible BIOS, CBIOS) y otra totalmente nueva (Advanced BIOS, ABIOS). Esta nueva ABIOS incluía un modo protegido utilizado por el sistema operativo OS/2, la otra sorpresa presentada por IBM.

Figura 6: Modelos de la familia PS/2 de IBM

OS/2 era un sistema operativo (desarrollado junto a Microsoft) que fue anunciado a la vez que el IBM PS/2, el problema es que este se puso en el mercado un poco tarde, y por lo tanto los primeros modelos venían con el clásico IBM PC DOS 3.3. A pesar de todo, la jugada parecía que iba a funcionar. La nueva arquitectura era mucho mejor que la anterior y, además, prácticamente todo el software (la gran baza que todos los fabricantes querían mantener) era compatible. 

Y con este nuevo hardware y el OS/2, el cual ofrecía características innovadoras para la época como un modo protegido, una API gráfica o un nuevo sistema de ficheros llamado HPFS. Este nuevo asalto de IBM no podía fallar, lo tenía todo, hardware más rápido y eficiente (aunque todo el hardware desarrollado hasta ahora no se podía instalar en este nuevo ordenador) pero además ofrecía una nueva base para el desarrollo de software más avanzado.

Figura 7: Aspecto del OS/2 Warp, el cual tiene un razonable parecido a Windows

IBM protegió toda la tecnología del IBM PS/2 rozando casi lo absurdo. El número de patentes asociados a todos los componentes ya sea software o hardware era realmente inmenso. No podían dejar que volviera a pasar lo mismo que ocurrió con Compaq. Esta vez iban a crear de nuevo un imperio, pero con sus normas desde la base. De hecho, las tasas que cobraban (hasta un 5%) para que una tercera empresa pudiera utilizar su nueva tecnología eran realmente exageradas, lo que provocó que sólo un pequeño número de compañías se atrevieran a fabricar tanto hardware como software compatible con el PS/2

Así que IBM se sentó a esperar la reacción de sus competidores, no sin cierta satisfacción, ya que si querían seguir con su estrategia de "imitación" de sus productos, esta vez lo tenían todo atado para que estos pasaran por caja. Pero la respuesta de sus competidores, contra todo pronóstico, sorprendió totalmente a IBM y a la industria en general.

Figura 8: Aspecto de una tarjeta gráfica IBM XGA-2 de 32 bis con tecnología MCA

En 1988, sólo un año después del movimiento de IBM, las nueve principales empresas que fabricaban ordenadores clónicos IBM de la época: AST Research, Compaq Computer (liderando este consorcio), Epson, HP, NEC, Olivetti, Tandy, WYSE y Zenith Data Systems reaccionaron ante este desafío haciendo algo realmente innovador y que IBM no esperaba en absoluto: crearon un estándar nuevo "abierto" llamado EISA el cual era compatible con todo el hardware actual del IBM PC XT-Bus. Pero además ofrecía nuevas características (como el bus mastering, que permitía el acceso a 4GB de memoria) para hacerlo más rápido y eficiente, casi al nivel del MCA. Esto no lo esperaba IBM.

Figura 9: Aspecto del bus EISA

Este cambio total de estrategia descolocó totalmente al Gigante Azul, el cual intentó por todos los medios impulsar sus IBM PS/2 así como OS/2 pero poco a poco, EISA fue ganando la batalla. EISA era más barato de implementar y además al ser abierto, cualquiera podría fabricarlo. Había comenzado la batalla final por la supremacía de la industria del PCPero EISA había nacido para ganar desde el primer momento. 

Posiblemente, IBM hubiera vencido esta batalla si en vez de crear algo totalmente incompatible y nuevo, se hubiera centrado algo más en la compatibilidad de los viejos sistemas y sacar algo parecido al EISA, pero con tasas y royalties más asequibles por su utilización. De esta forma, el resto de las empresas no hubiera tenido más remedio que seguir su estela, pero ellos estarían a la cabeza. Pero lamentablemente, su estrategia radical hizo que sus competidores sacaran un sistema abierto provocando una divergencia en el mercado que IBM acabó perdiendo.

Figura 10: Tarjeta de vídeo EISA e ISA, ELSA Winner 1000

Después del fracaso del MCA y los PS/2, a pesar de ser un gran ordenador y sistema operativo, IBM comenzó su declive como fabricante de ordenadores PC. Pero aún así, IBM se mantuvo a flote con las ventas del PS/2 (vendió 1.5 millones de unidades) e incluso llegó a fabricar, en 1996, ordenadores con el bus EISA integrado hasta la llegada del PCI. Pero IBM se atascó en el mercado del PC y finalmente en 2004, vendió su división de ordenadores a la empresa china Lenovo. IBM no soportó el tremendo fracaso del PS/2 y la inesperada estrategia del clan de los nueve. Compaq había ganado la batalla del PC

Pero lo más curioso de todo esto, es que realmente la ganadora al final de todas estas batallas sin piedad ha sido IBM. Después de encarnizada lucha con Compaq, IBM se centró más en software (empresarial), servidores e incluso superordenadores, es decir, más investigación y supercomputación. Hoy día IBM es uno de los líderes en investigación relacionada con la Inteligencia Artificial (IA) y su flamante Watson, hardware y software de IA orientado a los negocios, lanzando Power9 - por ejemplo -, y está apostando fuerte por el ordenador cuántico. También es propietaria de una de las distribuciones Linux más extendidas a nivel comercial, Red Hat. IBM es posiblemente la mejor demostración implícita de cómo reinventarse cuando algo o alguien nos quita nuestro "queso", algo que ahora, lamentablemente, tenemos más que nunca tener en cuenta ante la nueva situación mundial, tal y como Chema Alonso explicó en este post.

Figura 10: El superordenador IBM Watson

Pero IBM ha sobrevivido y sigue a la cabeza de la innovación tecnológica. De hecho, el primer ordenador cuántico comercial también ha sido fabricado por IBM. ¿Estamos ante las puertas de una nueva guerra, esta vez por el mercado del ordenador cuántico? En cierta manera, IBM ha vuelto a la delantera del "PC" (cuántico esta vez). De todas formas, a ver quién es el/la valiente que le hace ingeniería inversa a la BIOS de un ordenador cuántico, si es que tiene alguna ;). Por cierto, el documental "Silicon Cowboys" explica en detalle la historia de Compaq y su guerra con IBM. No está mal para tres emprendedores que, en principio, querían montar un restaurante de comida mejicana … menos mal que cambiaron de opinión.

Happy Hacking Hackers!!!

Autores:

Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad" además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.


 Contactar con Fran Ramírez en MyPublicInbox

Rafael Troncoso
(@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" además del blog CyberHades. Puedes contactar con Rafael Troncoso en MyPublicInbox.



Contactar con Rafael Troncoso en MyPublicInbox

Related word


  1. Pentest Open Source
  2. Hacker Forum
  3. Hacking Device
  4. Pentest Wifi
  5. Hacking With Raspberry Pi
  6. Pentest Iso
  7. Pentestmonkey
  8. Hacking Games Online
  9. Hacking Jacket
  10. Pentest Xss
  11. Pentesting
  12. Pentest Services

NcN 2015 CTF - theAnswer Writeup


1. Overview

Is an elf32 static and stripped binary, but the good news is that it was compiled with gcc and it will not have shitty runtimes and libs to fingerprint, just the libc ... and libprhrhead
This binary is writed by Ricardo J Rodrigez

When it's executed, it seems that is computing the flag:


But this process never ends .... let's see what strace say:


There is a thread deadlock, maybe the start point can be looking in IDA the xrefs of 0x403a85
Maybe we can think about an encrypted flag that is not decrypting because of the lock.

This can be solved in two ways:

  • static: understanding the cryptosystem and programming our own decryptor
  • dynamic: fixing the the binary and running it (hard: antidebug, futex, rands ...)


At first sight I thought that dynamic approach were quicker, but it turned more complex than the static approach.


2. Static approach

Crawling the xrefs to the futex, it is possible to locate the main:



With libc/libpthread function fingerprinting or a bit of manual work, we have the symbols, here is the main, where 255 threads are created and joined, when the threads end, the xor key is calculated and it calls the print_flag:



The code of the thread is passed to the libc_pthread_create, IDA recognize this area as data but can be selected as code and function.

This is the thread code decompiled, where we can observe two infinite loops for ptrace detection and preload (although is static) this antidebug/antihook are easy to detect at this point.


we have to observe the important thing, is the key random?? well, with the same seed the random sequence will be the same, then the key is "hidden" in the predictability of the random.

If the threads are not executed on the creation order, the key will be wrong because is xored with the th_id which is the identify of current thread.

The print_key function, do the xor between the key and the flag_cyphertext byte by byte.


And here we have the seed and the first bytes of the cypher-text:



With radare we can convert this to a c variable quickly:


And here is the flag cyphertext:


And with some radare magics, we have the c initialized array:


radare, is full featured :)

With a bit of rand() calibration here is the solution ...



The code:
https://github.com/NocONName/CTF_NcN2k15/blob/master/theAnswer/solution.c





3. The Dynamic Approach

First we have to patch the anti-debugs, on beginning of the thread there is two evident anti-debugs (well anti preload hook and anti ptrace debugging) the infinite loop also makes the anti-debug more evident:



There are also a third anti-debug, a bit more silent, if detects a debugger trough the first available descriptor, and here comes the fucking part, don't crash the execution, the execution continues but the seed is modified a bit, then the decryption key will not be ok.





Ok, the seed is incremented by one, this could be a normal program feature, but this is only triggered if the fileno(open("/","r")) > 3 this is a well known anti-debug, that also can be seen from a traced execution.

Ok, just one byte patch,  seed+=1  to  seed+=0,   (add eax, 1   to add eax, 0)

before:


after:



To patch the two infinite loops, just nop the two bytes of each jmp $-0



Ok, but repairing this binary is harder than building a decryptor, we need to fix more things:

  •  The sleep(randInt(1,3)) of the beginning of the thread to execute the threads in the correct order
  •  Modify the pthread_cond_wait to avoid the futex()
  • We also need to calibrate de rand() to get the key (just patch the sleep and add other rand() before the pthread_create loop
Adding the extra rand() can be done with a patch because from gdb is not possible to make a call rand() in this binary.

With this modifications, the binary will print the key by itself. 

Read more
  1. Hackintosh
  2. Hacking To The Gate
  3. Pentest+ Vs Ceh
  4. Hacking Browser
  5. Pentest Enumeration
  6. Hacker On Computer
  7. Pentest Linux
  8. Pentest Windows 7
  9. Pentest Tools Free
  10. Pentest Linux

How To Start | How To Become An Ethical Hacker

Are you tired of reading endless news stories about ethical hacking and not really knowing what that means? Let's change that!
This Post is for the people that:

  • Have No Experience With Cybersecurity (Ethical Hacking)
  • Have Limited Experience.
  • Those That Just Can't Get A Break


OK, let's dive into the post and suggest some ways that you can get ahead in Cybersecurity.
I receive many messages on how to become a hacker. "I'm a beginner in hacking, how should I start?" or "I want to be able to hack my friend's Facebook account" are some of the more frequent queries. Hacking is a skill. And you must remember that if you want to learn hacking solely for the fun of hacking into your friend's Facebook account or email, things will not work out for you. You should decide to learn hacking because of your fascination for technology and your desire to be an expert in computer systems. Its time to change the color of your hat 😀

 I've had my good share of Hats. Black, white or sometimes a blackish shade of grey. The darker it gets, the more fun you have.

If you have no experience don't worry. We ALL had to start somewhere, and we ALL needed help to get where we are today. No one is an island and no one is born with all the necessary skills. Period.OK, so you have zero experience and limited skills…my advice in this instance is that you teach yourself some absolute fundamentals.
Let's get this party started.
  •  What is hacking?
Hacking is identifying weakness and vulnerabilities of some system and gaining access with it.
Hacker gets unauthorized access by targeting system while ethical hacker have an official permission in a lawful and legitimate manner to assess the security posture of a target system(s)

 There's some types of hackers, a bit of "terminology".
White hat — ethical hacker.
Black hat — classical hacker, get unauthorized access.
Grey hat — person who gets unauthorized access but reveals the weaknesses to the company.
Script kiddie — person with no technical skills just used pre-made tools.
Hacktivist — person who hacks for some idea and leaves some messages. For example strike against copyright.
  •  Skills required to become ethical hacker.
  1. Curosity anf exploration
  2. Operating System
  3. Fundamentals of Networking
*Note this sites





More info


  1. Hacking Tools
  2. Hackerone
  3. Hacking Typer
  4. Pentest As A Service
  5. Pentest Owasp Top 10
  6. Pentest Checklist
  7. Pentest Questions
  8. Hacking Games
  9. Hacker Ethic
  10. Hacking Google
  11. Pentest Network
  12. Pentest Guide
  13. Pentest Online Course
  14. Hacking Names
  15. Hacking Simulator
  16. Pentest Services
  17. Hacker Computer
  18. Pentest Iso
  19. Hacking Language
  20. Hacking Hardware

How To Start PHP And MYSQL | The Best Server For PHP And MYSQL | Tutorial 1


Many of people want to start PHP programming embedded with MYSQL databases concepts. So i thought that I should start a series about PHP and MYSQL. So in this series of video tutorials you exactly got the content about PHP and MYSQL.

As PHP is server side scripting language. So it requires a server to get execute over the web browser. First of all you have to download and install a server that may be XAMPP, WAMPP or LAMPP. I'm using XAMPP server in the tutorials. So if you wanna follow me then download a XAMPP server. I'm using this because it has a good interface to work  and it's really simple. XAMPP is compatible with windows, MAC and Linux operating as well. WAMPP is only for windows and LAMPP is used for MAC and Linux operating system. So i prefer XAMPP for this series.

How to create Database

Step 1:

Open Your XAMPP control panel and start Apache and Mysql services.

Step 2:

Go to your Web browser and type "localhost/phpmyadmin". It will open your databases area. If you have an error then your services are not in running state. If you have any error then comment below.

Step 3:

Click over the "new" to create a new database.

Step 4:

Write Database_Name and click over the Create button. For example Facebook, Students etc.

Step 5:

Write Table_Name like admin, users etc. your can increase and decrease the size of rows. Click over Save/Create button.

Step 6:

Write your Attribute_Names in first column like Username, Email, Passwords etc. In the next data type column you have to select the data type whether it is integer or string type etc. In the next column you have to set the length of string/words.

Step 7:

If you wanna go through with a Primary_Key. Then just you have to checked the Auto_Increment box as you will shown in the video. For further watch the video for better understanding.