Docker
Hace unas semanas estuvimos comentando en otro post sobre DockerHoy en día estamos utilizando docker como plataforma para testing de nuestro proceso de instalación en Faraday
Nos pareció muy interesante armar una imagen oficial de docker. Para esto nos basamos en Ubuntu 14.10 por defecto viene con Faraday, CouchDB, SSH pre-configurado, Usuario root password toor
Inicializando Faraday:
root@isrlab:~/dev# docker run -t -i infobyte/faraday /root/run.sh
Con este comando inicializamos el container con Faraday conectado a couchdb con un workspace de prueba "workspace"
Faraday es inicializado con ./faraday.py -gui=no-gui --update sin entorno grafico, va intentar actualizar la ultima version desde el repositorio de git
Obtener la dirección ip del container:
root@isrlab:~/dev# docker inspect $(docker ps -lq) | grep \"IPAddress
"IPAddress": "172.17.0.62",
Interface Web-UI:
Apuntando el navegador http://172.17.0.62/reports/_design/reports/index.html pueden acceder a la Web-UI de Faraday.Interface ZSH:
Para empezar a ejecutar comandos podemos utilizada la interfase ZSH, para esto deben conectarse por SSH usuario root password toorroot@isrlab:~/dev# ssh root@172.17.0.62
root@172.17.0.62's password:
root@250f83a02a3a:~# cd faraday/
root@250f83a02a3a:~/faraday# ./faraday-terminal.zsh
>>> WELCOME TO FARADAY
[+] Current Workspace: workspace
[+] API: OK
[faraday](workspace) 250f83a02a3a# ping 127.0.0.1
[faraday](workspace) 250f83a02a3a# ping 127.0.0.1 >&1 > /root/.faraday/zsh/output/09cfbbb7-ab8a-44ca-9a64-9128029d8f41.output && python2 /root/.faraday/zsh/plugin_controller_client.py send_output cGluZyAxMjcuMC4wLjE= "/root/.faraday/zsh/output/09cfbbb7-ab8a-44ca-9a64-9128029d8f41.output"
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.059 ms
[faraday](workspace) 250f83a02a3a#
Interface QT GUI:
Para trabajar con la QT GUI deberíamos inicializar de otra manera el docker:root@isrlab:~/dev# docker run infobyte/faraday /root/run_service.sh
En otra consola corremos:
Obtener la dirección ip del container:
root@isrlab:~/dev# docker inspect $(docker ps -lq) | grep \"IPAddress
"IPAddress": "172.17.0.62",
root@isrlab:~/dev# ssh -X root@172.17.0.62
root@172.17.0.62's password:
root@250f83a02a3a:~# cd faraday/
root@250f83a02a3a:~/faraday# ./faraday.py
* Para ejecutar comandos tienen que tener en cuenta que las herramientas deben instalarlas dentro del docker
Importing reports:
Adicionalmente a la ejecución de comandos una forma de incorporar información a la plataforma de Faraday es copiando output reports de las herramientas.Para esto tenemos que copiar por ejemplo output_nmap.xml a $HOME/.faraday/report/[workspace_name]
Una vez interpretado e incorporado a la base de conocimiento el report es copiado a $HOME/.faraday/report/[workspace_name]/process
Esto lo podemos hacer copiando los reports al containers via sftp o podemos utilizar una funcionalidad de file sharing entre equipo host y containers
Veamos un ejemplo:
root@isrlab:~/dev# mkdir -p /tmp/workspace/process #Creamos estructura de directorios valida
Inicializamos un container compartiendo el directorio del equipo host /tmp/workspace en /root/.faraday/report/workspace/
/root/.faraday/report/workspace/
root@isrlab:~/dev# docker run -t -i -v /tmp/workspace/:/root/.faraday/report/workspace/ infobyte/faraday /root/run.sh
Ahora podemos utilizar las herramientas en el equipo host y esto va ser interpretado dentro del container por Faraday en el workspace llamado "workspace"root@isrlab:~/dev# nmap localhost -xO /tmp/workspace/output_nmap.xml
Podemos copiar cualquier report soportado por Faraday (+ 40 plugins soportados)
root@isrlab:~/dev# cp /root/reports/nessusscan.nessus /tmp/workspace/
Esperamos que sea de gran utilidad!
Saludos!
ليست هناك تعليقات:
إرسال تعليق