Faraday - 渗透测试IDE和漏洞管理平台
为了使组织从不间断的和无情的黑客保护,脚本 - 童话和承担不良动机的人,那么我们将不得不改善我们每天一次的游戏。
毫无疑问,服务器和应用程序运行的应用程序处于持续的剥削危险,特别是如果它们暴露在公共领域。
与不断考虑的人,它必须使用最好的工具,技能组和团队,这将使他们最好的脚来向前屏蔽和保护这是亲爱的。
与此启示录,保护应用程序,服务器和网络应该是每个业务的一个组成部分,因为很明显在线存在非常重要。
这是因为我们共享一个可以帮助开发人员和渗透测试者指甲漏洞的一个工具。
在窥探眼睛做最好的事情之前,请停下来麻烦;破坏。
我们介绍了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 - 客户立即接管,它在完成后,它将报告发送到服务器。
我们可以通过登录仪表板查看报告并选择客户端连接到的工作区如下所示