Faraday - 渗透测试IDE和漏洞管理平台

时间:2020-02-23 14:30:24  来源:igfitidea点击:

为了使组织从不间断的和无情的黑客保护,脚本 - 童话和承担不良动机的人,那么我们将不得不改善我们每天一次的游戏。
毫无疑问,服务器和应用程序运行的应用程序处于持续的剥削危险,特别是如果它们暴露在公共领域。
与不断考虑的人,它必须使用最好的工具,技能组和团队,这将使他们最好的脚来向前屏蔽和保护这是亲爱的。

与此启示录,保护应用程序,服务器和网络应该是每个业务的一个组成部分,因为很明显在线存在非常重要。
这是因为我们共享一个可以帮助开发人员和渗透测试者指甲漏洞的一个工具。
在窥探眼睛做最好的事情之前,请停下来麻烦;破坏。
我们介绍了Faraday。

Faraday介绍了一个新的概念 - IPE(集成穿透 - 测试环境),它是多用户穿透检测IDE。
Faraday专为分发,索引和分析安全审核期间生成的数据而设计。
它是为了让我们以真正的多用户方式利用社区中的可用工具。

在本教程中,我们将开始安装和探索它最佳的法律。
让我们查看它所拥有的函数:

Faraday特点

我们将在此应用程序中找到以下打包:工作区:信息被组织成各种工作空间。
每个工作区都包含一个普遍团队的作业和发现的所有英特尔.Conflicts:如果两个插件会产生单个元素的冲突信息,则会生成用户将要解析的冲突.CSV导出:Faraday支持从其网络的CSV导出UIFARADAY插件:给出FARADAY强大的脚本函数,并允许我们查询数据库而不留下我们喜欢的工作区,请将其成为GTK接口或者终端。

以下是Faraday在安装之前需要的内容:

我们需要:Python 3.6和AbovePostGreSQL数据库

如何安装Faraday

Faraday服务器是PostgreSQL和Faraday客户端和WebUI之间的界面。
服务器的责任是在客户端或者WebUI和PostgreSQL之间传输信息,并确保它们保持同步。

第1步:安装Python 3 Linux

由于Python是Main Package Faraday取决于,让我们继续安装它,以防我们没有它,请按以下步骤操作

在Ubuntu上安装Python 3.6+

如果我们使用的是Ubuntu 16.10或者更新,则可以轻松地使用以下命令安装Python 3.6:

sudo apt-get update
sudo apt-get install python3.6 python3-pip -y

如果我们使用的是使用其他版本的Ubuntu(例如最新LTS发布)或者我们想要使用更多当前Python,我们建议使用Deadsnakes PPA来安装Python 3.8:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8 python3-pip python3-dev -y

在CentOS上安装Python 3.6+

如果我们在CentOS 7或者8上,我们需要执行以安装Python 3运行以下命令。

sudo yum update
sudo yum install -y python3  python3-pip python3-devel

第2步:安装PostgreSQL数据库服务器

在我们继续安装Faraday之前,让我们确保已安装PostgreSQL数据库。
我们可以使用下面的链接快速安装PostgreSQL:

在ubuntu上安装postgreSQL 13在Debian上安装PostgreSQL 12如何在Ubuntu上安装PostgreSQL 12

安装完成后,通过运行,验证PostgreSQL版本高于或者相等。

$sudo su - postgres
$psql -c "SELECT version()" postgres

配置PostgreSQL.

打开pg_hba.conf文件(请记住指定正确的PostgreSQL版本):

sudo vim /etc/postgresql/POSTGRESQL_VERSION/main/pg_hba.conf

如果在上面的路径中找不到pg_hba.conf文件,只需将其定位如下"

sudo find/-name pg_hba.conf

打开文件后,需要编辑以下行,以便从"标识"到"MD5"设置身份验证类型:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5 <==
# IPv6 local connections:
host    all             all             ::1/128                 md5 <==

第3步:在Debian上安装Faraday | Ubuntu | Kali | Centos

现在一切都应该为Faraday准备好,我们会毫不犹豫,但下载并获得它设置。
好消息是Faraday开发人员提供了在所有基于Debian的系统中安装的Deb软件包。
根据版本号码,访问Faraday的版本GitHub页面以抓住最新的页面。

sudo apt update
sudo apt install wget -y
wget https://github.com/infobyte/faraday/releases/download/v3.12/faraday-server_amd64.deb

转到下载目录并运行以下命令以使其全部设置。

sudo dpkg -i faraday-server_amd64.deb

如果上述命令成功完成,则必须使用以下命令初始化数据库。

sudo faraday-manage initdb

命令完成后,它将为我们提供一个随机生成的密码,以登录Web UI,如下所示。

配置Faraday以远程访问

默认情况下,Faraday在localhost上侦听。
使用该配置,如果服务器位于远程位置,则无法访问应用程序。
要更改此函数,请打开以下文件并将localhost更改为我们喜欢的IP,或者我们只需允许所有IP地址如下:

port = 5985
bind_address = 0.0.0.0   ##This Part
websocket_port = 9000
debug = false
secret_key = TBdhDvbWXo6p9MJOH1SPcD1cs
agent_token = 7gDQ35BvIqWt18z0omP5Amxw6

我们的应用程序应该准备好,可以通过运行开始:

sudo systemctl start faraday-server

然后按如下方式检查其状态。

sudo systemctl status faraday-server
● faraday-server.service - Faraday Server
     Loaded: loaded (/etc/systemd/system/faraday-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2017-11-06 09:32:37 UTC; 5s ago
   Main PID: 40670 (.faraday-server)
      Tasks: 3 (limit: 2204)
     Memory: 91.8M
     CGroup: /system.slice/faraday-server.service
             └─40670 /nix/store/m9g361va65ccbj2v5nil4dfr194zgarn-python3-3.8.3/bin/python3.8 /nix/store/ws2ix6dhr7hj2k1r8x0iv9ssjcx0bpvr-python3.8-faradaysec-3.11.1/bin/.faraday-server-wrapped
Nov 06 09:32:37 ubuntu2004.localdomain systemd[1]: Starting Faraday Server...
Nov 06 09:32:37 ubuntu2004.localdomain systemd[1]: Started Faraday Server.

如果我们有一个防火墙运行,请在防火墙上允许端口5985在运行时

sudo ufw allow 5985/tcp

现在打开浏览器并将其指向http://<ip-address-or-fqdn>:5985并使用"faraday"作为用户名登录,以及在initdb步骤中生成的密码。

安装Faraday插件

我们需要NMAP等插件,其余用于服务器才能扫描客户端。
如下取Fetchay插件

sudo pip3 install faraday-plugins

第4步:让Faraday安装在CentOS 7上| CentOS 8.

就像在Debian或者Ubuntu或者Kali一样,在我们继续安装Faraday之前,让我们确保安装Python和PostgreSQL数据库。
我们可以使用下面的链接快速安装PostgreSQL:

如何在CentOS 7上安装PostgreSQL 13在CentOS 8上安装PostgreSQL 13 | rhel 8.

配置PostgreSQL.

打开pg_hba.conf文件并按照下一个建议进行更改。

vim /var/lib/pgsql/POSTGRESQL_VERSION/data/pg_hba.conf

打开文件后,需要编辑以下行,以便从"标识"到"MD5"设置身份验证类型:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5 <==
# IPv6 local connections:
host    all             all             ::1/128                 md5 <==

安装和配置完成后,通过运行验证PostgreSQL版本高于或者等于9.6:

$psql -c "SELECT version()" postgres

一旦完成,我们发现Python3缺少一个原因或者另一个原因,请运行以下命令以安装它

sudo yum install python3 -y

在我们的RPM系统上,Faraday开发人员为我们自豪地呈现RPM软件包。
根据版本号码,访问Faraday的版本GitHub页面并抓住最新的版本。

sudo yum update
sudo yum install wget vim epel-release -y
wget https://github.com/infobyte/faraday/releases/download/v3.12/faraday-server_amd64.rpm

导航到下载RPM文件的目录,然后运行以下命令以使其全部设置。

sudo rpm -ivh faraday-server_amd64.rpm

重新启动PostgreSQL服务器并初始化数据库:

sudo systemctl restart postgresql
sudo faraday-manage initdb

第二个命令将为我们提供一个随机生成的密码来登录Web UI。

配置Faraday以远程访问

默认情况下,Faraday在localhost上侦听。
使用该配置,如果服务器位于远程位置,则无法访问应用程序。
要更改此函数,请打开以下文件并将localhost更改为我们喜欢的IP,或者我们只需允许所有IP地址如下:

port = 5985
bind_address = 0.0.0.0   ##This Part
websocket_port = 9000
debug = false
secret_key = TBdhDvbWXo6p9MJOH1SPcD1cs
agent_token = 7gDQ35BvIqWt18z0omP5Amxw6

配置后,启动Faraday的服务器

systemctl start faraday-server

现在打开浏览器并将其指向http://<ip-address-or-fqdn>:5985并使用"faraday"作为用户名登录,以及在initdb步骤中生成的密码。

如果我们获取Connections问题,请在防火墙上允许Port 5985(如果运行)

sudo firewall-cmd --permanent --add-port=5985/tcp
sudo firewall-cmd --reload

第5步:创建工作区

登录后,创建一个工作空间,客户端将能够连接到和加载扫描结果。
要创建工作空间,请按照以下屏幕截图

单击"用户"下拉菜单菜单,然后选择"工作空间"

在"工作区"页面上,单击"新建"

将弹出表格。
输入详细信息加上目标主机然后保存。
你会完成。

安装Faraday插件

Faraday插件是Faraday的核心。
它们包括诸如NMAP,HYDRA,LYNIS等的大多数安全开源工具。
我们可以安装Faraday插件如下

sudo pip3 install faraday-plugins
##On Ubuntu 20 you have to copy faraday-plugins to a directory on PATH###
$sudo cp ~/.local/bin/faraday-plugins /usr/local/bin/

列出所有插件

faraday-plugins list-plugins
Available Plugins:
Acunetix         - [Command:  No - Report: Yes] - Acunetix XML Output Plugin
Amap             - [Command: Yes - Report:  No] - Amap Output Plugin
Appscan          - [Command:  No - Report: Yes] - Appscan XML Plugin
AppSpider        - [Command:  No - Report: Yes] - AppSpider XML Output Plugin
Arachni          - [Command: Yes - Report: Yes] - Arachni XML Output Plugin
arp-scan         - [Command: Yes - Report:  No] - arp-scan network scanner
awsprowler       - [Command:  No - Report: Yes] - AWS Prowler
Beef             - [Command: Yes - Report:  No] - BeEF Online Service Plugin
brutexss         - [Command: Yes - Report:  No] - brutexss
Burp             - [Command:  No - Report: Yes] - Burp XML Output Plugin
Checkmarx        - [Command:  No - Report: Yes] - Checkmarx XML Output Plugin
Cobalt           - [Command:  No - Report: Yes] - Cobalt CSV Output Plugin
dig              - [Command: Yes - Report:  No] - DiG
dirb             - [Command: Yes - Report:  No] - Dirb
dirsearch        - [Command: Yes - Report:  No] - dirsearch
Dnsenum          - [Command: Yes - Report:  No] - Dnsenum XML Output Plugin
Dnsmap           - [Command: Yes - Report:  No] - Dnsmap Output Plugin
Dnsrecon         - [Command: Yes - Report:  No] - Dnsrecon XML Output Plugin
Dnswalk          - [Command: Yes - Report:  No] - Dnswalk XML Output Plugin
faraday_csv      - [Command:  No - Report: Yes] - Faraday CSV Plugin
Fierce           - [Command: Yes - Report:  No] - Fierce Output Plugin
Fortify          - [Command:  No - Report: Yes] - Fortify XML Output Plugin
fruitywifi       - [Command: Yes - Report:  No] - FruityWiFi
ftp              - [Command: Yes - Report:  No] - Ftp
Goohost          - [Command: Yes - Report:  No] - Goohost XML Output Plugin
Hping3           - [Command: Yes - Report:  No] - hping3

第5步:在CentOS 8上安装Faraday客户端

到目前为止,我们已安装Faraday的服务器部分。
它遵循服务器 - 客户端体系结构,建议不要将服务器和客户端混合在同一台计算机中。
为此,我们将完全安装Faraday客户端。
请注意,客户需要为此示例需要GUI。
Gnome是一个很好的选择,可以推出GTK应用程序。
首先,如下更新计算机:

sudo yum update

然后将Python安装了客户端服务器,因为它已在步骤1中介绍。
一旦安装了Python,请继续安装Faraday客户端,以便CentOS 8

sudo yum install cairo cairo-devel libjpeg-turbo-devel pango pango-devel pangomm
sudo dnf -y install dnf-plugins-core
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf config-manager --set-enabled PowerTools
sudo dnf install gobject-introspection-devel cairo-gobject-devel gtk3 -y
sudo pip3 install faraday_client

然后开始Faraday客户如下。
我们将需要在应用程序输出结束时输入服务器的URL。
相应输入并按Enter键。
稍后我们将输入Faraday客户端的用户名和密码以及我们之前创建的工作空间。

$faraday-client

  _____                           .___
_/_________  ____________     __| _/_____   ___.__.
\   __\ __  \ _  __ __  \  /__ | __  \ <   |  |
 |  |   /__ _|  | \//__ _//_/| /__ ____  |
 |__|   (____  /|__|  (____  /____ | (____  //____|
             \/           \/     \/     \/\/
[*[       Open Source Penetration Test IDE       ]*]
            Where pwnage goes multiplayer
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:323 - printBanner()]  Starting Faraday IDE.
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:435 - main()]  Dependencies met.
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:279 - checkConfiguration()]  Checking configuration.
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:280 - checkConfiguration()]  Setting up ZSH integration.
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:282 - checkConfiguration()]  Setting up user configuration.
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:265 - setupXMLConfig()]  Copying default configuration from project.
2017-11-06T13:07:06+0000 - faraday_client.start_client - INFO {MainThread} [start_client.py:183 - setConf()]  Setting configuration.
Please enter the Faraday Server URL (Press enter for http://localhost:5985): http://172.17.106.186:5985

第6步:使用Faraday

我们现在安装了Faraday的命令使用.deb或者.rpm安装程序安装了Faraday的命令。
为了启动扫描客户端,运行上面的Faraday-Client,然后发出安全命令,例如NMAP。
我们将在此示例中使用NMAP。

我们将使用直播服务器对IP运行一个简单的nmap命令。
我们应该观察到Faraday - 客户立即接管,它在完成后,它将报告发送到服务器。

我们可以通过登录仪表板查看报告并选择客户端连接到的工作区如下所示