小编注:
大家好。接下来给大家带来两篇老外的文章,是关于构建渗透环境的文章,这是第一篇。如果有什么地方翻译地不对,还请各位大大轻拍。下面一系列的步骤都是如何在GNS3、Dynamips,QEMU / PEMU和VM Workstation9的帮助下构造一个DMZ网络环境的。
对于一个多功能的渗透测试实验室来说,使用网络模拟器和虚拟机绝逼是一个进行演练的特别好的方式,因为这可以在给定的硬件和软件条件下使用几乎所有的的网络/操作系统的组合。
不过这样的环境仍有一些限制。比如Cisco交换机和IOS代码(小编:注意一下,这不是苹果的操作系统,而是GNS3的PIX镜像文件)是不可能直接模拟的。然而,经过修改带有VLAN中继功能的Cisco交换机是可以模拟的。
实验室的主要目的是为了能够在实验室环境中,测试各种攻击场景,其中包括端口转发,DMZ架构和防火墙/IDS组建,比如IPCop和SecurityOnion的测试。
在完成实验环境搭建之后,我将能展示一些经典的渗透测试场景,比如客户端攻击,外网渗透攻击,中间人攻击,web服务器攻击等。
俗话说:工欲善其事,必先利其器。所以首先,我们要做好准备工作。
0×00:环境搭建
1、我们需要一个Ubuntu12.04的LTS版本(长期支持版),并且安装到最新版。这个网上有很多教程,多说就是废话了。
2、接下来安装一个VM Workstation9,这里就不详细说了,网上也有很多教程。
3、安装GNS3和Dynamips。你可以直接在terminal中输入以下命令:
#sudo apt-get install gns3dynamips
4、然后安装Qemu
#cd /tmp#wget -OQEMU-0.11.0-GNS3-Ubuntu-Linux.tgz http://sourceforge.net/projects/gns-3/files/Qemu/Linux/QEMU-0.11.0-GNS3-Ubuntu-Linux.tgz/download#tar xvf QEMU-0.11.0-GNS3-Ubuntu-Linux.tgz#cdQEMU-0.11.0-GNS3-Ubuntu-Linux/#sudo ./Qinstall
5、接下来安装PEMU,不过你得先下下来才能用,这是地址:
http://sourceforge.net/projects/gns-3/files/Pemu/2008-03-03/pemu_2008-03-03_bin.tar.bz2/download
然后解压:
#bunzip pemu_2008-03-03_bin.tar.bz2#tar xvf pemu_2008-03-03_bin.tar#cd /pemu_2008-03-03_bin
然后,复制文件夹中所有的文件到 /usr/share/gns3
#cp * /usr/share/gns3
到这里事情并没有结束,我们所安装的QEMU和PEMU必须要在特定的32位库才能运行在X64架构上(小编:当然这里前提是你安装的是ubuntuX64的版本)
#sudo apt-get installia32-libs
好了,到这里准备工作就做的差不多了。当你做完这些之后,你应该能够在GNS3上面运行PIX和ASM镜像了。如果你想找一些IOS/PIX镜像文件,你可以去google上面找一下,上面还是有不少的。
0×01:配置准备
在上一篇文章中,我们将搭建实验室需要的软件安装布置好了。下面的时间,我们将在上面的文章的基础上继续我们的搭建过程,走你。
有人或许到现在也不是特别理解我们为什么需要搭建一个这样的东西,那我我们可以想象一下这样的场景:
你的渗透雇佣公司接到了一个小公司的白盒/灰盒渗透单子,这就意味着你已经知道了目标企业的全部或者部分的补丁等级和硬件的相关信息;或者说,你们公司接到了一个黑盒测试,经过一系列的数据收集之后,也了解了目标企业的服务器相关信息,此事作为一个被雇佣的乙方公司,你有义务尽量减少测试过程中给客户带来的比如当机等其他一些不可预见的后果,这时候,我们的渗透实验室就派上用场了。
至于我们的渗透,我们这次选用了一个中型的软件公司Nood.net,下面是他的服务器信息:
·带有端口转发的双重防火墙
·网站服务器和服务性服务器(Email、DNS等)在DMZ区
·内网通过VLAN分隔为不同部门比如管理部、IT部、软件开发部、销售部。
·使用OSTF路由协议,并将静态路由引入Router
我们需要至少两种不同的IOS镜像和一个PIX镜像。在我们的例子中,我们选用以下版本:
Firewall:PIX 803
Router_FW_Internal:c3725-advsecurityk9-mz.124-19b.image
RouterDMZ&Router_ISP:c2691-jk9s-mz.123-17.image
另外,你需要几个虚拟机来做ping/traceroute测试。在这里我们使用xp SP3和Kali linux。
0×02:信息概览
开始之前,我们需要分配IP地址和子网地址和VLAN。下面的表包括了需要的所有信息,大家可以看一下:
注意:由于VMWare的网络限制,我这里仅在网络接口使用了内网来连接带有防火墙(PIX)的路由器。
下表包括了interal router(Router_FW_Internal)(小编:这里应该是指区域内路由)的端口及其连接:
下表显示了防火墙(PIX)的连接信息:
下表显示了Router_ISP的连接信息:
下表显示了Router DMZ的连接信息:
下表是所使用虚拟网络及其配置:
0×03:拓扑结构
好了,这些信息设置完了,我们来梳理一下我们的网络的拓扑结构:
接下来我们需要配置路由器,开启内网和DMZ区的路由功能:
注意:本教程中介绍的命令总是从启用模式下执行的。
0×04:Router_FW_Internal
下面,我们登录到Router_FW_Internal控制台,开始设置LAN内部网络。那么首先,我们要给网络接口设置正确的IP
Conf t
int fastEthernet1/1description toMGMT
no shut
ip address 10.10.10.2 255.255.255.0full-duplex
exit
接下来我们要在交换机上设置基本的安全配置,首先就是启用加密功能。
conf t
enable secret Cisco1service password-encryption
接下来我们将实现基于标准VTY线路(0-5)的SSH连接,同时禁掉telnet功能。不过我们首先要给路由一个合适的域名地址,生成RSA密钥对。
ip domain-name noob.net
crypto key generate rsa→ Choose 1024 to support SSH v.2line vty 0 5login local
transport input ssh
ip ssh version 2motd-banner
exit
line con 0login local
motd-banner
exit
然后,生成用户名和密码
username admin password administrator
接下来要创建一个banner用于警告潜在的入侵者。同时我们需要在VTY线路上启messasge-of-the-day(MOTD)banner
banner motd # Trespassers will be prosecuted. #line vty 0 5motd-banner
exit
接下来,我们将配置F1/0接口。这是软件开发部的接口开关
conf t
int fastEthernet1/0description toSoftDev
no shut
ip address 10.10.200.2 255.255.255.0full-duplex
exit
下面配置F2/0接口,此接口由市场部和销售部共享,但是两个部门属于不同的广播域。这是命令
conf t
int fastEthernet2/0description setup_if
ip address 10.10.20.2 255.255.255.0no shut
exit
int fastEthernet2/0.30no shut
description to_Sales
encapsulation dot1Q 30ip address 10.10.30.2 255.255.255.0no shut
exit
int fastEthernet2/0.40description to_Marketing
encapsulations dot1Q 40ip address 10.10.40.2 255.255.255.0no shut
exit
下面的命令用来连接内部路由/防火墙到外部防火墙
conf t
int fastEthernet0/0no shut
ip address 10.0.0.1 255.255.255.252description toFirewallExt
我们还需要配置静态路由作为备份系统。因此,我们将向路由增加250的管理位距:
ip route 0.0.0.0 0.0.0.0 10.0.0.2 250
为了阻止任何未经授权的用户访问,我们现在配置几个扩展的ACL。我们将针对网络接口fa0/1(MGMT)建立一个访问名单。此名单将阻止由MGMT网络到内网的访问。
conf t
access-list 100 remark fromMGMT
access-list 100 deny ip 10.10.10.0 0.0.0.25510.10.200.0 0.0.0.255 log-input
access-list 100 deny ip 10.10.10.0 0.0.0.25510.10.20.0 0.0.0.255 log-input
access-list 100 deny ip 10.10.10.0 0.0.0.25510.10.30.0 0.0.0.255 log-input
access-list 100 deny ip 10.10.10.0 0.0.0.25510.10.40.0 0.0.0.255 log-input
access-list 100 permit ip any any
int fastethernet 0/1ip access-group 100 in
接下来从fa1/0开始对所有借口重复以上步骤
conf t
access-list 101 remark fromSoftDev
access-list 101 deny ip 10.10.200.0 0.0.0.25510.10.10.0 0.0.0.255 log-input
access-list 101 deny ip 10.10.200.0 0.0.0.25510.10.20.0 0.0.0.255 log-input
access-list 101 deny ip 10.10.200.0 0.0.0.25510.10.30.0 0.0.0.255 log-input
access-list 101 deny ip 10.10.200.0 0.0.0.25510.10.40.0 0.0.0.255 log-input
access-list 101 permit ip any any
int fastethernet 1/0ip access-group 101 in
我们还需要设置一个针对子接口fa2/0.30的ACL
conf t
access-list 102 remark fromSales
access-list 102 deny ip 10.10.30.0 0.0.0.25510.10.10.0 0.0.0.255 log-input
access-list 102 deny ip 10.10.30.0 0.0.0.25510.10.200.0 0.0.0.255 log-input
access-list 102 deny ip 10.10.30.0 0.0.0.25510.10.20.0 0.0.0.255 log-input
access-list 102 deny ip 10.10.30.0 0.0.0.25510.10.40.0 0.0.0.255 log-input
access-list 102 permit ip any any
int fastethernet 2/0.30ip access-group 102 in
最后一步是配置子接口fa2/0.40的ACL
conf t
access-list 103 remark fromMarketing
access-list 103 deny ip 10.10.40.0 0.0.0.25510.10.10.0 0.0.0.255 log-input
access-list 103 deny ip 10.10.40.0 0.0.0.255 10.10.200.00.0.0.255 log-input
access-list 103 deny ip 10.10.40.0 0.0.0.25510.10.20.0 0.0.0.255 log-input
access-list 103 deny ip 10.10.40.0 0.0.0.25510.10.30.0 0.0.0.255 log-input
access-list 103 permit ip any any
int fastethernet 2/0.40ip access-group 103 in
配置好了这些ACL,现在我们的内网是相当安全的。我们所做的这些配置会让我们没办法直接访问外网,不过经过其他设置这还是可能的~J
0×05:Firewallconfiguration (PIX)
现在,我们需要对外部防火墙做一些基本配置
conf t
enable password Cisco1int ethernet 0description toInternal
nameif inside
security-level 100ip address 10.0.0.2 255.255.255.252no shut
int ethernet 1description toDMZ_Router
nameif DMZ
security-level 50ip address 192.168.0.1 255.255.255.252no shut
int ethernet 4description toISP_Router
nameif outside
security-level 0ip address 192.168.0.5 255.255.255.252no shut
接下来启用不同接口之间的路由功能。我们再次做一个250的管理位距。我们还要注意所有的内部目的网址还是在10.0.0.0 / 8内,因此我们可以使用路由汇总:
route outside 0.0.0.0 0.0.0.0 192.168.0.6 250route inside 10.0.0.0 255.0.0.0 10.0.0.1
250route DMZ 172.16.100.0 255.255.255.0 192.168.0.2 250
启用从内网到DMZ的ping功能(允许ICMP包),我们需要把下面的访问列表放在DMZ接口上
access-list ICMP permit icmp any any
access-group ICMP in interface DMZ
0×06:RouterDMZ
接下来就是如何让DMZ连接到PIX防火墙的路由器。我们将建立静态路由和一些小的安全功能:
conf t
enable secret Cisco1service password-encryption
username admin password administrator
ip domain-name noob.net
crypto key generate rsa [1024]banner # Access to permitted personel only.
#banner motd # Trespassers will be prosecuted.#line vty 0 5transport input ssh
motd-banner
login local
line con 0motd-banner
login local
int fastEthernet 0/0description to PIX_FW
ip address 192.168.0.2 255.255.255.252int fastEthernet 0/1description to_DMZ
ip address 172.16.100.2 255.255.255.0ip route 0.0.0.0 0.0.0.0 192.168.0.1 250
0×07:Router_ISP
conf t
enable secret Cisco1service password-encryption
username admin passwordadministrator
ip domain-name noob.net
crypto key generate rsa [1024]banner # Access to permittedpersonel only. #banner motd
# Trespassers will beprosecuted.#line vty 0 5transport input ssh
motd-banner
login local
line con 0motd-banner
login local
interface fastethernet 0/0description to_PIX_FW
ip address 192.168.0.6255.255.255.252interface fastEthernet 0/1description INTERNET
ip address 192.168.10.2 255.255.255.0ip route 10.0.0.0 255.0.0.0192.168.0.5 250ip
route 172.16.100.0 255.255.255.0192.168.0.5 250
总结:
本文,我们建立了一个DMZ网络,具有以下特性:
·流量可以从每个VLAN流向外网,然而,VLAN之间是被封住的
·VLAN可以连接到DMZ区,但是反向连接被禁止
·DMZ区可以连接外网
·外网不可连接内部网络
静态路由做了到位的备份措施,但是接下来的文章将通过OSPF协议进行升级。
如有问题,敬请留言。
第一部分:【原文链接】
http://cyberandspace.wordpress.com/2014/01/22/building-a-dmz-lab-for-pentesting-in-gns3-and-vmware-workstation9-part-ii-basic-layout/
第二部分:【原文链接】
http://cyberandspace.wordpress.com/2014/01/22/building-a-dmz-lab-for-pentesting-in-gns3-and-vmware-workstation9-part-ii-basic-layout/