Linux伪装windows,Linux伪装成Windows

Linux伪装成Windows

发布时间:2007-05-08 09:36:24来源:红联作者:RoadCloud

针对HTTP服务

通过分析Web服务器的类型,大致可以推测出操作系统的类型,比如,Windows使用IIS来提供HTTP服务,而Linux中最常见的是Apache。

默认的Apache配置里没有任何信息保护机制,并且允许目录浏览。通过目录浏览,通常可以获得类似“Apache/1.3.27 Server at apache.linuxforum.net Port 80”或“Apache/2.0.49 (Unix) PHP/4.3.8”的信息。

通过修改配置文件中的ServerTokens参数,可以将Apache的相关信息隐藏起来。但是,Red Hat Linux运行的Apache是编译好的程序,提示信息被编译在程序里,要隐藏这些信息需要修改Apache的源代码,然后,重新编译安装程序,以实现替换里面的提示内容。

以Apache 2.0.50为例,编辑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。

Apache安装完成后,修改httpd.conf配置文件,将“ServerTokens Full”改为“ServerTokens Prod”;将“ServerSignature On”改为“ServerSignature Off”,然后存盘退出。重新启动Apache后,用工具进行扫描,发现提示信息中已经显示操作系统为Windows。

针对FTP服务

通过FTP服务,也可以推测操作系统的类型,比如,Windows下的FTP服务多是Serv-U,而Linux下常用vsftpd、proftpd和pureftpd等软件。

以proftpd为例,修改配置文件proftpd.conf,添加如下内容:

ServerIdent on \"Serv-U FTP Server v5.0 for WinSock ready...\"

存盘退出后,重新启动proftpd服务,登录到修改了提示信息的FTP服务器进行测试:

C:\\>ftp 192.168.0.1  Connected to 192.168.0.1.  220 Serv-U FTP Server v5.0 for WinSock ready...  User (192.168.0.1:(none)):  331 Password required for (none).  Password:  530 Login incorrect.  Login failed.  ftp > quit  221 Goodbye.

这样从表面上看,服务器就是一个运行着Serv-U的Windows了。

针对TTL返回值

可以用ping命令去探测一个主机,根据TTL基数可以推测操作系统的类型。对于一个没有经过任何网关和路由的网络,直接ping对方系统得到的TTL值,被叫做“TTL基数”。网络中,数据包每经过一个路由器,TTL就会减1,当TTL为0时,这个数据包就会被丢弃。

通常情况下,Windows的TTL的基数是128,而早期的Red Hat Linux和Solaris的TTL基数是255,FreeBSD和新版本的Red Hat Linux的TTL基数是64。比如,ping一个Red Hat系统,显示如下:

Pinging 192.168.0.1 with 32 bytes of data:  Reply from 192.168.0.1: bytes=32 time <10ms TTL=64  Reply from 192.168.0.1: bytes=32 time <10ms TTL=64  Reply from 192.168.0.1: bytes=32 time <10ms TTL=64  Reply from 192.168.0.1: bytes=32 time <10ms TTL=64  Ping statistics for 192.168.0.1:  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  Approximate round trip times in milli-seconds:  Minimum = 0ms, Maximum = 0ms, Average = 0ms

用以下命令修改Red Hat Linux的TTL基数为128(本来为64):

# echo 128 > /proc/sys/net/ipv4/ip_default_ttl

若想使设置永久生效,可以修改/etc/sysctl.conf配置文件,添加如下一行:

net.ipv4.ip_default_ttl = 128

保存退出后,再ping 192.168.0.1,TTL基数就变为128了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值