老外手把手带你搭建DMZ渗透测试实验室(Part 1,2)

小编注:

大家好。接下来给大家带来两篇老外的文章,是关于构建渗透环境的文章,这是第一篇。如果有什么地方翻译地不对,还请各位大大轻拍。下面一系列的步骤都是如何在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/

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

RFID Hacking②:PM3入门指南

0x00 前言 Proxmark3是由Jonathan Westhues在做硕士论文中研究Mifare Classic时设计、开发的一款开源硬件,可以用于RF...

59311
来自专栏王亚昌的专栏

WinPcap在无线局域网下的使用

    最近在做网关方面的项目,用到了WinPcap开发库去获得数据帧,这个开发库功能很强大,但是在无线局域网环境下使用时有一些不同,下面就WinPcap的使用...

1142
来自专栏FreeBuf

魔波广告恶意病毒简析

1.病毒介绍 魔波广告恶意病毒通过仿冒浏览器,播放器和一些游戏等进行传播,一旦用户手机不慎被感染,该病毒将立即下载提权文件来获取 root权限,频繁推送广告,监...

2275
来自专栏FreeBuf

3步以内利用中间人MitM攻击从RDP连接中获得密码

今天和大家分享个小技术,简单几步通过执行MitM攻击同时从RDP连接中提取明文凭据。我这里使用的测试环境是Linux(1台)、Windows(2台),此环境仅供...

1753
来自专栏FreeBuf

Palo Alto Networks:新型恶意软件家族Reaver与SunOrcal存在一定联系

概要 Unit 42安全小组已经发现了一种新的恶意软件家族,并将其命名为“Reaver”。研究人员表示,这一新型恶意软件与在2016年针对中国台湾地区的黑客攻击...

2435
来自专栏七夜安全博客

练手之经典病毒熊猫烧香分析(上)

1773
来自专栏用户2442861的专栏

支付宝即时到帐接口的python实现,示例采用django框架

http://blog.csdn.net/hornbills/article/details/40338949

3181
来自专栏玄魂工作室

【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性

原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-tech...

2786
来自专栏FreeBuf

Metasploit的简单木马免杀技术及后渗透面临的问题

PS:本文仅用于技术交流与分享,严禁用于非法用途 ? 一. 配置ngrok准备内网穿透 内网穿透的必要性和原理就不用说了,直接说操作。首先到ngrok官网去注册...

4444
来自专栏FreeBuf

从某电商钓鱼事件探索黑客“一站式服务”

深信服EDR安全团队,整理分析了一起某电商钓鱼事件,通过关联信息,发现背后可能存在一个“产业链齐全”的黑客团伙,研究发现其具备“一站式服务”的黑客攻击手段。

1263

扫码关注云+社区

领取腾讯云代金券