所有的授权实战入侵网站已添加“如何入侵”标签,在侧边栏的归档中选择“如何入侵”即可查看所有文章

MENU

改造NPC

December 30, 2022 • Read: 1134 • 常山阅读设置

改造NPC

在内网渗透中,代理的使用是必不可少的,因为我比较喜欢用npc这个代理工具,所以本次代理改造就以npc为主。

本地编译

在微步上,npc被标记为恶意软件,而经过本地编译后,微步仅标记为可疑软件,所以本地编译是非常重要的

隐藏npc配置

在使用npc时,要么使用配置文件,要么使用参数控制,配置文件和参数都会让防守方非常方便的发现攻击方的攻击中转IP,所以隐藏npc的配置是非常必要的

在NPC的Github仓库中,我们主要修改cmd/npc/npc.go文件即可。修改23行~42行中的参数即可。

var (
    serverAddr     = flag.String("server", "", "Server addr (ip:port)")
    configPath     = flag.String("config", "", "Configuration file path")
    verifyKey      = flag.String("vkey", "", "Authentication key")
    logType        = flag.String("log", "stdout", "Log output mode(stdout|file)")
    connType       = flag.String("type", "tcp", "Connection type with the server(kcp|tcp)")
    proxyUrl       = flag.String("proxy", "", "proxy socks5 url(eg:socks5://111:[email protected]:9007)")
    logLevel       = flag.String("log_level", "7", "log level 0~7")
    registerTime   = flag.Int("time", 2, "register time long /h")
    localPort      = flag.Int("local_port", 2000, "p2p local port")
    password       = flag.String("password", "", "p2p password flag")
    target         = flag.String("target", "", "p2p target")
    localType      = flag.String("local_type", "p2p", "p2p target")
    logPath        = flag.String("log_path", "", "npc log path")
    debug          = flag.Bool("debug", true, "npc debug")
    pprofAddr      = flag.String("pprof", "", "PProf debug addr (ip:port)")
    stunAddr       = flag.String("stun_addr", "stun.stunprotocol.org:3478", "stun server address (eg:stun.stunprotocol.org:3478)")
    ver            = flag.Bool("version", false, "show current version")
    disconnectTime = flag.Int("disconnect_timeout", 60, "not receiving check packet times, until timeout will disconnect the client")
)

通常情况下,我会修改第一个参数和第三个参数,在serverAddr = flag.String("server", "", "Server addr (ip:port)")中的第二个引号中填入自己的IP和端口即可,如:serverAddr = flag.String("server", "8.8.8.8:8888", "Server addr (ip:port)")

修改完成后直接使用go build npc.go编译即可

修改静态特征

这个不知道有没有用,我自己感觉是有用的,修改67行~72行,随便把内容修改就可以

svcConfig := &service.Config{
    Name:        "Npc",
    DisplayName: "nps内网穿透客户端",
    Description: "一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。",
    Option:      options,
}

远程加载配置文件

先说一个思路,具体还未实现。上传配置文件到阿里云盘,然后提取直链,通过npc远程加载配置文件,因为阿里云盘的域名是白名单,所以可以绕过一些限制。

Archives QR Code Tip
QR Code for this page
Tipping QR Code