06 octubre 2011

Entrevista a Carlos Pérez de @pauldotcom

Hoy tenemos el gran placer de poder entrevistar a Carlos Pérez (AkA Darkoperator), miembro del conocido blog/podcast/webcast de seguridad informática Pauldotcom. Tuve la oportunidad de conocerle, únicamente vía Skype, cuando me entrevistó para la sección "Pauldotcom en español", y sólo puedo recordar con una sonrisa en mi cara el rato que estuvimos conversando. 

Si la grabación del podcast duró una hora, nuestra conversación duró al menos tres, en las que debatimos puntos de vista y nos contamos experiencias tanto a nivel laboral como proyectos personales, como si nos conociésemos de toda la vida. Carlos es un apasionado por la seguridad, la tecnología, la informática, la domótica y todo lo que se pueda categorizar como geek.

Sin más preámbulos, doy paso a una serie de preguntas con un poco más sobre su forma de ver la seguridad, así como su trayectoria. Por supuesto, un referente y un ejemplo a seguir.

Carlos, primero que nada, muchas gracias por concedernos un "malloc" de tu tiempo para el blog Security By Default.

- Hablemos sobre tus orígenes en Pauldotcom ¿Cómo empezaste a colaborar con ellos?

Comencé en el 2009 cuando, después de un tiempo de estar escuchando, ellos informaron que estaban buscando un nuevo integrare para el podcast, ya yo llevaba tiempo en el canal de IRC del podcast y cuando hablaban de cosas que les gustaría poder hacer con Meterpreter, lo codificaba y lo ponía en el Forum de PDC. Recuerdo que después de una entrevista en 2008 a Paul, le gustó mi dinámica y yo estando de viaje en Costa Rica en un proyecto me ofreció formar parte del grupo.

- ¿Cuántos sois? ¿Quién se encarga de qué? ¿cada uno tiene una responsabilidad? ¿Aceptáis colaboraciones?

Wow somos muchos desde internos hasta invitados recurrentes. El núcleo es de 7 personas y además hay gente que nos ayuda con la edición y administración. Sí, cada uno tiene una responsabilidad:
  • Paul es el líder y quien corre la operación
  • Mike Perez es el Productor Ejecutivo
  • John Strand está encargado de la parte consultiva con clientes y generación de contenido
  • Larry y yo llevamos la parte de los webcast y generamos contenido
  • Yo además llevo la sección de Pauldocom en español
  • Además, tenemos dos internistas que nos ayudan con edición y participan del podcast
Por supuesto, aceptamos colaboraciones…

- En mi caso, sólo he tenido que sacrificar mis horas de sueño para poder hacer cosas para SbD… ¿y en el tuyo? ¿Cómo te organizas el tiempo? Hacéis posts, entrevistas,… ¿A qué hora vives?

Buena pregunta :( dedico largas horas a mi trabajo de día, luego me dedico a Metasploit, el podcast, webcast y sobre todo mi familia tiene prioridad, es difícil organizarse, hay veces que deseo que el día tenga mas horas.  Al final del día es ejecución, muchas veces se pierde tiempo y no se ejecuta y uno mismo se pone trabas, es saber reconocer eso y meter mano.

- Has tenido una trayectoria profesional envidiable, trabajando para empresas como HP, Microsoft, Tenable. Aunque imagino que el mayor porcentaje de tus conocimientos los habrás aprendido por tu cuenta, estaría genial que nos contases un poco en qué compañía tuviste mejor oportunidad de aprender más sobre seguridad.

Bueno, en cada uno de mis trabajos anteriores he aprendido algo, en Microsoft como contratista aprendí la hermosura y peligros de automatizar, éramos pocos en el proyecto multi año que estábamos trabajando y teníamos que hacer de tripas corazones. Tuve un buen lider de equipo que me enseñó organización flexible en un ambiente políticamente cargado y cómo tener la gente adecuada en el puesto adecuado, cómo un buen gerente de proyectos puede hacer la diferencia con un cliente y gerencia. De HP te puedo decir que aprendí mucho del lado de negocios, de manejo de proyectos, mi gerente me hizo aprender de todo un poco y tomar cursos no tectónicos pero de negocios. Aprendí cómo construir centros de cómputo, cómo alinear una solución con negocio, debo decir que aprendí mucho y puse mucho en práctica. En Tenable llevo menos de un año, estoy aprendiendo de gerencia e investigación con un equipo fenomenal, todo eso lo pongo en practica con lo que estudio por el lado.

- Tienes un montón de certificaciones de seguridad: ¿Crees que aportan realmente un valor añadido a tus clientes? ¿Crees que simplemente ayudan a dar un mayor prestigio a los consultores?

Te soy sincero me sirvieron como motivación para aprender lo basico, fuera de eso, sólo es para clientes y departamentos de Recursos Humanos.

- Eres uno de los grandes contribuidores de la herramienta de seguridad metasploit. Entiendo que es "tu niña" (informáticamente hablando) de la que más orgulloso te sientes… ¿Has desarrollado alguna otra herramienta de la que nos quieras hablar?

Además del trabajo de Metasploit, he escrito herramientas como DNSRecon, GooRecon, scripts en python y ruby para sacar los hashes de SHA y NTLM de Lion, scripts para crear AP's malignos, etc… Siempre estoy escribiendo un script de bash, powershell, python o ruby para algo, hasta T-SQL para auditar servidores MS SQL y PLSQL para auditar servidores Oracle. De todos el más reciente lo es DNSRecon, que lo comencé en Ruby y lo porte a Python este año.

- Como tú siempre dices "Shell is only the beginning"… Y a partir de ahí, ¿por dónde seguimos?

Uff que te puedo decir, el titulo viene que he visto tantos supuestos expertos conseguir acceso y considerar eso como la meta final, los he visto fallar el archivo en el desktop de la máquina comprometida con el nombre de archivo passwords.xls.  Yo diría que es aplicar la misma estrategia que se aplica al penetrar un sistema pero con tácticas y metodología diferente pero los principios de saber que información buscar, analizar la misma, crear un plan y ejecutar siguen siendo los mismos.

- Cuando una compañía te pide consejo porque piensan que han sido comprometidos, ¿por dónde empiezas?

Está difícil la pregunta porque todo depende qué es lo que los hizo pensar que fueron comprometidos. Yo diría que lo primordial es ver el estado de madurez en centralización de sus logs y eventos y que es lo realmente recaudan. Además, conseguir los diagramas e inventario de aplicaciones, versiones y direccionamiento de esa semana si es que hacen scans de descubrimiento e inventario semanal como deberían. De ahí, al identificar los sistemas se toman imágenes de memoria primero y después de disco. Se evalúa qué información pudo estar en peligro inicialmente y se prepara un plan de acción. Después uno debe considerar si hay que llamar ayuda externa si es más complicado que las destrezas que se tienen internas, y tener tanto a la gerencia como a los abogados bien informados y trabajar en un plan tanto técnico, legal y de imagen pública.

- Recuerdo que cuando me entrevistaste para Pauldotcom estuvimos comentando offline, historias divertidas que nos habían sucedido en nuestra vida profesional. ¿Quieres comentar alguna públicamente? (Recuerdo la de la universidad aquella que tenían direccionamiento público y había una cantidad de WareZ en los servidores tremenda ;D)

Hay tantas! como el tiempo en que un análisis encontramos las herramientas y cuentas creadas por un grupo que hizo una prueba de penetración un año anterior, dejaron completamente expuesto al cliente y nos hicieron la vida más sencilla, hasta los dumps de credenciales estaban en un archivo escondido en el sistema. Inicialmente causó pánico porque pensamos que habían sido comprometidos y lo peor: que el atacante llevaba mas de un año atrincherado en los sistemas. Mi favorito son los pentests de 5 días no importando el tamaño de la organización, donde se demuestra que destreza y hacer las cosas bien no tienen peso, sólo el precio importa, esa es la historia triste que estoy viendo últimamente

- ¿Qué sistema operativo usas de forma diaria? ¿Por qué elegiste ese, te parece más seguro? Si contestas algo difefente a Windows ¿Usas antivirus?

Te soy sincero uso más OSX que los otros pero no pasa un día donde no use OSX, Windows 7 y Ubuntu. En OSX y Windows uso Antivirus y tengo firewalls de tercero con listado de procesos que sí pueden hablar hacia fuera y en qué puerto. Trato de mantener un balance entre un sistema seguro y usable.

-¿Cada cuánto auditas tus propios sistemas?

 Corro Nessus contra mis sistemas una vez por semana sólo para estar seguro de aplicaciones de terceros y trato de tener mi sistema de laboratorio aislado con todas las máquinas virtuales en otra pata de mi firewall. Te soy sincero no me he escapado de ser infectado y tener que cambiar todos mis passwords y reconstruir mis sistemas. Veo una infección de cualquier virus como que alguien entró, y basado en mi investigación y código que escribo sé lo que se puede hacer con un único punto de entrada, por lo cual tomo mi seguridad en serio.

- ¿Qué recomendación le darías a aquellos de nuestros lectores que se estén iniciando en el mundo de la seguridad? ¿Qué hay que hacer para ser como tú?

¿Como yo? yo sólo soy un estudiante. Diría que lo primero es dejar el ego atrás, ser humilde y darse de cuenta que nunca lo podrás cubrir todo y estar dispuesto a aceptar críticas y a aprender de otros. Diría que una de las primeras cosas es aprender a manejar una red y un sistema antes de aprender atacarlo. Saber cómo manejar el balance de seguridad y usabilidad. Se tienen que tener fundamentos sólidos de programación, redes y protocolos base; sobre todo practicar con determinación y de manera correcta. Recomiendo encarecidamente el libro "Talent is Overrated" que cubre sobre la importancia de la práctica y el dominio de los principios como base de ser bueno en algo. Otra cosa importante es compartir y enseñar, porque antes de hacerlo tienes que dominarlo lo suficiente para explicar la base de ello y te lleva al dominio del tema. También te enriqueces como persona y aprendes de esos que enseñas y sus puntos de vista y opiniones.

Carlos con un "viejo conocido de este sector" en la DerbyCon 2011


For those English-speaking readers, who want to know more about Carlos Pérez life, here you have the same interview in English.


Interview to Carlos Pérez from @pauldotcom

Today, we are very pleased to be able to interview Carlos Pérez (AKA Darkoperator), member of the well-known computers security blog/podcast/webcast Pauldotcom. I had the chance to know him, only via Skype, when he interviewed me for the section "Pauldotcom en Español", and I only can remember that chat time with a smile in my face.

If the podcast recording took one hour, we were chatting for three, when we discussed about our points of view and experiences both related to job and personal projects, in the same way we knew each other for the whole life. Carlos is very security, technology, computers, domotics and every geek stuff passionated person.

Without more preambles, here you have some questions about his way of considering security, and also his career. Of course, a reference and an example to follow to.

Carlos, first of all, thank you very much for giving us a "malloc" of your time for Security by Default blog.

- Let's talk about your origin in Pauldotcom. How did you begin to collaborate with them?

I began in 2009, after some time listening, they informed they were looking for a new member for the podcast. I had for some time been in the podcast IRC channel and when they talked about stuff that they would like to do with Meterpreter, I coded and announced it in Pauldotcom forum. I remember after they interviewed me in 2008 while I was in Costa Rica for a project, he liked the dynamic with the group, he offered me to be part of the group.

- How many members are you there? Whois in charge of what? have everybody got an assigned responsibility? do you accept collaborations?

Wow, we are such a large team, internal staff and recurrent guests. The core is composed by seven people and in addition there are people who help us with editing and administration. Every one of us has a responsibility in the podcast.
  • Paul is the leader and the one who run the operation
  • Mike Perez is the Executive Producer
  • John Strand is in charge of the consulting part with customers and content generation
  • Larry and myself run the webcasts and generate content
  • I also run the section "Paulotcom en Español"
  • In addition, we have two interns who help us with editing and participate in the podcast.
Of course, we accept contributions

- In my case, I only had to sacrifice some sleep time to be able to do stuff for SbD… What about you? How do you organize your time? In PDC, you write posts, run interviews,… when do you live?

Good question ;( I dedicate long time to my daily job, then I dedicate some of my free time to Metasploit, the podcast, webcasts and all of this the everything, my family is the priority always. It is difficult to be organized. Sometimes I wish the day had more hours. At the end of the day the key is execution, a lot of times you loose time and don't execute and you block yourself. You have to know how to recognize that and handle it.

- You have a professional career that many envy, working for companies like HP, Microsoft, Tenable,.. Although I guess the most of your knowledge you had learnt by yourself, it should be great if you told us a little about which company did you have a best chance to learn about security

Well, on all of my previous jobs I have learnt something. At Microsoft as a contractor I learnt the beauties and dangers of automation, we were few people in a multiyear project we were working and had to bite the bullet and learn and expand my scripting skills and planning changes when automating. I had a good team leader who taught me how to be flexible, how to operate in politically charged environment, the importance of having the right people in the right job and how a good project manager can make a difference with a client and management. HP I can say I learned much from the business side of project management. my manager made me learn a little of everything and take courses on business logic, sales, project management, public speaking in addition to the technical ones. I learnt how to build data centers, how to align a business solution, I must say I learned a lot and put a lot into practice.I have been less than a year in Tenable, I’m learning about management leading a great team of Reverse Engineers, I’m also learning a lot from each one of the members in my team I’m humbled just by being part of such a great team of researchers. I study a lot in terms of the networking and OS basics for several platforms and try to maintain my self proficient in many from and administration point of view, the security part then comes more easily after I have mastered that.

- You have a lot of security certifications: Do you think they really add value to your customers? Do you think that simply help to give greater prestige to the consultants?

I will be honest they have served as motivation to learn the basics, beyond that, it is only for customers and human resources departments that you get them.

- You are a major contributor to the Metasploit security tool. I understand that it is "your baby" (computationally speaking) that you feel most proud of ... Have you developed any other tool that you want to talk?

Besides the work of Metasploit, I have written tools like DNSRecon, GooRecon, scripts in python and ruby to get SHA hashes and NTLM Lion, scripts for creating evil AP's, etc ... I'm always writing a bash script, powershell, python or ruby for something. I have even done T-SQL to audit MS SQL and Oracle PLSQL to audit servers. Of all, the most recent it is DNSRecon, which started in Ruby and ported to Python this year.

- As you always say "Shell is only the beginning" ... And from there, where do you go?

Uff what can I say, the title comes from seeing so many supposed experts gain access and consider that as the ultimate goal. I've seen fails where in the desktop of the compromised machine there is a file with the file name passwords.xls and the pentester missing it all together. I would say it boils down to using the same tactics and methodology as you do for an external pentest where you gather information, from it you plan and decide the next thing to execute and go from there many times repeating the cycle and controlling the amount of information so as to not get overwhelmed.

- When a company asks you for advice because they think they have been "owned", where do you start?

It is difficult question because it depends on what made them think that they were penetrated. I would say the first step is to see the state of maturity of their logs and events centralization and what is actually collected.Also ask for the network logical and physical diagrams, host inventory since they should be running host discovery processes every week, list of applications and work flows and importance of the systems and their component so as to be able to determine risk and impact. Asses what information might be at risk initially and prepare a plan of action. Then you should consider whether to call outside help if things get more complicated than the skills existing internally and have both management as well as lawyers well informed so a plan covering working on plans of technical, legal and public image nature.

- I remember when I was interviewed for Pauldotcom we were talking offline about funny stories that we had happened in our life. Do you want to relate us about anyone publicly? (I remember the college that had public addresses and had a bunch of Warez on their servers… tremendous, :D)

There are so many! Once, a group that did a penetration test left tools and accounts created a year earlier. They left the client completely exposed and made our life easier. There were even credential dumps in a hidden file inside the system. It initially caused a panic because we thought the worst, that the client it had been compromised and that an attacker had had a foothold on their network for over a year. My favorite are the 5 day pentests no matter the size of the organization, where skills and doing things right have no weight, only the price. I find that sad and see a lot of it lately.

- What operating system do you use on a daily basis? Why did you choose that, do you feel safer? If you answer something different than Windows, do you use antivirus?

I will be honest I use OSX more than any other, but I do use everyday OSX, Windows 7 and Ubuntu at some point of my day. In OSX and Windows I use antivirus and third-party firewalls with a list of processes that can speak out and to what port. I try to keep a balance between a secure and usable.

- How often do you audit your own system?

I run Nessus against my systems once a week just to be sure of third party applications and try to have my virtual machine lab system isolated with all virtual machines on another leg of my firewall. I will be honest I have not escaped being infected, having to change all my passwords and rebuild my systems. I see an infection of any virus like someone came in and based on my research and writing code I know what can be done with a single point of entry, so take my security seriously.

- What advice would you give to those of our readers who are beginning into the security world? What should be done to be like you?

To be like me? I'm just a student like everyone else. I would say the first thing is to leave the ego behind, be humble and realize that you can never cover everything and be willing to accept criticism and learn from others. I would say that one of the first things is to learn to manage a network and learn a system before attacking it. Knowing how to manage the balance of security and usability. To have solid foundations of programming, networks and protocols is a must, above all have determination and practice properly. I strongly recommend the book "Talent is Overrated" covering the importance of practice and mastery of the principles as a basis for being good at something. Another important thing is to share and teach, because before you can master something you have to be able to teach it. Learn from others and always strive to keep learning.

Carlos with a "well-known guy" at DerbyCon 2011

2 comments :

corrector dijo...

Excelente la entrevista...
*mi family... >>my family - 

in my case, I only had to sacrifice some sleep time to be able to do stuff for SbD… What about you? How do you organize |  errorssbd.txt :1 *
your time? In PDC, you write posts, run interviews,… when do you live?  

Lorenzo_Martinez dijo...

Gracias por el typo de "mi family". Ya está corregido... el segundo error... no comprendo lo que quieres decir. ¿puedes especificar cuál es el error por favor?