首页
论坛
专栏
课程

[翻译]后渗透阶段利用Netsh控制Windows防火墙

4天前 263

[翻译]后渗透阶段利用Netsh控制Windows防火墙

4天前
263

这篇文章将提供一个详细的后渗透指南,以获取受害者的防火墙和网络配置的所有信息。

目录

  • 防火墙简介
  • 防火墙规则
  • 防火墙的优点
  • 防火墙的种类
  • 防火墙的重要性
  • Netsh简介
  • 怎样阻止远程主机的TCP端口
  • 怎样阻止多个TCP端口
  • 怎样查看防火墙规则
  • 怎样删除防火墙规则
  • 怎样添加防火墙规则
  • 查看当前配置文件状态
  • 进一步修改防火墙

防火墙简介

防火墙是一种网络安全设备,用于防止对私有网络的未授权访问。防火墙有多种形式,包括硬件、软件或软硬结合。防火墙有很多种类,例如代理防火墙、应用防火墙、状态防火墙、包过滤防火墙等。

防火墙连接网络,通常用于防止未授权的公网用户访问连接着公网的私有网络,特别是保护内网的安全。传入或传出内网的所有信息都要经过防火墙,防火墙会检查每个信息,阻止不符合安全标准的信息传输。

防火墙规则

防火墙规则包括入站规则和出站规则:

入站规则:根据规则中的过滤条件,过滤从公网到本地主机的流量。

出站规则:根据规则中的过滤条件,过滤从本地主机到公网的流量。

两种规则都可以按需自定义流量过滤的条件。

换句话说,入站规则与进入你主机的流量有关。如果在你主机上运行着一个Web服务器,那就必须要告诉防火墙允许外部用户访问你的主机。出站规则与流出你主机的流量有关,会将应用程序分类,允许部分应用程序访问外网,而其他应用不能。如果你想让浏览器(IE、火狐、Safari、Chrome、Opera等)访问外网的同时阻止某些网站,你可以在出站规则中插入命令,允许或不允许哪些网站通过防火墙。

防火墙的优点

  • 网络隔离
  • 组网灵活
  • 不需要恶意软件防护
  • 不需要维护

防火墙的种类

  • 包过滤防火墙
  • 电路级防火墙
  • 状态检测防火墙
  • 应用级防火墙
  • 下一代防火墙

防火墙的重要性

  • 防火墙目前已经成为网络的重要组成部分。体现在:
  • 保护计算机免受非授权远程访问
  • 阻止信息链接到无用的内容
  • 阻止不必要的、恶意的内容
  • 匹配数据包的细节来获取可信的信息
  • 阻止或允许指定IP和域名

Netsh简介

Netsh是一个命令行程序,可以查看计算机的网络配置,或改变一台运行中计算机的网络配置。Netsh支持即时执行的输入命令,也支持批处理文件或脚本。远程计算机和本地计算机都可以通过netsh命令进行配置。Netsh还支持脚本功能,可以在指定的计算机上以批处理模式执行一组命令。通过Netsh可以将配置脚本保存为文本文件,以便存档或帮助您配置其他计算机。

(参考文章:https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-contexts)

现在,假设目标主机的防火墙是开启的:

现在要关闭目标主机的防火墙。首先,获取一个meterpreter会话并绕过目标主机的管理员权限。进入目标主机的shell并执行

netsh firewall set opmode mode=disable

就像这样,目标主机的防火墙被关闭。

怎样阻止远程主机的TCP端口

利用Metasploit,我们不仅可以关闭或开启防火墙,还可以阻止或允许连接任何特定端口。是的,这意味着我们也可以控制入站规则和出站规则。再一次获取一个meterpreter会话绕过目标主机的管理员权限后进入目标主机的shell,只需输入:

netsh advfirewall firewall add rule name="Block Ports" protocol=TCP dir=out remoteport=80 action=block

Name:规则名称(取一个描述性的名字)

Protecol:要阻止的协议(大部分是UDP或TCP)

Dir:阻止的方向。可以是IN或OUT

Remote Port:要阻止的目标主机的端口

Action:可以是阻止或允许。在本例中,我们要阻止连接。

一旦执行以上代码,所有对80端口的出站请求都会被阻止,并在防火墙的出站规则中添加一个条目:

如果要查看该条目的属性,点击“协议和端口”标签查看。

怎样阻止多个TCP端口

现在我们已经知道怎样阻止远程主机的一个端口,让我们继续深入。我们不仅可以阻止一个端口,还可以阻止两个或者更多。为了阻止两个或者更多端口,同样的,获取一个meterpreter会话并获得目标主机的管理员权限。进入目标主机的shell并执行

netsh advfirewall firewall add rule name="Block Ports" protocol=TCP dir=out remoteport=80,443 action=block


只要执行以上代码,所有对80端口的出站请求都会被阻止,并在防火墙的出站规则中添加一个条目:

如果查看该条目的属性,点击“协议和端口”标签,会看到已经阻止了80端口和443端口。

通过阻止80端口和443端口,HTTP和HTTPS服务也被阻止,目标主机就不能连接任何网站,打开网址会报错:

怎样查看防火墙规则

现在要学习怎样查看远程主机防火墙的入站规则和出站规则,怎样删除规则,怎样开启端口以供以后载荷的使用,怎样阻止远程主机被ping。

首先,假设在远程主机的出站规则中有一个被阻止的端口。

为了知道目标主机中,哪个规则是允许连接,哪个规则是阻止连接。获取一个meterpreter会话并绕过目标主机的管理员权限。进入目标主机的shell并执行

netsh advfirewall firewall show rule name=all

执行这条命令,会显示所有规则:


怎样删除防火墙规则

在上一张图中,在“关闭所有端口”规则中,可以看到80端口和443端口是被阻止的。删除远程主机的这条规则:

netsh advfirewall firewall delete rule name="Block Ports"


执行这条命令,规则删除。继续执行

netsh advfirewall firewall show rule name=all

再次查看结果:


还可以在防火墙出站规则中看到结果:

怎样添加一个防火墙规则

我们正常的负载工作在4444端口。如果想开启4444端口,可以上传一个运行在4444端口的载荷,只需输入:

netsh advfirewall firewall add rule name="Allow Port 4444" protocol=TCP dir=out remoteport=4444 action=allow


执行这条命令,远程主机的4444端口允许连接:

要阻止远程主机被ping,只需要执行命令:

netsh advfirewall firewall add rule name="All ICMPV4" dir=in action=block protocol=icmpv4


这条命令将要执行时,远程主机会创建一个阻止ping的规则:

下图是执行的结果:


查看当前配置文件状态

现在来学习怎样在远程主机防火墙中阻止/允许连接特定IP地址,怎样查看例外列表/允许列表中应用程序的详细信息,怎样查看例外列表/允许列表中端口的详细信息。同时,还要学习怎样查看防火墙的主要配置状态和当前配置文件,比如配置是否开启。

netsh advfirewall show currentprofile


查看防火墙的配置文件后,可以查看远程主机的哪些程序是被允许连接外网的,输入命令:

netsh firewall show allowedprogram


下一条命令是查看主要配置状态,输入命令:

netsh firewall show config


接下来,可以查看防火墙日志存储的文件路径,输入命令:

netsh firewall show logging


进一步修改防火墙

防火墙可以阻止连接单个IP地址,允许连接其他IP;也可以只允许连接单个IP地址,阻止其他IP。首先学习怎样阻止连接单个IP地址,执行命令:

netsh advfirewall firewall add rule name="IP Block" dir=in interface=any action=block remoteip=192.168.0.15/32

(以上命令中,/32表示IP地址的子网掩码)

 

执行命令后,可以看到以下结果:

在“IP Block”规则的属性中看到IP:192.168.0.15被阻止了

同样的,允许连接一个特定IP地址,输入命令:

netsh advfirewall firewall add rule name="IP Allow" dir=in interface=any action=allow remoteip=192.168.0.15/32

(在上面的命令中“/32”是IP的子网掩码)


执行命令后,可以看到以下结果:

在“IP Allow”规则的属性中看到IP:192.168.0.15允许连接:



翻译:Green奇

校对:sudozhange

原文链接:https://www.hackingarticles.in/windows-firewall-post-exploitation-with-netsh/




[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上一主题 下一主题
最新回复 (0)
游客
登录 | 注册 方可回帖
返回