Windows端口安全技巧

端口和协议的安全

端口检查命令 --- netstat

netstat -a 查看开启了哪些端口
netstat -n 查看端口的网络连接情况

 

限制协议和端口

TCP/IP属性--高级--选项--tcp/ip筛选属性中添加和删除端口、协议

 

修改完成后,"禁用" -- "启动" 后即生效

常见的系统端口

135

DCOM技术与对方计算机进行通信时,会自动调用目标主机的RPC服务,而RPC服务将自动询问目标主机的135端口,当前有哪些端口可以用来通信。

目标主机会提供一个可用的服务端口作为数据传输通道使用。

135端口的作用其实就是为RPC通信提供一种服务端口的映射功能。说简单一点,135端口就是RPC通信中的桥梁。

137

137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口自动处于开放状态。

如果入侵者知道目标主机IP地址,并向该地址的137端口发送一个连接请求时,就可能获得目标主机的相关信息。如:计算机名称、用户信息、本次开、关机时间等

139

139端口是一种TCP端口,该端口在你通过网上邻居访问局域网中的共享文件或共享打印机时就能发挥作用

139端口一旦被Internet上的某个攻击者利用的话,就会成为一个危害极大的安全漏洞。因为攻击者要是与目标主机的139端口建立连接的话,就很有可能浏览到指定网段内所有工作站中的全部共享信息,甚至可以对目标主机中的共享文件夹进行各种编辑、删除操作。

445

445端口也是一种TCP端口,该端口在Windows Server或Windows Server 2003系统中发挥的作用与139端口时完全相同的。具体地说,他也是提供局域网中文件或打印机共享服务。不过该端口时基于CIFS(通用因特网文件系统协议)工作的,而139端口时基于SMB协议(服务器协议族)对外提供共享服务。同样的,攻击者与445端口建立连接,也能获得局域网内各种共享信息。

如何关闭常见的危险端口?

关闭135端口

关闭135端口最直接有效的办法,就是将RPC服务停止掉。

(1)、在"管理工具"菜单项下,单击"服务"选项;

(2)、将"Remote Procedure Call"打开,启动类型选中"禁用",单击"确定"按钮。

 

 

(3)、如果需要重新启用RPC服务时,必须打开注册表,

HEKY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs,

双击该子键下的"start"项,将其数值设置为"0x02",然后重新启动。

(4)、上面的关闭方法有很大的局限性,一旦停止了RPC服务,服务器很多功能都有可能失效。例如数据库查询功能、Outlook功能、远程拨号功能等,因此这种关闭只能适合在简单的Web服务器或DNS服务器中使用。

(5)、这样关闭RPC服务,会"殃及池鱼"。考虑到只有采用DCOM开发技术设计出来的应用程序,才会调用RPC服务,因此只要禁止系统中的DCOM,同样也会达到禁用RPC服务的目的。

打开运行对话框,输入"dcomcnfg.exe"命令。

选中该窗口的"默认属性"标签,在其后的标签页面中,将"在这台计算机上启用分布式COM"选项选中,最后单击"确定"按钮。

 

 

 关闭137、139端口

考虑到基于TCP/IP协议下的NetBIOS服务,几乎都是通过137、139端口实现的,因此你只要将基于tcp/ip协议下的NetBIOS服务停止掉,就能实现间接关闭137、139端口的目的。

网络连接 -- tcp/ip协议参数设置窗口 -- 高级-- wins标签--禁用tcp/ip上的NetBIOS。

关闭445端口

HKEY_LOCAL_MACHINE\SYSTEM\SystemControlSet\Services\NetBT\Parameters

选择"Parameters"项,新建DWORD值。命名为"SMBDeviceEnabled"。值设置为"0".

Windows进程安全技巧

Windows最令人迷惑的进程 -- Svchost.exe

1、不同版本的Windows系统,存在不同数量的"svchost"进程,可以使用"任务管理器"查看进程数目。

这些svchost进程提供很多系统服务,如:rpcss服务(Remote procedure call)、dmserver服务(logical disk manager)、dhcp服务(dhcp clieNT)等。

2、木马病毒利用

为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。但svchost.exe进程只作为服务宿主,不实现任何功能。

这些系统服务以动态链接库(dll)形式实现,他们把可执行程序指向svchost,由svchost调用相应服务的动态链接库来启动服务。

在注册表种设置参数来实现某个系统服务调用哪个dll。

 

 

基本的系统进程

smss.exe   Session Manager

csrss.exe    子系统服务器进程

winlogon.exe     管理用户登录

services.exe     包含很多系统服务

lsass.exe    本地安全策略子系统(如哪个用户允许登录系统,口令策略,权限管理等等)

svchost.exe    包含很多系统服务

spoolsv.exe    将文件加载到内存中以便之后打印

explorer.exe    资源管理器

internat.exe    输入法

tcpsvcs.exe   提供在PXE可远程启动客户计算机上远程安装windows professional的能力

ismserv.exe     允许在windows Advanced Server站点间发送和接受消息

ups.exe    管理连接到计算机的不间断电源(UPS)

wins.exe     为注册和解析NetBIOS型名称的TCP/IP客户提供NetBIOS名称服务

llssrv.exe       License Logging Service

ntfrs.exe      在多个服务器间维护文件目录内容的文件同步。

RsSub.exe    控制用来远程存储数据的媒体

locator.exe    管理RPC名称服务数据库

.......

进程注入

为了对内存中某个进程进行操作,并且获得该进程地址空间里的数据,或者修改进程的私有数据结构,必须将自己的代码放在目标进程的地址空间里运行,这是就避免不了使用进程注入方法了。

进程注入的方法分类如下:

1、dll注入

2、直接将代码写入目标进程,并启动远程线程后门(如,木马)