端口隐藏,使用户无法通过netstat之类的命令,得到我们需要隐藏的端口信息。netstat是通过读/proc/net下的文件来完成的。Strace可以看出:netstat的主要操作有:open/read 文件/proc/net/tcp,/proc/net/udp,/proc/net/raw ……,
如下图:
adore-ng的实现:
adore默认隐藏的是tcp协议的端口2222和7350:
1、找到proc_net的名字为tcp的子项。替换这个子项的get_info函数。
2、我们的get_info函数,首先调用系统原始的get_info函数,得到一个buffer,这个buffer里面装的是/proc/net/tcp这个文件的内容。解析get_info得到的数据,把端口2222和7350的部分过滤掉,然后把过滤之后的内容装到一块新申请的buffer中。最后把我们自己申请得到、过滤了2222和7350端口信息的那块内存返回。
图说adore-ng之端口隐藏
最新推荐文章于 2024-02-03 00:53:52 发布