点击上方“蓝字”,关注更多精彩
0x00 前言
M0N0介绍
M0N0是一款开源的软件防火墙,小巧精悍,可以用来模拟各种网络技术,基于unix系统开发,但是2014年停止了维护,不过还是可以在很多企业很多网络上看到它的身影,因为它占资源少,功能却十分强大。假设你想要真正意义上的网络环境,就可以用此软件来搭建环境。
为什么要用M0N0?
1、能够做更加精准的配置。我们平时仅用vmware搭建靶场环境是比较粗糙的,省去了路由器和防火墙,如果想要两个网络如1.0与2.0相通,是无法实现的,只能依靠双网卡来实现。举个简单的例子,只有一张仅主机网卡的机器,无法与仅有NAT或者桥接的机器ping通的,而且之间也没有做路由规则与防火墙规则配置的。
2、能够配置防火墙与路由表规则。我们就算不用M0N0也能配置,就是在windows机器的防火墙高级配置以及Linux机器的iptables,但是假设内网机器有100台,试想一下一个一个去手动配置的情形。。
3、更加贴近真实网络环境。我们可以通过使用M0N0,来加强对计算机网络的理解与学习,更加清楚网络拓扑结构。
先来聊聊(前置知识)
最开始设计ip地址的时候,好像一共才42亿左右吧,我也懒得推算了,总之当时以为ip地址绝对够用了,哪知2011年的时候,ipv4
地址就已经快被耗尽。
想想也是啊,地球上70亿人,一人一个ip地址都不够用,更别提现在这个时代,电脑、手机、ipad、kindle甚至手表都能上网,一个人就需要5个ip地址了。
科学家们就想到了一个办法,从ABC三类网络地址中划分了三个ip范围来当做私有网络地址,它们的特点就是不能够在公网中出现,一出现就会被路由器拦截屏蔽;同时它们可以在局域网中重复使用。这个技术被称之为NAT(Network Address Transfer)网络地址转换技术,分静态NAT、动态NAT、PAT(端口复用技术)等类型,这里不细讲了,学过计算机网络的童鞋都清楚。划分出来的三个ip范围被称为RFC1918
标准,同时这也弱化了原本ABC类定义,也出现了后来的CIDR无类别域间路由。
后来聪明的中国人发明了一个技术,有一句经典的话:这个技术的实现能够让地球上每一粒沙子分配到一个ip
地址,也就是大名鼎鼎的ipv6
。这是由我国主导的技术,会成为下一代互联网的主导力量,实属中国骄傲!
0x02 M0N0安装
1、新建虚拟机,选择FreeBSD
操作系统或者Linux
操作系统,(建议是FreeBSD,速度会很快)添加两张网卡,链接镜像文件开机即可。镜像文件后台回复mono即可获取。
2、随后选择7号,将M0N0安装在硬件上。这里会展示出来硬件的名称,输入后选择y开始安装,速度相当快
3、随后展示出1-6的选项这里说明安装完毕
4、对选项的解释说明:
1)接口,将两张网卡对应起来LAN和WAN
2)设置LAN ip地址
3)重置webGUI界面密码
4)恢复出厂设置
5)重启M0N0系统
6)ping主机
0x03 配置环境
网络拓扑如下,实验目的:1、让内网仅主机机器访问百度,从而模拟最真实的内网环境。2、配置规则控制访问许可,控制流量。
实验目的1
1、按照上图进行所有的虚拟机配置,先不要开机。
2、打开虚拟网络编辑,去掉Host-Only
的DHCP
服务,因为我们不需要用vmware
自带的DHCP
服务来分配ip了。
3、回到M0N0
这里,选择1号。首先询问需要设置VLAN
吗,选择n
不需要继续。之后会告诉我们输入LAN(Local Area Network局域网)
对应的网卡MAC地址,可以在虚拟机设置中查看到MAC地址
为图中的em1
,所以这里输入em1
即可
4、随后WAN(Wide Area Network广域网)
口就是对应的另一个接口了,之后的Optional 1
不用去管,那个是如果有第三张以上的网卡可以输入。随后执行重启。
5、紧接着,选择2号,配置LAN口ip,也就是内部LAN的网关ip地址与子网掩码,并开启DHCP服务,设置DHCP服务的范围。这也是为什么之前我们关闭vmware
自带的DHCP
服务的原因。
6、按下回车后,我们可以开启所有的其他虚拟机,就可以看到内网ip
已经获取到了。同时M0N0
这里出现了一个URL。访问一下,就可以看到M0N0
的Web_GUI
配置页面了。
有了M0N0
,就会更加真实,我们的物理机也访问不到这个ip
了。只能够使用局域网中的其他虚拟机来访问,输入账号:admin
,密码:mono
就可登录成功。
7、左边部分是详细配置信息,右边就是此m0n0wall
的基本信息。
8、点击左边的General setup
,可以看到基本操作,大概就图中这4点,其他先不管。
9、别的暂时不需要去明白,重点看Firewall
的LAN
和WAN
配置
10、那么WAN口上写了个RFCC1918
,这里的意思是,所有符合RFC1918标准
的ip地址都不允许通过。
也就是说,我们内网机器的ip
会被屏蔽,因为我这里设置的是仅主机192.168
的ip
。好,那我们尝试访问一下百度,惊不惊喜意不意外?不是说屏蔽了吗?
11、首先我们要先不管私有地址等,能访问到外网是因为之前设置的WAN
为桥接模式,而WAN
口的ip
地址是默认DHCP
分配的。所以m0n0帮我们实现了LAN到WAN的转换,从而内网仅主机通过WAN的桥接访问百度。
12、回到这里,点击右边的edit按钮
可以看到,前面说会自动屏蔽RFC1918标准的私有ip地址,重点在后面:如果WAN外网ip也设置的RFC1918标准,就不会拦截RFC1918的ip地址。
实验目的2
1、上面实现了内网仅主机机器能够ping通外网的功能,下面来试试添加个规则:只允许内网机器访问外网的80端口,不能访问外网其他端口。
2、按照下图配置
3、这里选择目标的80端口,随后点击下方的save
保存规则。
4、回到这里,点击之前的任意规则将其禁用,再点击上方的应用更改。
5、可以看到,我们ping不通目标kali
,但是能访问kali
的80端口。实验成功。
总结
1、M0N0是功能十分强大的开源防火墙,与其同级别的还有其他的一些,功能都差不多,例如opensense
。
2、M0N0是安装在unix上的软件防火墙,它对硬件的要求非常之低,但是功能十分强大。适用于一些中小企业、网吧、云平台等领域。
3、不仅仅有流量控制,还有VPN、IPsec等功能,以后可以慢慢探索。
往期推荐
CVE-2022-32230 Windows SMB拒绝服务漏洞
CVE-2021-4034 Linux Polkit本地提权漏洞
CVE-2021-31760 Webmin CSRF致使RCE
CVE-2022-22965 Spring core RCE漏洞
郑重声明:该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。
原文始发于微信公众号(HACK技术沉淀营):内网渗透 | 利用M0N0实现真实内网环境
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论