由于入侵检测这门课要做PPT讲解,所以我研究了一下Kali linux上的一些实验,首先介绍一下kali linux:
按照官方网站的定义,Kali Linux是一个高级渗透测试和安全审计Linux发行版。作为使用者,我简单的把它理解为,一个特殊的Linux发行版,集成了精心挑选的渗透测试和安全审计的工具,供渗透测试和安全设计人员使用。也可称之为平台或者框架。集成超过300个渗透测试工具。(好像很好玩的样子)
Kali Linux面向专业的渗透测试和安全审计,因此,Kali Linux已经进行了如下的多处核心的修改:
单用户,设计成root权限登录:
默认禁用网络服务:Kali Linux包含了默认禁用网络服务的sysvinit hooks,它们允许用户在Kali Linux安装各种的服务,允许用户安装各种包,同时仍然确保我们默认的发行版安全.附加的服务,例如蓝牙也会被默认列入黑名单。
实验环境:Kali linux,CentOS 处于同一网段
(一)DNS(Domain Name System,域名系统)欺骗:
DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。 原理:如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。
在kali linux终端输入 ifconfig查看ip地址
主机:192.168.113.129
要攻击的主机:192.168.113.131
打开Ettercap
利用locate找到文件的位置
Locate etter.conf
文本编辑etter.conf
gedit /etc/ettercap/etter.conf
这里的参数设成0
去掉前面的#,也叫作哈希标识,打开Iptables
打开ettercap,首先scan forhosts然后打开host list
将192.168.113.2设为target2,192.168.113.131设为target1
这里的192.168.113.2是网关,可以用route -n查看
然后我们转到中间人攻击的选项
选择ARP毒化mitm--ARP Poisoning--sniff remote connections
用于攻击个人以及企业的最常见的网络攻击方式就是中间人攻击(MITM)。作为一种主动窃听攻击方式,中间人攻击方式主要是通过与目标机器建立连接并在目标机器间传递信息来发动攻击。在这种情况下,用户会认为自己正在与另一名用户直接通信,而实际上,通过主机的通信流量正在对用户执行攻击。最终结果是,攻击主机不仅能截取重要信息,而且能够注入数据流来进一步控制受害用户。
打开plugins 点击DNS欺骗插件dns_sproof来激活它
然后进入文本编辑修改etter.dns
终端命令:gedit /etc/ettercap/etter.dns
接着跳转到
var文件夹 www文件夹 然后是html文件夹
index.html打开是这样的,我们现在选择文本编辑它
开启阿帕奇服务器,这样我们的机子就变成网页服务器了
命令:service apache2 start
接下来,在目标主机centos上输入KAIL的IP地址
我们可以在ettercap看到,microsoft.com被定位到168.192.113.129
(二)窃取cookies
首先说明一下:
http:超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
https:安全超文本传输协议(Secure Hypertext Transfer Protocol)是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层(SecureSockets Layer 安全套接层)),HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
这个实验只能在http网站上完成。
打开ettercap,扫描
将192.168.113.2加入target1
192.168.113.131加入target2
点击打开mitm,打开arp毒化
然后开启嗅探
先在Kali linux打开wireshark,搜索http.cookies
再在另一台虚拟机上进入某个http网站,输入用户名和密码登录账户
然后我们就可以在wireshark中看到报文了
将第一条复制成纯文本
进入这个http网页,打开tools—cookies manager,添加cookies,content里填写刚刚复制的内容
刷新一下
(没有装cookies manager可以在火狐的附加组件中下载,反正是个能注入cookies的插件就行)
在ettercap中可以看见你刚刚输入的用户名和密码的明文了,我这里对网站和用户名密码都打了马赛克
(三)sslstrip配置
尝试访问https的网站,路由器会把受害者的访问请求发送给我们,攻击者把https转换成http协议,然后扣下报文中的用户名和密码,攻击者会把请求报文发回给路由器,然后路由器把这个请求再发送给网站。实施攻击的时候,主机和目标主机都处在一个局域网才行。
SSL欺骗步骤:劫持HTTPS通信
1. 客户端与web服务器间的流量被拦截
2. 当遇到HTTPS URS时,sslstrip使用HTTP链接替换它,并保存了这种变化的映射
3. 攻击机模拟客户端向服务器提供证书
4. 从安全网站收到流量提供给客户端
这个过程进展很顺利,服务器认为其仍然在接收SSL流量,服务器无法辨别任何改变。用户可以感觉到唯一不同的是,浏览器中不会标记HTTPS,所以某些用户还是能够看出不对劲。
打开终端:
然后配置一下路由表,路由表是用来将一个端口的所有数据传送到另一个端口
命令:iptables -t nat -A PREROUTING -p tcp --destination -port 80 -j REDIRECT --to-port 8080NAT 一定的基础
-T 匹配的表 NAT表 :PREROUTING 修改来的包
:POSTROUTING 修改准备发出的包
-A 表示加入高级选项
-P 协议类型
-J 表示把目标80端口的数据包转到其他端口 上述命令是8080端口
然后Route –n查询网关
然后使用nmap
Arpspoof –i etho –t 192.168.113.131192.168.113.2这样我们的目标流量就会被重定向
然后再在另一个窗口上输入 sslstrip –l 8080
用sslstrip工具侦听发往8080端口的数据
还会把流量重定向
用IE浏览器,因为火狐会被强制SSL
用cat sslstrip.log可以看到用户名和密码的明文