隐藏和伪装端口banner
OpenSSH
修改openssh-3.x/version.h
找到#define SSH_VERSION "OpenSSH_3.x"
修改后编译安装
修改SSH-2.0 (不建议)
proto-mismatch.sh
proto-version.sh
SSH
版本号:
修改apps/ssh/ssh2version.h
#define SSH2_VERSION "3.2.9.1"
banner名:
修改apps/ssh/ssh2includes.h
#define SSH2_VERSION_STRING "SSH Secure Shell " SSH2_VERSION \
" (non-commercial version)"
#define SSH2_PROTOCOL_VERSION_STRING SSH2_VERSION \
" SSH Secure Shell (non-commercial)"
修改SSH-2.0 (不建议)
apps/ssh/sshd2.c
apps/ssh/lib/sshproto/trcommon.h
apps/ssh/sshstdiofilter.c
exim4
配置文件:/etc/exim4/exim4.conf.template
找到#smtp_banner = $smtp_active_hostname ESMTP Exim $version_number $tod_full
去掉注释并修改
postfix
配置文件/etc /postfix/main.cf
修改 smtpd_banner=$myhostname ESMTP "Version not Available"
Proftd
配置文件:
伪装登入欢迎信息
修改 ServerIdent on "Serv-U FTP Server v5.0 for WinSock ready...\"
或ServerIdent off
telnet会显示:220 ::ffff:192.168.2.3 FTP server ready
伪装banner信 息
DisplayLogin [msgfile] DisplayConnect [msgfile]
Vsftpd
配置文件:vsftpd.conf
修改 ftpd_banner=welcome to this FTP server
Apache
配置文件:/etc/apache2/apache2.conf 或/etc/apache2/httpd.conf
找到 ServerSignature on 改为 ServerSignature off
找到ServerTokens Full 改为 ServerTokens prod
经过以上修改,可以隐藏一些 banner
但是用wget -S和curl -I还是可以看到apache字样
彻底伪装的话需要修改源文件
编辑ap_release.h文 件,修改"#define AP_SERVER_BASEPRODUCT\"Apache\""为"#define AP_SERVER_BASEPRODUCT\"Microsoft-IIS/5.0\"
编辑os/unix/os.h文 件修改"#define PLATFORM\"Unix\""为"#define PLATFORM\'Win32"
重新编译apache
PHP
配置文件php.ini
修改expose_php On ——> expose_php = Off
Nginx
在nginx.conf 的 http { 里头加入 server_tokens 的参数
server_tokens off;
http {
include mime.types;
default_type application/octet-stream;
server_tokens off;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
彻底屏敝需要修改源码
src/core/nginx.h
找到
#define NGINX_VERSION "0.6.35"
#define NGINX_VER "nginx/" NGINX_VERSION
#define NGINX_VAR "NGINX"
修改后编译
TTL
用以下命令修改Red Hat Linux的TTL基数为128(默认为64):
echo 128 > /proc/sys/net/ipv4/ip_default_ttl
用以下命令修改Red Hat Linux的TTL基数为128(默认为64):
net.ipv4.ip_default_ttl = 128
iptables
利用iptables来限制22端口的 SSH登录,让非授权的IP扫描不到TCP 22端口的存在:
#iptables -I INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP
利用iptables,将本机的TCP 3389端口转移到其它开有3389端口的计算机上,给Linux系统伪装出一个提供服务的TCP 3389端口。命令如下:
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to xx.xx.xx.xx
#iptables -t nat -I POSTROUTING -p tcp --dport 3389 -j MASQUERADE
第一条命令表示允许数据包转发;第二条命令表示转发TCP 3389到xx.xx.xx.xx;第三条命令表示使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道。若想使转发永久生效,可以把以上命令 添加到/etc/rc.local文件中。
这样,当***扫描服务器所开端口的时候,就找不到22号端口,而是看到一个伪装的3389端口,从而不能正确判断出操作系统的类型。
针对netcraft
netcraft是一个很厉害的扫描引擎,它通过简单的TCP 80,就可以知道所测服务器的操作系统、Web服务程序和服务器开机时间(Uptime)等信息。
上面介绍的几种方法对netcraft来说,均不奏效。针对netcraft,可利用iptables进行系统伪装,使netcraft错误判断操作系 统:
#iptables -t nat -I PREROUTING -s 195.92.95.0/24
-p tcp --dport 80 -j DNAT --to xx.xx.xx.xx
#iptables -t nat -I POSTROUTING -s 195.92.95.0/24
-p tcp --dport 80 -j MASQUERADE
由于通过抓包发现,netcraft的服务器不止一台,所以需要对它所在网段进行转发欺骗处理。
转载于:https://blog.51cto.com/missuniverse110/398676
隐藏和伪装端口banner相关推荐
- 端口Banner信息的获取
端口的分类 端口范围0-65535,TCP端口和UDP端口是相互独立的(因为TCP和UDP两个协议是相互独立的),两者并不冲突. 端口分为: 1.周知端口:即范围从0-1023,其中80端口分配给WW ...
- 2.1.4.2 端口Banner信息获取
4-2端口Banner信息获取 端口的分类 端口范围 0-65535 端口分为: 1.周知端口 2.动态端口 3.注册端口 端口Banner获取-nmap 使用Nmap扫描指定主机的端口信息,并返回B ...
- 快速了解端口banner
端口banner信息 1.它是端口的欢迎语. 2.banner信息包括:软件开发商.软件名称.服务类型.版本号等信息. 3.可通过banner信息,进行漏洞测试.如:对应的CVE漏洞等.
- linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射
Linux服务器间同网段IP传伪装端口映射 主机(网关)ip:192.168.4.18 目标主机 ip :192.168.4.25 映射端口: 21 echo "1" > / ...
- Rootkit隐藏进程和端口检测
Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件.进程和网络链接等信息,比较多见到的是Rootkit一般都和木马.后门等其他恶意程序结合使用. 例如:inetd或者log ...
- android 隐私伪装原理,加锁、隐藏和伪装!三招严防私密App被偷看
随着手机等智能设备的普及,人们的物质生活得到极大的丰富,但随之而来的隐私泄露问题却使得每一个人都几乎变得"透明".同事.朋友有意无意的把玩起你的手机,随意翻看你的相册.甚至点开一些 ...
- Linux登录安全及用户操作审计 ,linux下清理日志脚本
一.合理使用Shell历史命令记录功能 Linux下可通过history命令查看用户所有历史操作记录,同时shell命令操作记录默认保存在用户目录下的.bash_history文件中,有时候***会删 ...
- SSH Iptables访问控制
方法一: 在/etc/hosts.allow中添加允许ssh登陆的ip或者网段 sshd:192.168.1.2:allow 或者 sshd:192.168.1.0/24:allow 在/etc ...
- LInux系统木马植入排查分析 及 应用漏洞修复配置(隐藏bannner版本等)
在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节.今天,分享一下如何检查linux系统是否遭受了入侵? 一.是否入侵检查 1)检查系统日志 检查系统错误登陆日志,统计IP重试 ...
最新文章
- socket网络编程udp
- bootstrap select2 php,JS组件Bootstrap Select2使用方法详解
- linux 关机命令总结
- python四分位数_Python解释数学系列——分位数Quantile
- 为啥我从后台查到的值在页面显示的是undefined_短说开发日报:2.7版本后台财务管理(11.19周四)...
- 2022年计算机专业程序员笔记本电脑推荐
- InnoDB中Adaptive hash index存在问题、Percona改进及一个bug
- Matlab并行编程cellfun arrayfun
- 刷题记录 kuangbin带你飞专题五:并查集
- 【概率统计】(在更)
- mysql索引失效的情况
- 带左右箭头的图片轮播
- Mysql 错误1366, Incorrect string value: '\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...' for column '
- Linux中的PS1变量
- 四色定理java_四色定理中公理的证明
- SeaweedFS 分布式 上传、下载、删除附件公共接口
- Centos7.5 升级openssh到9.0p1
- 微信能用支付宝钱包了
- win32应用程序内存不足
- 数据中心交换机基础自学系列 | MAC简介
热门文章
- char栈java,Java数据结构与算法-栈和队列(示例代码)
- Spark详解(七):SparkContext源码分析以及整体作业提交流程
- vivo手机解锁_关于手机“解锁”的话题,vivo屏幕指纹技术很有话语权
- 测开之路二十:比较v1和v2
- ajax中的async
- 在 asp.net core \ vs2015 update2 情况况下创建 asp.net core web application 的问题
- Ubuntu 13.04 安装 SSH SERVER记
- 抽象数据类型Triplet的C语言实现
- Hibernate 双向一对一实现(基于annotation)
- 要注意页面中加载的第三方脚本