Certified Professional Penetration Tester

Posted by S3cTr4ck On August - 26 - 2010

Muy pocas veces hablo sobre mis certificaciones o preparación formal realizada. Esto sobre todo, por el hecho de que no soy  amante de los altos egos de algunos con respecto a estos temas. Otra razón muy importante es debido a que el hecho de tener una certificación o carrera profesional no garantiza en su totalidad que una persona tenga o no, los conocimientos necesarios para ejercer una labor. Soy de los que piensan que nada mejor que la práctica pura y dura para evaluar la experticia de las personas. Como decimos por ahí, “la práctica hace al maestro”.

Toco este tema, debido a que a lo largo de mi carrera profesional e investigaciones relacionadas en la seguridad de la información, he realizado diferentes certificaciones y preparaciones formales en estos campos. Una de estas corresponde al título de este post.

Esta prestigiosa certificación y que muchos se atreven a nombrar como “Penetration Testing Pro: the CEH killer” es ofrecida por el equipo de eLearnSecurity en un completo paquete de entrenamiento + certificación. El objetivo a lo largo de esta exigente preparación es aprender trabajando de manera práctica en cada uno de sus módulos propuestos.

SECTION 1 WEB APPLICATION SECURITY TESTING
OVERVIEW

  • Module 1: Introduction
  • Module 2: Information Gathering
  • Module 3: Vulnerability assessment
  • Module 4: Cross site scripting
  • Module 5: SQL Injection
  • Module 6: Advanced Web Attacks

SECTION 2 NETWORK SECURITY TESTING
OVERVIEW

  • Module 1: Information Gathering
  • Module 2: Scanning
  • Module 3: Enumeration
  • Module 4: Sniffing and MITM attacks
  • Module 5: The Exploitation show
  • Module 6: Anonymity

SECTION 3 SYSTEM SECURITY
OVERVIEW

  • Module 1: Introduction
  • Module 2: Cryptography and Password Cracking
  • Module 3: Buffer Overflow
  • Module 4: Shellcoding
  • Module 5: Malware
  • Module 6: Rootkit coding

Los detalles del curso son:

  • Online course—learn at your own pace
  • 1000+ interactive slides
  • Learn methodology, be a professional
  • 4 hours of videos
  • 3 authors—3 sections
  • DVD Backtrack4 + Labs
  • Silver Certification
  • Qualifies you for 40 CPE

Un completo listado de las temáticas puede encontrarse en el documento Syllabus oficial.

Además de esto, en el web site The Ethical Network y en DarkNet han realizado unos completos reviews sobre el entrenamiento y la certificación, que puede ser de utilidad para quienes estén interesados en realizar este training.

Por este mismo medio estaré publicando mis experiencias, alguna parte del material de entrenamiento (videos, ppts, entornos, sources) y algunos de los ejercicios propuestos, con el objetivo de encontrar otras opiniones, sugerencias y compartir con quienes quieran parte de este valioso recurso y estén proyectando realizarlo de manera oficial.

Web oficial (Entrenamiento + Certificación) eLearnSecurity

Demo Training

Review (DarkNet)

Review (The Ethical Hacker Network)

Continúa desde: Desarrollo del entorno De-Ice III – Pruebas de Autenticación y Escaneo de Vulnerabilidades

Veamos ahora que podemos hacer con la información encontrada:

Index of /~pirrip//.ssh

Icon  Name                    Last modified      Size  Description

[DIR] Parent Directory - [   ] id_rsa 05-Jan-2008 20:29 1.6K [   ] id_rsa.pub 05-Jan-2008 20:29 393
Apache/2.0.55 (Unix) PHP/5.1.2 Server at 192.168.2.101 Port 80

Read the rest of this entry »

El pasado 24 de abril tuve el placer de asistir como conferencista al Festival Internacional de Instalación de Software Libre desarrollado en Medellín.

La conferencia que presenté trató sobre la implementación de Laboratorios de Entrenamiento en Seguridad Informática, y de como el Proyecto Sec-Track puede ser una magnífica herramienta para cumplir con ese objetivo.

El contenido temático de dicha conferencia, es el siguiente:

En el transcurso de algunos días estaré publicando en detalle cada uno de estos (y mucho más) entornos de entrenamiento, como objetivos de aprendizaje colaborativo en el Proyecto Sec-Track.

Continúa desde: Desarrollo del entorno De-Ice III – Enumeración de usuarios

Una vez hemos identificado los usarios válidos en el sistema, pasemos a realizar algunas pruebas de autenticación  a través de los servicios ofrecidos por el host. Veamos:

FTP

Hydra:

root@bt:~# hydra 192.168.2.100 ftp -s 21 -L usuarios.txt -P /pentest/passwords/wordlists/dicc.lst -t 36

SSH

Hydra:

root@bt:~# hydra 192.168.2.100 ftp -s 21 -L usuarios.txt -P /pentest/passwords/wordlists/dicc.lst -t 36

Ncrack:

root@bt:/usr/local/share/ncrack# ncrack 192.168.1.100:22 -P /pentest/passwords/wordlists/pass.txt

Después de mucho esperar mientras se llevaba a cabo los intentos de inicio de sesión con un usuario y password válido llegamos a la conclusión de que este no es un camino viable para acceder al sistema, pues las pruebas fueron realizadas con diccionarios en un comienzo básicos y compuestos por palabras comunes hasta diccionarios bastante robustos de millones de palabras, por lo tanto podemos afirmar que las contraseñas son complejas o los mecanismos de autenticación están medianamente asegurados.

Hagamos uso de varios identificadores de vulnerabilidades, configuraciones por defecto o archivos y directorios sensibles. Para ello primero usemos OWASP Dirbuster para identificar directorios y archivos.

Host 192.168.2.100

root@bt:/pentest/web/dirbuster# java -jar DirBuster-0.12.jar -H -u http://192.168.2.100/ -r
DirBuster: option requires an argument — r
Starting OWASP DirBuster 0.12 in headless mode
Starting dir/file list based brute forcing
Dir found: / – 200
Dir found: /cgi-bin/ – 403
Dir found: /icons/ – 200
File found: /level.html – 200
File found: /copyright.txt – 200
File found: /index2.html – 200

Host 192.168.2.101

root@bt:/pentest/web/dirbuster# java -jar DirBuster-0.12.jar -H -u http://192.168.2.101/ -r
DirBuster: option requires an argument — r
Starting OWASP DirBuster 0.12 in headless mode
Starting dir/file list based brute forcing
Dir found: / – 200
Dir found: /cgi-bin/ – 403
Dir found: /home/ – 403
Dir found: /icons/ – 200
File found: /200711_002.pdf – 200
File found: /200611_001.pdf – 200
File found: /200711_004.pdf – 200
File found: /Acceptable_Use_Policy.pdf – 200
File found: /Audit_Policy.pdf – 200
File found: /Email_Policy.pdf – 200

Ahora con Nikto en modo default

Host 192.168.2.100

root@bt:/pentest/web/nikto# perl nikto.pl -h 192.168.2.100
- Nikto v2.1.0
—————————————————————————
+ Target IP:          192.168.2.100
+ Target Hostname:    slax.example.net
+ Target Port:        80
+ Start Time:         2010-03-13 17:14:41
—————————————————————————
+ Server: Apache/2.0.55 (Unix) PHP/5.1.2
+ OSVDB-0: Apache/2.0.55 appears to be outdated (current is at least Apache/2.2.14). Apache 1.3.41 and 2.0.63 are also current.
+ OSVDB-0: PHP/5.1.2 appears to be outdated (current is at least 5.2.8)
+ OSVDB-0: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
+ OSVDB-0: DEBUG HTTP verb may show server debugging information
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ OSVDB-12184: /index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000: PHP reveals potentially sensitive information via certain HTTP requests which contain specific QUERY strings.
+ OSVDB-3268: /icons/: Directory indexing is enabled: /icons
+ OSVDB-3233: /icons/README: Apache default file found.
+ 3588 items checked: 8 item(s) reported on remote host
+ End Time:           2010-03-13 17:15:08 (27 seconds)
—————————————————————————
+ 1 host(s) tested

Host 192.168.2.101

root@bt:/pentest/web/nikto# perl nikto.pl -h 192.168.2.101
- Nikto v2.1.0
—————————————————————————
+ Target IP:          192.168.2.101
+ Target Hostname:    192.168.2.101
+ Target Port:        80
+ Start Time:         2010-03-13 17:16:25
—————————————————————————
+ Server: Apache/2.0.55 (Unix) PHP/5.1.2
+ OSVDB-0: Apache/2.0.55 appears to be outdated (current is at least Apache/2.2.14). Apache 1.3.41 and 2.0.63 are also current.
+ OSVDB-0: PHP/5.1.2 appears to be outdated (current is at least 5.2.8)
+ OSVDB-0: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ OSVDB-637: /~root/: Allowed to browse root’s home directory.
+ OSVDB-3268: /icons/: Directory indexing is enabled: /icons
+ OSVDB-3233: /icons/README: Apache default file found.
+ 3588 items checked: 7 item(s) reported on remote host
+ End Time:           2010-03-13 17:16:54 (29 seconds)
—————————————————————————
+ 1 host(s) tested

Además de las alertas sobre las versiones desactualizadas de software, podemos destacar la identificación del directorio de usuario root. (~root). Esto nos permite deducir que posiblemente existan diferentes directorios para los usuarios identificados. Veamos:

Con netcat

root@bt:/pentest/web/nikto# nc -v 192.168.2.101 80
192.168.2.101: inverse host lookup failed: Unknown server error : Connection timed out
(UNKNOWN) [192.168.2.101] 80 (www) open
GET /~root/ HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 12 Mar 2010 17:36:11 GMT
Server: Apache/2.0.55 (Unix) PHP/5.1.2
Content-Length: 557
Connection: close
Content-Type: text/html

root@bt:/pentest/web/nikto# nc -v 192.168.2.101 80
192.168.2.101: inverse host lookup failed: Unknown server error : Connection timed out
(UNKNOWN) [192.168.2.101] 80 (www) open
GET /~pirrip/ HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 12 Mar 2010 17:38:13 GMT
Server: Apache/2.0.55 (Unix) PHP/5.1.2
Content-Length: 561
Connection: close
Content-Type: text/html

root@bt:/pentest/web/nikto# nc -v 192.168.2.101 80
192.168.2.101: inverse host lookup failed: Unknown server error : Connection timed out
(UNKNOWN) [192.168.2.101] 80 (www) open
GET /~magwitch/ HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 12 Mar 2010 17:40:13 GMT
Server: Apache/2.0.55 (Unix) PHP/5.1.2
Content-Length: 565
Connection: close
Content-Type: text/html

root@bt:/pentest/web/nikto# nc -v 192.168.2.101 80
192.168.2.101: inverse host lookup failed: Unknown server error : Connection timed out
(UNKNOWN) [192.168.2.101] 80 (www) open
GET /~havisham/ HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 12 Mar 2010 17:42:27 GMT
Server: Apache/2.0.55 (Unix) PHP/5.1.2
Content-Length: 565
Connection: close
Content-Type: text/html

Otra herramienta que nos permite identificar posibles usuarios, archivos, directorios en un host, es la herramienta de Fuzzing JBroFuzz

Veamos:

Tenemos los posibles usuarios válidos del sistema:

pickwick
winkle
snodgrass
tupman
weller
tweller
havisham
magwitch
pirrip
nickleby
rnickleby
noggs
squeers
pinch
tapley
gamp
marley
scrooge
cratchit
sikes
dawkins
claypole
root

Los cuales a su vez pueden tener un directorio como el identificado para root

Basta entonces con agregarle el símbolo virgulilla (~) al comienzo de cada uno y anexarlo a las listas de fuzzing de  JBroFuzz.

0,http://192.168.2.101/~pickwick,404,Not Found,No,No
1,http://192.168.2.101/~winkle,404,Not Found,No,No
2,http://192.168.2.101/~snodgrass,404,Not Found,No,No
3,http://192.168.2.101/~tupman,404,Not Found,No,No
4,http://192.168.2.101/~weller,404,Not Found,No,No
5,http://192.168.2.101/~tweller,404,Not Found,No,No
6,http://192.168.2.101/~havisham,200,OK,No,No
7,http://192.168.2.101/~magwitch,200,OK,No,No
8,http://192.168.2.101/~pirrip,200,OK,No,No
9,http://192.168.2.101/~nickleby,404,Not Found,No,No
10,http://192.168.2.101/~rnickleby,404,Not Found,No,No
11,http://192.168.2.101/~noggs,404,Not Found,No,No
12,http://192.168.2.101/~squeers,404,Not Found,No,No
13,http://192.168.2.101/~pinch,404,Not Found,No,No
14,http://192.168.2.101/~tapley,404,Not Found,No,No
15,http://192.168.2.101/~gamp,404,Not Found,No,No
16,http://192.168.2.101/~marley,404,Not Found,No,No
17,http://192.168.2.101/~scrooge,404,Not Found,No,No
18,http://192.168.2.101/~cratchit,404,Not Found,No,No
19,http://192.168.2.101/~sikes,404,Not Found,No,No
20,http://192.168.2.101/~dawkins,404,Not Found,No,No
21,http://192.168.2.101/~claypole,404,Not Found,No,No
22,http://192.168.2.101/~root,200,OK,No,No

Las líneas que están en negrita corresponden a ubicaciones reales y activas en el servidor objetivo

~havisham
~magwitch
~pirrip
~root

Hagamos ahora una exploración de directorios y archivos mediante JBroFuzz a los directorios raíz del server y de los usuarios identificados.

Al host 192.168.2.100

4,http://192.168.2.100//icons/,200,OK,No,No
784,http://192.168.2.100//index.php/123,200,OK,No,No
802,http://192.168.2.100//info.php,200,OK,No,No (Y)

Al host 192.1682.101

4,http://192.168.2.101//icons/,200,OK,No,No

Ahora a los directorios identificados para los usuarios:

Usuario havisham:

Ningún resultado de interés

Usuario magwitch:

Ningún resultado de interés

Usuario pirrip:

385,http://192.168.2.101/~pirrip//.ssh,200,OK,No,No

Usuario root:

Ningún resultado de interés

Vemos entonces como pudimos identificar la existencia del directorio .ssh para el usuario pirrip

http://192.168.2.101/~pirrip//.ssh/

Index of /~pirrip//.ssh

Icon  Name                    Last modified      Size  Description

[DIR] Parent Directory - [   ] id_rsa 05-Jan-2008 20:29 1.6K [   ] id_rsa.pub 05-Jan-2008 20:29 393
Apache/2.0.55 (Unix) PHP/5.1.2 Server at 192.168.2.101 Port 80

En el próximo post veremos como podemos utilizar la información obtenida para penetrar el sistema.

Turnkey Linux es un proyecto Open Source de desarrollo de appliances libres para la implementación de plataformas tecnológicas . Estas appliances también pueden ser utilizadas para la implementación y puesta en marcha de  Laboratorios de entrenamiento en Seguridad Informática.

Read the rest of this entry »

Desarrollo del entorno De-Ice III – Enumeración de usuarios

Posted by S3cTr4ck On March - 12 - 2010

Continúa desde: Desarrollo del entorno De-Ice III – Network Mapping, Port Scanning

Una vez hemos escaneado e identificados los servicios disponibles en los sistemas objetivos vamos a enumerar los posibles usuarios de estos.

Tenemos entonces dos host objetivos con los siguientes servicios y versiones disponibles:

Read the rest of this entry »

Antes de comenzar con el desarrollo de este entorno virtualizado de intrusión creo que es necesario recordar sobre algunos de los objetivos generales en esta primera serie de entornos enfocados a los Test de Penetración.

Objetivos Generales para los entornos De-Ice I, II, III y PwnOS

También es necesario describir nuevamente el escenario propuesto para este Test de Penetración:

De-ICE PenTest LiveCDs (Nivel III)

El procedimiento de implementación de este entorno no varía mucho con respecto a los anteriores. Tan solo cambia la red objetivo, que para esta ocasión será la 192.168.2.*

Identifiquemos los host vivos (conectados) en la red (Tool: Netdiscover incluída en BackTrack):

root@bt:~# netdiscover eth0
3 Captured ARP Req/Rep packets, from 3 hosts.   Total size: 180
 _____________________________________________________________________________
   IP            At MAC Address      Count  Len   MAC Vendor
 -----------------------------------------------------------------------------
 192.168.2.1     00:50:56:c0:00:07    01    060   Unknown vendor
 192.168.2.100   00:0c:29:0c:b9:e5    01    060   Unknown vendor
 192.168.2.101   00:0c:29:0c:b9:e5    01    060   Unknown vendor
 Currently scanning: 192.168.9.0/16   |   Our Mac is: 00:0c:29:ac:c4:e0 - 0

Una vez hemos identificados los posibles host’s objetivos pasemos a escanearlos en detalle para obtener más información sobre estos.

Veamos este proceso con Nmap.

Escaneo y explicación enviada por Roguer (jollyroguer [at] gmail.com):

root@bt: ~#nmap -sP 192.168.2.1-255
Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-25 23:35 UTC
Host 192.168.2.10 is up.
Host 192.168.2.100 is up (0.00066s latency).
MAC Address: 00:0C:29:78:57:AE (VMware)
Host 192.168.2.101 is up (0.00066s latency).
MAC Address: 00:0C:29:78:57:AE (VMware)
Nmap done: 255 IP addresses (3 hosts up) scanned in 2.06 seconds

En donde obtengo que hay 3 equipos arriba, de los cuales el .10 es mi máquina y los 100 y 101 objetivos enseguida nos centraremos en el equipo .100

Arranco haciendo un escaneo de puertos, como es un entorno seguro no hay necesidad de ocultar la ip de origen

root@bt: ~#nmap -sV -T Aggressive -O 192.168.2.100
Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-25 23:36 UTC
Interesting ports on 192.168.2.100:
Not shown: 992 filtered ports
PORT    STATE  SERVICE  VERSION
20/tcp  closed ftp-data
21/tcp  open   ftp      vsftpd 2.0.4
22/tcp  open   ssh      OpenSSH 4.3 (protocol 1.99)
25/tcp  open   smtp     Sendmail 8.13.7/8.13.7
80/tcp  open   http     Apache httpd 2.0.55 ((Unix) PHP/5.1.2)
110/tcp open   pop3     Openwall popa3d
143/tcp open   imap     UW imapd 2004.357
443/tcp closed https
MAC Address: 00:0C:29:78:57:AE (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.13 – 2.6.24
Network Distance: 1 hop
Service Info: Host: slax.example.net; OS: Unix
OS and Service detection performed. Please report any incorrect
results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 20.10 seconds

Como podemos ver hay varios servicios corriendo en este equipo, así que vamos a tratar de obternet información como en los entornos anteriores.

——————————————————————————————–

Realicemos un escaneo para identificar servicios y versiones en el host 192.168.2.101

root@bt:~# nmap -PT80 192.168.2.101

Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-02 13:09 COT
Interesting ports on 192.168.2.101:
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:0C:29:0C:B9:E5 (VMware)

root@bt:~# nmap -sV -p 80 192.168.2.101

Starting Nmap 5.00 ( http://nmap.org ) at 2010-03-02 13:12 COT
Interesting ports on 192.168.2.101:
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.0.55 ((Unix) PHP/5.1.2)
MAC Address: 00:0C:29:0C:B9:E5 (VMware)

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 19.28 seconds

Perfecto el proceso de mapeo de red e identificación de aplicaciones y servicios en los host objetivos. En el próximo post centraremos nuestra atención a las actvidades relacionadas con la enumeración del objetivo e identificación de posibles puntos de intrusión.

Ahora que tenemos acceso al sistema como usuarios privilegiados, procedemos a recolectar y extraer la información confidencial que exista en el sistema.

Read the rest of this entry »

Una vez hemos conseguido ingresar al sistema por medio del servidor FTP con acceso anónimo trataremos de elevar u obtener información sensible que nos permita cumplir con nuestro objetivo como PenTesters.

Read the rest of this entry »

La herramienta Maltego (desarrollada por Paterva) es una herramienta que permite realizar recolecciones de información en Internet así como la representación de la misma en formatos fáciles de interpretar.

Read the rest of this entry »