2017-2018-2 20179202 网络攻防环境搭建 第二周作业

一、Kali安装后配置

获取网络镜像:更新网络上的软件包

nano /etc/apt/sources.list

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 
deb http://mirrors.aliyun.com/kali-security kali-rolling main contrib non-free

包管理器对kali进行清洁、更新、升级和发行版升级等操作:

apt-get clean
apt-get update 
apt-get upgrade -y  
apt-get dist-upgrade -y

在渗透测试安全过程中可能会需要遇到挂vpn的情况,设置vpn代理。创建脚本文件vpninstall.sh,将以下代码粘贴进去,chmod +x vpninstall.sh 增加执行权限,执行安装软件包。

apt-get install network-manager-openvpn-gnome
apt-get install network-manager-pptp
apt-get install network-manager-pptp-gnome
apt-get install network-manager-strongswan
apt-get install network-manager-vpnc
apt-get install network-manager-vpnc-gnome

注:按照视频配置源后,出现以下错误:

解决方法:

sana和kali-rolling是kali的两个代号(codename),而kali-rolling是目前最新的代号。使用命令lsb_release -a先确定自己是什么版本(kali-rolling):

修改后除了security可以命中,未命中的未解决,之后换成中科大的吧:

二、KaliSecurity(1-5)

1.渗透测试流程:

Back Track 给出的渗透测试流程图如下:

一个完整的授权安全渗透测试流程:

  • 信息搜集:选择目标的过程,也是对目标信息进行收集整理的过程。搜集过程包括但不限于目标在线主机、域名信息等
  • 漏洞分析:在收集了足够的信息之后要判断目标可能存在哪些漏洞,需要搜索引擎搜索或借助漏洞扫描器来完成
  • 漏洞利用:对现有漏洞进行利用,得到一定权限,并提升自己的权限
  • 权限维持:成功攻破系统后,继续保持对系统权限的控制,俗称“留后门”
  • 文档编辑:渗透测试最终需要将得到的信息、漏洞归档化,从而形成知识的积累
  • 其他相关项:无线攻击、密码攻击、嗅探攻击、逆向工程、数字取证等,多为整个渗透测试流程填砖

2.信息搜集之“Google Hack”

信息收集的方式:

  • 主动:直接访问、扫描网站(将流量流经网站的行为)
  • 被动:利用第三方的服务对目标进行访问了解,比例:Google搜索。

目标存在于互联网,从互联网中收集测试目标的有效信息是Kali Linux 信息收集的重要一步:

(1)通过互联网网站搜集信息

子域名信息
Shodan大数据搜索同IP网站反查IP信息扫描网站指纹信息WHOIS查询

(2)Google Hack

详见《文献管理与信息分析》第二章

(3)theharvester

theharvester是一个社会工程学工具,它通过搜索引擎、PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息。

theharvester -d baidu.com -l 100 -b all

-d 后接欲探测域名
-l 限制搜索数目
-b 设定调用的搜索引擎

(4)metagoofil

metagoofil可以收集 word、ppt、Excel、PDF 类型的信息

(5)recon-ng

recon-ng有侦察reconnaissance、发现discovery、汇报reporting、攻击exploitation四大块模块:

  • 侦察:被动的信息收集方式,例如通过搜索引擎google hacker技巧收集目标的敏感信息
  • 发现:主动的信息收集方式,例如通过发送http请求包探测web服务指纹
  • 汇报:提供html和csv两种格式的报

侦察板块中有一个 Profiler 模块,用来查询某个用户名在哪些网站(知名)有注册,命令使用方法:

search profiler 查询在具体路径
use recon/profiles-profiles/profiler 使用模块
show info 查看用法
set SOURCE Jspo 设置SOURCE选项
run 运行
show profiles 查看结果(更新了的profiles表)

最后结果如下(Jspo是本人用户名):

其他模块使用方法同上。(参考信息收集工具recon-ng详细使用教程

3.信息收集之目标获取

DNS(Domain Name System,域名系统)作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住IP数串。当用户输入域名时,DNS服务可以将该域名解析为与之相关的信息,如IP地址。DNS协议运行在UDP协议之上,使用端口号53。从给定的一个简单的主域名(主域名漏洞较少),到目标子域名的信息收集更有利于发现漏洞。

(1) Dig 进行域名解析

中间的5指的是ttl,表示这次请求会在服务器上保存多久时间(单位:秒)
IN是固定关键词
A 地址列出特定主机名的 IP 地址。这是名称解析的重要记录
CNAME 指定标准主机名的别名
NS名称服务器指定负责给定区域的名称服务器
QUESTION SECTION 显示要查询的域名 
ANSWER SECTION 显示查询到的域名对应的IP 
AUTHORITY SECTION显示的是直接提供这个域名解析的DNS服务器,不包括更高级DNS服务器 
ADDITIONAL SECTION 显示的是直接提供域名解析的DNS服务器的IP地址 
最后面是统计信息,SERVER指的是本地DNS服务器的IP

解析过程说明:

  • DNS客户端发包到DNS服务端请求www.baidu.com的IP地址
  • 由于有一条CNAME记录,DNS客户端会访问www.a.shifen.com的域名服务器
  • www.a.shifen.com的域名服务器是一个负责DNS查询流量均衡的调度器,负责把DNS请求调度到ns1.a.shifen.com、ns2.a.shifen.com等域名服务器上
  • 最后这些标记了NS的域名服务器会把百度的IP返回给DNS客户端,从而得到www.baidu.com的IP地址

可以看到,在解析一个域名的时候,往往会有多个DNS服务器提供解析服务,这是因为DNS服务器要求一般至少有两个,以防发生服务器宕机无法提供域名解析的情况。(参考Linux命令:使用dig命令解析域名

  • DNS客户端发包到DNS服务端请求www.baidu.com的IP地址,由于有一条CNAME记录;
  • DNS客户端会访问www.a.shifen.com的域名服务器(相当于是访问www.baidu.com的域名服务器);
  • 在这里www.a.shifen.com的域名服务器是一个负责DNS查询流量均衡的调度器,负责把DNS请求调度到ns5.a.shifen.com、ns6.a.shifen.com等域名服务器上
  • 最后这些标记了NS的域名服务器会把百度的IP返回给DNS客户端
  • 然后我们就得到了www.baidu.com的IP地址

(2) Dig 进行域传送漏洞测试

DNS服务器分为:主服务器、备份服务器和缓存服务器。
域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。 很多DNS服务器被错误地配置成只要有client发出请求,就会向对方提供一个域数据库的详细信息。一旦黑客列出某个特定域的所有主机,收集域信息,找出未公开使用的IP地址,绕过基于网络的访问控制。

在主备服务器之间同步数据库,需要使用“DNS域传送”。
域传送(axfr)能够一次性获取整个域名服务器的所有记录,如果成功执行,仅通过一个简单的命令就可以列出域名服务器上的所有信息。

dig NS baidu.com 获取目标域名使用的DNS服务器

dig @ns7.baidu.com baidu.com axfr 选取ns7.baidu.com进行测试

如果没有漏洞:

如果有漏洞,显示传送成功并显示所有子域的信息

(3)子域名枚举工具

在得到主域名信息之后,如果能通过主域名得到所有子域名信息,在通过子域名查询其对应的主机IP,这样我们能得到一个较为完整的信息。

**fierce **是快速有效地DNS暴力破解工具。先通过查询本地DNS服务器来查找目标DNS服务器,然后使用目标DNS服务器来查找子域名,然后利用字典进行攻击:

输出结果表明,程序首先进行了域传送测试,域传送通过一条命令就能获取服务器上所有的域名信息。如果一次就能简单获取服务器上所有记录域名信息,那么就没有必要进行暴力破解了。 但从结果上看,“Unsucessful in zone transfer”, 域传送测试是失败了。接着执行暴力破解。这都可以在下一步用nmap进行详细扫描。一个内部网络的DNS域名服务器可以提供大量信息,这些信息可以在以后评估网络漏洞。

dnsmap可以自行指定子域名字典进行枚举:

dnsenum速度快,分类明显:

dnsdict6 携带多个不同级别的爆破字典,并且最大支持16个进程同时爆破。

三、网络攻防环境搭建

1.网络环境配置

宿主+VMware 虚拟机软件

  • vmnet1 -主机模式
  • vmnet8 - NAT模式,连接宿主物理网卡,通过 NAT 后连接外网

虚拟机-蜜网网关

  • eth0 (外网口)- 连接 vmnet8: NAT 模式
  • eth1 (内网口)- 连接 vmnet1 :主机模式
  • eth0 和 eth1 构成一个透明网桥
  • eth2 (管理口)- 连接 vmnet8 : NAT 模式。宿主通过 vmnet8 的虚拟网卡对蜜网网关进行管理

虚拟机一靶机

  • eth0 - 连接 vmnet1:主机模式

虚拟机一攻击机

  • eth0 - 连接 vmenet8 : NAT 模式

2.网络拓扑结构

3.VMware 网络环境配置

打开虚拟网络编辑器,VMnet1 设置如下:

VMnet8 设置如下:

VMnet8 中的 NAT 设置如下:

VMnet8 中的 DHCP 设置如下(为了留一些IP给靶机,这里没有把设为192.168.200.126):

3.安装攻击机虚拟机

攻击机:kali、WinXPattacker

网络连接:NAT

查看攻击机虚拟机的ip:

4.安装靶机虚拟机

靶机:Metasploitable2_Linux、Win2kServer_SP0_target

网络连接:仅主机模式

配置靶机虚拟机的ip和网关:找一个在192.168.200.0/25网段的,且不在的DHCP设置分配范围的ip,这里选择192.168.200.125 和 192.168.200.125

:此时 Metasploitable2_Linux 内的ip设置则是需要在命令行下输入 sudo vim/etc/network/interfaces 命令,修改/etc/network/interfaces网卡配置文件如下:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.125
netmask 255.255.255.128
network 192.168.200.127
broadcast 192.168.200.127

修改后配置成功:

Windows下配置;

5.安装密网网关虚拟机

添加两块网卡,网络适配器2设为仅主机模式, 网络适配器3设为NAT:

蜜网网关软件安装完毕,进入登录界面。以roo/honey缺省用户/口令登录,使用 su - 提升到root帐号,缺省口令也为honey :

命令行输入 menu 进入蜜网网关配置界面,选择 HoneyWall Configuration ,再选择 Mode and IP Information ,再选择 Honeypot IP Address 设置蜜罐 IP 信息:

选择 LAN Broadcast Address 设置蜜网网段的广播IP地址:

选择 LAN CIDR Prefix 进行蜜网网段配置:

下面进行蜜网网关管理配置。蜜网网关配置主界面中选择 HoneyWall Configuration ,再选择 Remote Management,再选择 Management IP Address 设置管理口的IP地址:

选择 Management Netmask 设置管理口
IP 地址的掩码:

选择 Management Gateway 设置管理口的网关:

选择 Manager,设置可以管理蜜网网关的远程控制端IP范围,以CIDR格式填写,可有多个IP网段,中间用空格分隔:

下面进行 Sebek 服务器端配置。
蜜网网关配置主界面中选择 HoneyWall Configuration 再选择 Sebek。Sebek服务器端IP地址,设置为管理口IP:

目标端口选择为1101,Sebek 数据包处理选项选择为 Drop 。

6.测试虚拟机蜜罐和攻击机主机之间的网络连接 (以Linux为例)

测试攻击机到靶机的连通性:

测试靶机到攻击机的连通性:

在蜜网网关上监听ICMP ping包是否通过内网口和外网口。攻击机 ping 靶机时tcpdump -i eth1 icmp

攻击机 ping 靶机时tcpdump -i eth0 icmp :

靶机 ping 攻击机时,tcpdump -i eth1 icmp

靶机 ping 攻击机时,tcpdump -i eth0 icmp

通过测试后,说明虚拟机蜜罐和外部网络之间的网络连接(通过蜜网网关 eth0 和 eth1 所构成的网桥)没有问题。

最后也检测了一下Windows下靶机和攻击机的连通性,以及Windows和Linux下攻击机和靶机的相互连通性:

四、黑客信息

袁仁广,中国国家信息安全漏洞库特聘专家,北京奥运会特聘信息安全专家,现任腾讯湛泸实验室负责人。其领衔的360漏洞研究实验室被誉为“东半球最强大的白帽子军团”。他在windows系统方面的造诣,在国内应该是绝对一流。(详见 黑客袁哥:关于我的几个故事

凯文·米特尼克(Kevin Mitnick)被称为世界上“头号电脑黑客”。他是第一个在美国联邦调查局“悬赏捉拿”海报上露面的黑客。他闯入了“北美空中防务指挥系统”的计算机主机内,和另外一些朋友翻遍了美国指向前苏联及其盟国的所有核弹头的数据资料。后来他还推出了一本畅销书《欺骗的艺术》。

五、安全工具

安全工具:Wireshark、Netcat

六、Python3 简明教程

Python3 简明教程学习

posted @ 2018-03-14 15:29  20179202杨晓桐  阅读(980)  评论(4编辑  收藏  举报