FaPro是一个服务端协议模拟工具,可以轻松启停多个网络服务。
目标是支持尽可能多的协议,每个协议尽可能提供深度的交互支持。
支持的运行模式
支持的网络协议
使用TcpForward进行端口转发
支持tcp syn请求记录
支持ping请求记录
支持udp数据包记录
支持SSL ja3指纹
支持ip限速控制
支持 credssp ntlmv2 nla 认证。
支持配置用户登陆时的图片。
支持用户登陆。 支持部分终端命令,比如id、uid、whoami等。
账户格式: username:password:home:uid
支持用户登陆并进行交互。
支持sql语句查询交互。
支持用户登陆并进行交互。
当前只支持nmap指纹欺骗
支持登录与交互
支持登录与交互
支持基本信息
支持登录与交互
当前只支持nmap指纹欺骗
支持网站克隆。 需要安装chrome浏览器和chrome driver才能使用。
可以使用genConfig子命令生成所有协议和参数的配置文件。
使用172.16.0.0/16子网生成配置文件:
fapro genConfig -n 172.16.0.0/16 > fapro.json
或者使用本机地址,不创建虚拟网络:
fapro genConfig > fapro.json
只创建ssh协议的配置:
./fapro genConfig -p ssh
使用Verbose模式运行FaPro, 并在8080端口启动web服务:
fapro run -v -l :8080
对于windows用户,请先安装winpcap或npcap。
使用ELK分析协议日志,例如:
配置文件的简单介绍:
{
"version": "0.65",
"network": "127.0.0.1/32",
"network_build": "localhost",
"storage": null,
"geo_db": "/tmp/geoip_city.mmdb",
"hostname": "fapro1",
"use_logq": true,
"cert_name": "unknown",
"syn_dev": "any",
"udp_dev": "any",
"icmp_dev": "any",
"limiter": {
"period": 10,
"count": 3,
"block_period": 20
},
"exclusions": [],
"hosts": [
{
"ip": "127.0.0.1",
"handlers": [
{
"handler": "dcerpc",
"port": 135,
"params": {
"accounts": [
"administrator:123456",
],
"domain_name": "DESKTOP-Q1Test"
}
}
]
}
]
}
使用子网172.16.0.0/24创建一个虚拟网络,包含2个主机:
172.16.0.3 运行dns、ssh服务
172.16.0.5 运行rpc、rdp服务
协议访问日志保存到elasticsearch,排除远程ip为127.0.0.1和8.8.8.8的日志。
{
"version": "0.65",
"network": "172.16.0.0/24",
"network_build": "userdef",
"storage": "es://http://127.0.0.1:9200",
"use_logq": true,
"cert_name": "unknown",
"syn_dev": "any",
"udp_dev": "any",
"icmp_dev": "any",
"exclusions": ["127.0.0.1", "8.8.8.8"],
"geo_db": "",
"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"
}
}
]
}
]
}
使用脚本中的ipclone.py脚本,可以实现从fofa中克隆ip服务配置,快速生成真实设备的服务配置。
我们收集了一些常见问题. 报告issue前,请先看看常见问题集中是否有你要找的答案。