梦幻的彼岸 发表于 2021-9-14 11:49:42

[开源工具][协议模拟]FaPro

官方简介
开源地址:https://github.com/fofapro/fapro
免费、跨平台、单文件部署的网络协议服务端模拟器

FaPro是一个服务端协议模拟工具,可以轻松启停多个网络服务。

目标是支持尽可能多的协议,每个协议尽可能提供深度的交互支持。
特性
[*]支持的运行模式

[*] 本地模式
[*] 虚拟网络
[*]支持的网络协议

[*] DNS
[*] DCE/RPC
[*] EIP
[*] Elasticsearch
[*] FTP
[*] HTTP
[*] IEC 104
[*] Memcached
[*] Modbus
[*] MQTT
[*] MySQL
[*] RDP
[*] Redis
[*] S7
[*] SMB
[*] SMTP
[*] SNMP
[*] SSH
[*] Telnet
[*] VNC
[*]使用TcpForward进行端口转发
协议模拟演示Rdp支持 credssp ntlmv2 nla 认证。支持配置用户登陆时的图片。 https://github.com/fofapro/fapro/raw/master/docs/rdp.gif
SSH支持用户登陆。 支持部分终端命令,比如id、uid、whoami等。账户格式: username:password:home:uid https://github.com/fofapro/fapro/raw/master/docs/ssh.gif
HTTP支持网站克隆。使用指南生成配置可以使用genConfig子命令生成所有协议和参数的配置文件。使用172.16.0.0/16子网生成配置文件:
fapro genConfig > fapro.json运行协议模拟器使用Verbose模式运行FaPro, 并在8080端口启动web服务:
日志分析使用ELK分析协议日志,例如: https://github.com/fofapro/fapro/raw/master/docs/FaProLogs.jpg
配置文件配置文件的简单介绍:{
   "version": "0.33",
   "network": "127.0.0.1/32",
   "network_build": "localhost",
   "storage": null,
   "hosts": [
         {
             "ip": "127.0.0.1",
             "handlers": [
               {
                     "handler": "dcerpc",
                     "port": 135,
                     "params": {
                         "accounts": [
                           "administrator:123456",
                         ],
                         "domain_name": "DESKTOP-Q1Test"
                     }
               }
             ]
         }
   ]
}



[*]version: 配置文件版本号
[*]network: 虚拟网络使用的子网,或者本机模式下绑定的ip地址
[*]network_build: 网络模式(支持: localhost, all, userdef)

[*]localhost: 本地模式,所有服务在本机监听
[*]all: 创建虚拟网络中的所有主机(子网中的所有主机都可以ping通)
[*]userdef: 只创建hosts配置中指定的主机
[*]storage: 指定日志收集的存储, 支持sqlite, mysql, elasticsearch. 示例:

[*]sqlite3:logs.db
[*]mysql://user:password@tcp(127.0.0.1:3306)/logs
[*]es://http://127.0.0.1:9200
[*]hosts: 主机列表,每一项为一个主机配置
[*]handlers: 服务列表,每一项为一个服务配置
[*]handler: 服务名(协议名)
[*]params: 设置服务支持的参数
示例
使用子网172.16.0.0/24创建一个虚拟网络,包含2个主机:

172.16.0.3 运行dns、ssh服务

172.16.0.5 运行rpc、rdp服务

协议访问支持保存到elasticsearch。
{
    "version": "0.33",
    "network": "172.16.0.0/24",
    "network_build": "userdef",
    "storage": "es://http://127.0.0.1:9200",
    "hosts": [
      {
            "ip": "172.16.0.3",
            "handlers": [
               {
                  "handler": "dns",
                  "port": 53,
                  "params": {
                        "accounts": [
                            "admin:123456"
                        ],
                        "appname": "domain"
                  }
                },
                {
                  "handler": "ssh",
                  "port": 22,
                  "params": {
                        "accounts": [
                            "root:5555555:/root:0"
                        ],
                        "prompt": "$ ",
                        "server_version": "SSH-2.0-OpenSSH_7.4"
                  }
                }
            ]
      },
      {
            "ip": "172.16.0.5",
            "handlers": [
                {
                  "handler": "dcerpc",
                  "port": 135,
                  "params": {
                        "accounts": [
                            "administrator:123456"
                        ],
                        "domain_name": "DESKTOP-Q1Test"
                  }
                },
                {
                  "handler": "rdp",
                  "port": 3389,
                  "params": {
                        "accounts": [
                            "administrator:123456"
                        ],
                        "auth": false,
                        "domain_name": "DESKTOP-Q1Test",
                        "image": "rdp.jpg",
                        "sec_layer": "auto"
                  }
                }
            ]
      }
    ]
}


常见问题我们收集了一些常见问题. 报告issue前,请先看看常见问题集中是否有你要找的答案。

207405852 发表于 2022-1-17 13:58:20

谢谢楼主分享,收下学习

H.U.C清风 发表于 2024-3-24 10:59:27

谢谢分享,已回复
页: [1]
查看完整版本: [开源工具][协议模拟]FaPro