mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['generic-methodologies-and-resources/pentesting-network/READ
This commit is contained in:
parent
8a2edeec4f
commit
ead31242fd
1 changed files with 55 additions and 55 deletions
|
@ -16,20 +16,20 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
{% endhint %}
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**버그 바운티 팁**: **가입하세요** **Intigriti**, 해커를 위해 해커가 만든 프리미엄 **버그 바운티 플랫폼**! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에서 저희와 함께하고 최대 **$100,000**의 보상을 받기 시작하세요!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
## Discovering hosts from the outside
|
||||
## 외부에서 호스트 발견하기
|
||||
|
||||
이 섹션은 **인터넷**에서 **응답하는 IP**를 찾는 방법에 대한 **간단한 설명**입니다.\
|
||||
이 상황에서는 몇 개의 **IP 범위**가 있으며, **어떤 IP가 응답하는지** 찾기만 하면 됩니다.
|
||||
이는 **인터넷**에서 **응답하는 IP**를 찾는 방법에 대한 **간단한 섹션**입니다.\
|
||||
이 상황에서는 몇 개의 **IP 범위**(어쩌면 여러 **범위**)가 있으며, **어떤 IP가 응답하는지** 찾기만 하면 됩니다.
|
||||
|
||||
### ICMP
|
||||
|
||||
이것은 호스트가 작동 중인지 여부를 확인하는 **가장 쉽고 빠른** 방법입니다.\
|
||||
이는 호스트가 작동 중인지 여부를 확인하는 **가장 쉽고 빠른** 방법입니다.\
|
||||
일부 **ICMP** 패킷을 보내고 **응답을 기대**할 수 있습니다. 가장 쉬운 방법은 **에코 요청**을 보내고 응답을 기대하는 것입니다. 간단한 `ping`을 사용하거나 **범위**에 대해 `fping`을 사용할 수 있습니다.\
|
||||
또한 **nmap**을 사용하여 다른 유형의 ICMP 패킷을 보낼 수 있습니다(이는 일반적인 ICMP 에코 요청-응답 필터를 피하는 데 도움이 됩니다).
|
||||
또한 **nmap**을 사용하여 다른 유형의 ICMP 패킷을 보낼 수도 있습니다(이는 일반 ICMP 에코 요청-응답 필터를 피할 수 있습니다).
|
||||
```bash
|
||||
ping -c 1 199.66.11.4 # 1 echo request to a host
|
||||
fping -g 199.66.11.0/24 # Send echo requests to ranges
|
||||
|
@ -53,22 +53,22 @@ masscan -p80,443,8000-8100,8443 199.66.11.0/24
|
|||
```
|
||||
### UDP 포트 탐지
|
||||
|
||||
어떤 **호스트**에 **더 많은 주의**를 기울여야 할지 결정하기 위해 **UDP 포트가 열려 있는지** 확인해 볼 수 있습니다. UDP 서비스는 일반적으로 빈 UDP 프로브 패킷에 **어떠한 데이터**로도 **응답하지 않기** 때문에 포트가 필터링되고 있는지 열려 있는지 말하기 어렵습니다. 이를 결정하는 가장 쉬운 방법은 실행 중인 서비스와 관련된 패킷을 보내는 것이며, 어떤 서비스가 실행 중인지 모르기 때문에 포트 번호를 기반으로 가장 가능성이 높은 것을 시도해야 합니다:
|
||||
어떤 **호스트**에 **더 많은 주의**를 기울여야 할지 결정하기 위해 **UDP 포트가 열려 있는지** 확인해 볼 수 있습니다. UDP 서비스는 일반적으로 빈 UDP 프로브 패킷에 **어떠한 데이터**로도 **응답하지 않기** 때문에 포트가 필터링되고 있는지 또는 열려 있는지 말하기 어렵습니다. 이를 결정하는 가장 쉬운 방법은 실행 중인 서비스와 관련된 패킷을 보내는 것이며, 어떤 서비스가 실행 중인지 모르기 때문에 포트 번호를 기반으로 가장 가능성이 높은 것을 시도해야 합니다:
|
||||
```bash
|
||||
nmap -sU -sV --version-intensity 0 -F -n 199.66.11.53/24
|
||||
# The -sV will make nmap test each possible known UDP service packet
|
||||
# The "--version-intensity 0" will make nmap only test the most probable
|
||||
```
|
||||
제안된 nmap 명령어는 **/24** 범위 내의 모든 호스트에서 **상위 1000 UDP 포트**를 테스트하지만, 이것만으로도 **>20분**이 걸립니다. **가장 빠른 결과**가 필요하다면 [**udp-proto-scanner**](https://github.com/portcullislabs/udp-proto-scanner)를 사용할 수 있습니다: `./udp-proto-scanner.pl 199.66.11.53/24` 이 명령어는 **예상 포트**에 이러한 **UDP 프로브**를 전송합니다 ( /24 범위의 경우 단 1분이 걸립니다): _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._
|
||||
제안된 nmap 명령은 **/24** 범위 내의 모든 호스트에서 **상위 1000 UDP 포트**를 테스트하지만, 이것만으로도 **>20분**이 걸립니다. **가장 빠른 결과**가 필요하다면 [**udp-proto-scanner**](https://github.com/portcullislabs/udp-proto-scanner)를 사용할 수 있습니다: `./udp-proto-scanner.pl 199.66.11.53/24` 이 명령은 **UDP 프로브**를 예상 포트로 전송합니다 ( /24 범위의 경우 단 1분이 걸립니다): _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 포트 탐지
|
||||
```bash
|
||||
#Probably useless, but it's pretty fast, why not trying?
|
||||
#Probably useless, but it's pretty fast, why not try it?
|
||||
nmap -T4 -sY -n --open -Pn <IP/range>
|
||||
```
|
||||
## Pentesting Wifi
|
||||
|
||||
여기 작성 당시 잘 알려진 모든 Wifi 공격에 대한 멋진 가이드를 찾을 수 있습니다:
|
||||
여기 작성 시점에 잘 알려진 모든 Wifi 공격에 대한 멋진 가이드를 찾을 수 있습니다:
|
||||
|
||||
{% content-ref url="../pentesting-wifi/" %}
|
||||
[pentesting-wifi](../pentesting-wifi/)
|
||||
|
@ -91,7 +91,7 @@ set net.show.meta true #more info
|
|||
```
|
||||
### Active
|
||||
|
||||
Note that the techniques commented in [_**Discovering hosts from the outside**_](./#discovering-hosts-from-the-outside) (_TCP/HTTP/UDP/SCTP Port Discovery_) can be also **applied here**.\
|
||||
[_**외부에서 호스트 발견하기**_](./#discovering-hosts-from-the-outside) (_TCP/HTTP/UDP/SCTP 포트 발견_)에서 언급된 기술은 여기에도 **적용될 수 있습니다**.\
|
||||
하지만, 다른 호스트와 **같은 네트워크**에 있으므로, **더 많은 작업**을 수행할 수 있습니다:
|
||||
```bash
|
||||
#ARP discovery
|
||||
|
@ -119,11 +119,11 @@ _외부에서 호스트 발견하기_에서 언급된 기술들([_**ICMP**_](./#
|
|||
|
||||
* **서브넷 브로드캐스트 주소**에 **ping**을 보내면 ping이 **각 호스트**에 도달하고 그들이 **응답**할 수 있습니다: `ping -b 10.10.5.255`
|
||||
* **네트워크 브로드캐스트 주소**에 ping을 보내면 **다른 서브넷** 내의 호스트를 찾을 수 있습니다: `ping -b 255.255.255.255`
|
||||
* `nmap`의 `-PE`, `-PP`, `-PM` 플래그를 사용하여 각각 **ICMPv4 에코**, **타임스탬프**, 및 **서브넷 마스크 요청**을 보내 호스트 발견을 수행합니다: `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24`
|
||||
* `nmap`의 `-PE`, `-PP`, `-PM` 플래그를 사용하여 각각 **ICMPv4 에코**, **타임스탬프**, **서브넷 마스크 요청**을 보내 호스트 발견을 수행합니다: `nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24`
|
||||
|
||||
### **Wake On Lan**
|
||||
|
||||
Wake On Lan은 **네트워크 메시지**를 통해 컴퓨터를 **켜는 데** 사용됩니다. 컴퓨터를 켜는 데 사용되는 매직 패킷은 **MAC Dst**가 제공되고 그 다음에 같은 패킷 내에서 **16번 반복되는** 패킷입니다.\
|
||||
Wake On Lan은 **네트워크 메시지**를 통해 컴퓨터를 **켜는 데** 사용됩니다. 컴퓨터를 켜는 데 사용되는 매직 패킷은 **MAC Dst**가 제공되고 그 후 같은 패킷 내에서 **16번 반복**되는 패킷입니다.\
|
||||
이러한 종류의 패킷은 일반적으로 **이더넷 0x0842** 또는 **포트 9로 UDP 패킷**으로 전송됩니다.\
|
||||
**\[MAC]**이 제공되지 않으면 패킷은 **브로드캐스트 이더넷**으로 전송됩니다(그리고 브로드캐스트 MAC이 반복됩니다).
|
||||
```bash
|
||||
|
@ -175,7 +175,7 @@ nmap -sU -sV --version-intensity 0 -n -T4 <IP>
|
|||
|
||||
**SCTP (스트림 제어 전송 프로토콜)**은 **TCP (전송 제어 프로토콜)** 및 **UDP (사용자 데이터그램 프로토콜)**와 함께 사용되도록 설계되었습니다. 그 주요 목적은 IP 네트워크를 통해 전화 데이터의 전송을 용이하게 하여 **신호 시스템 7 (SS7)**에서 발견되는 많은 신뢰성 기능을 반영하는 것입니다. **SCTP**는 SS7 신호를 IP 네트워크를 통해 전송하는 것을 목표로 하는 **SIGTRAN** 프로토콜 패밀리의 핵심 구성 요소입니다.
|
||||
|
||||
**SCTP**에 대한 지원은 **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, **VxWorks**와 같은 다양한 운영 체제에서 제공되며, 이는 통신 및 네트워킹 분야에서의 폭넓은 수용과 유용성을 나타냅니다.
|
||||
**SCTP**에 대한 지원은 **IBM AIX**, **Oracle Solaris**, **HP-UX**, **Linux**, **Cisco IOS**, **VxWorks**와 같은 다양한 운영 체제에서 제공되며, 이는 통신 및 네트워킹 분야에서의 폭넓은 수용성과 유용성을 나타냅니다.
|
||||
|
||||
nmap은 SCTP에 대해 두 가지 다른 스캔을 제공합니다: _-sY_ 및 _-sZ_
|
||||
```bash
|
||||
|
@ -196,7 +196,7 @@ nmap -T4 -p- -sY -sV -sC -F -n -oA SCTAllScan <IP>
|
|||
[nmap-summary-esp.md](nmap-summary-esp.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### 내부 IP 주소 공개
|
||||
### 내부 IP 주소 노출
|
||||
|
||||
**잘못 구성된 라우터, 방화벽 및 네트워크 장치**는 때때로 **비공식 소스 주소**를 사용하여 네트워크 프로브에 응답합니다. **tcpdump**는 테스트 중에 개인 주소에서 수신된 패킷을 식별하는 데 사용할 수 있습니다. 특히 Kali Linux에서는 **eth2 인터페이스**에서 패킷을 캡처할 수 있으며, 이는 공용 인터넷에서 접근 가능합니다. NAT 또는 방화벽 뒤에 설정이 있는 경우 이러한 패킷은 필터링될 가능성이 높다는 점에 유의해야 합니다.
|
||||
```bash
|
||||
|
@ -218,7 +218,7 @@ sudo tcpdump -i <INTERFACE> udp port 53 #Listen to DNS request to discover what
|
|||
tcpdump -i <IFACE> 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)' &"
|
||||
```
|
||||
원격 머신에서 SSH 세션을 통해 Wireshark를 GUI로 사용하여 실시간으로 패킷을 캡처할 수 있다.
|
||||
원격 머신에서 SSH 세션을 통해 Wireshark를 GUI로 사용하여 실시간으로 패킷을 캡처할 수 있습니다.
|
||||
```
|
||||
ssh user@<TARGET IP> tcpdump -i ens160 -U -s0 -w - | sudo wireshark -k -i -
|
||||
ssh <USERNAME>@<TARGET IP> tcpdump -i <INTERFACE> -U -s0 -w - 'port not 22' | sudo wireshark -k -i - # Exclude SSH traffic
|
||||
|
@ -236,15 +236,15 @@ set net.sniff.regexp #If set only packets matching this regex will be considered
|
|||
|
||||
명백히.
|
||||
|
||||
### Capturing credentials
|
||||
### 자격 증명 캡처
|
||||
|
||||
[https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz)와 같은 도구를 사용하여 pcap 또는 라이브 인터페이스에서 자격 증명을 파싱할 수 있습니다.
|
||||
|
||||
## LAN attacks
|
||||
## LAN 공격
|
||||
|
||||
### ARP spoofing
|
||||
### ARP 스푸핑
|
||||
|
||||
ARP 스푸핑은 기계의 IP가 우리의 장치의 MAC을 가지고 있음을 나타내기 위해 불필요한 ARP 응답을 보내는 것입니다. 그러면 피해자는 ARP 테이블을 변경하고 IP 스푸핑을 원할 때마다 우리의 장치에 연락하게 됩니다.
|
||||
ARP 스푸핑은 기계의 IP가 우리의 장치의 MAC을 가지고 있음을 나타내기 위해 불필요한 ARP 응답을 보내는 것입니다. 그러면 피해자는 ARP 테이블을 변경하고 스푸핑된 IP에 연락할 때마다 우리의 장치에 연락하게 됩니다.
|
||||
|
||||
#### **Bettercap**
|
||||
```bash
|
||||
|
@ -262,7 +262,7 @@ arpspoof -t 192.168.1.2 192.168.1.1
|
|||
```
|
||||
### MAC Flooding - CAM overflow
|
||||
|
||||
스위치의 CAM 테이블을 오버플로우시키기 위해 다양한 소스 MAC 주소를 가진 많은 패킷을 전송합니다. CAM 테이블이 가득 차면 스위치는 허브처럼 동작하기 시작합니다(모든 트래픽을 브로드캐스트).
|
||||
스위치의 CAM 테이블을 오버플로우시키기 위해 다양한 소스 MAC 주소로 많은 패킷을 전송합니다. CAM 테이블이 가득 차면 스위치는 허브처럼 동작하기 시작합니다(모든 트래픽을 브로드캐스트).
|
||||
```bash
|
||||
macof -i <interface>
|
||||
```
|
||||
|
@ -272,13 +272,13 @@ In modern switches this vulnerability has been fixed.
|
|||
|
||||
#### Dynamic Trunking
|
||||
|
||||
The **Dynamic Trunking Protocol (DTP)**는 링크 계층 프로토콜로 설계되어 자동 트렁킹 시스템을 용이하게 하며, 스위치가 트렁크 모드(Trunk) 또는 비트렁크 모드에서 포트를 자동으로 선택할 수 있도록 합니다. **DTP**의 배치는 종종 최적이 아닌 네트워크 설계를 나타내는 것으로 간주되며, 필요할 때만 수동으로 트렁크를 구성하고 적절한 문서를 보장하는 것이 중요함을 강조합니다.
|
||||
The **Dynamic Trunking Protocol (DTP)**는 링크 계층 프로토콜로 설계되어 자동 트렁킹 시스템을 용이하게 하며, 스위치가 트렁크 모드(Trunk) 또는 비트렁크 모드를 위해 포트를 자동으로 선택할 수 있도록 합니다. **DTP**의 배치는 종종 최적이 아닌 네트워크 설계를 나타내는 것으로 간주되며, 필요할 때만 수동으로 트렁크를 구성하고 적절한 문서를 보장하는 것이 중요합니다.
|
||||
|
||||
기본적으로 스위치 포트는 Dynamic Auto 모드로 설정되어 있어, 이웃 스위치에 의해 트렁킹을 시작할 준비가 되어 있습니다. 보안 문제는 펜테스터나 공격자가 스위치에 연결하고 DTP Desirable 프레임을 전송하여 포트를 트렁크 모드로 강제할 때 발생합니다. 이 작업은 공격자가 STP 프레임 분석을 통해 VLAN을 열거하고 가상 인터페이스를 설정하여 VLAN 세분화를 우회할 수 있게 합니다.
|
||||
|
||||
많은 스위치에서 기본적으로 DTP가 존재하는 것은 적들이 스위치의 동작을 모방하여 모든 VLAN의 트래픽에 접근할 수 있도록 악용될 수 있습니다. 스크립트 [_**dtpscan.sh**_](https://github.com/commonexploits/dtpscan)는 인터페이스를 모니터링하여 스위치가 Default, Trunk, Dynamic, Auto 또는 Access 모드에 있는지를 나타내며, Access 모드만이 VLAN 홉핑 공격에 면역인 구성입니다. 이 도구는 스위치의 취약성 상태를 평가합니다.
|
||||
|
||||
네트워크 취약성이 식별되면, _**Yersinia**_ 도구를 사용하여 DTP 프로토콜을 통해 "트렁킹 활성화"를 수행하여 모든 VLAN의 패킷을 관찰할 수 있습니다.
|
||||
네트워크 취약성이 확인되면, _**Yersinia**_ 도구를 사용하여 DTP 프로토콜을 통해 "트렁킹 활성화"를 수행하여 모든 VLAN의 패킷을 관찰할 수 있습니다.
|
||||
```bash
|
||||
apt-get install yersinia #Installation
|
||||
sudo apt install kali-linux-large #Another way to install it in Kali
|
||||
|
@ -291,7 +291,7 @@ yersinia -G #For graphic mode
|
|||
```
|
||||
![](<../../.gitbook/assets/image (269).png>)
|
||||
|
||||
VLAN을 열거하기 위해 [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)** 스크립트를 사용하여 DTP Desirable 프레임을 생성할 수도 있습니다. 어떤 상황에서도 스크립트를 중단하지 마십시오. DTP Desirable을 매 3초마다 주입합니다. **스위치에서 동적으로 생성된 트렁크 채널은 5분 동안만 유지됩니다. 5분 후에는 트렁크가 사라집니다.**
|
||||
VLAN을 열거하기 위해 [**DTPHijacking.py**](https://github.com/in9uz/VLANPWN/blob/main/DTPHijacking.py)** 스크립트를 사용하여 DTP Desirable 프레임을 생성할 수도 있습니다. 어떤 상황에서도 스크립트를 중단하지 마십시오. DTP Desirable을 매 3초마다 주입합니다. **스위치에서 동적으로 생성된 트렁크 채널은 5분 동안만 유지됩니다. 5분 후에 트렁크가 끊어집니다.**
|
||||
```
|
||||
sudo python3 DTPHijacking.py --interface eth0
|
||||
```
|
||||
|
@ -343,9 +343,9 @@ sudo dhclient -v eth0.30
|
|||
|
||||
#### Double Tagging
|
||||
|
||||
공격자가 **희생자 호스트의 MAC, IP 및 VLAN ID 값을** 알고 있다면, 그는 **프레임을 두 번 태그**하여 지정된 VLAN과 희생자의 VLAN으로 패킷을 전송할 수 있습니다. **희생자가 공격자와 연결할 수 없기 때문에**, **공격자가 가장 좋은 옵션은 UDP를 통해 통신**하여 흥미로운 작업을 수행할 수 있는 프로토콜(SNMP와 같은)과 연결하는 것입니다.
|
||||
공격자가 **희생자 호스트의 MAC, IP 및 VLAN ID 값을** 알고 있다면, 그는 **프레임을 두 번 태그**하여 지정된 VLAN과 희생자의 VLAN으로 패킷을 전송할 수 있습니다. **희생자가 공격자와 연결할 수 없기 때문에**, **공격자가 UDP를 통해 통신하는 것이 최선의 선택**입니다. 이는 SNMP와 같은 흥미로운 작업을 수행할 수 있는 프로토콜입니다.
|
||||
|
||||
공격자의 또 다른 옵션은 **공격자가 제어하는 IP를 스푸핑하여 희생자가 접근할 수 있는 TCP 포트 스캔을 시작**하는 것입니다(아마도 인터넷을 통해). 그런 다음, 공격자는 희생자로부터 패킷을 수신하는지 확인하기 위해 자신이 소유한 두 번째 호스트에서 스니핑할 수 있습니다.
|
||||
공격자의 또 다른 옵션은 **공격자가 제어하는 IP를 스푸핑하여 희생자가 접근할 수 있는 TCP 포트 스캔을 시작하는 것**입니다 (아마도 인터넷을 통해). 그런 다음, 공격자는 희생자로부터 패킷을 수신하는지 확인하기 위해 그가 소유한 두 번째 호스트에서 스니핑할 수 있습니다.
|
||||
|
||||
![](<../../.gitbook/assets/image (190).png>)
|
||||
|
||||
|
@ -358,7 +358,7 @@ sendp(packet)
|
|||
```
|
||||
#### Lateral VLAN Segmentation Bypass <a href="#d679" id="d679"></a>
|
||||
|
||||
당신이 **직접 연결된 스위치에 접근할 수 있다면**, 네트워크 내에서 **VLAN 세분화를 우회할 수 있는 능력**이 있습니다. 간단히 **포트를 트렁크 모드로 전환**하고(트렁크라고도 알려짐), 대상 VLAN의 ID로 가상 인터페이스를 생성한 후 IP 주소를 구성합니다. 주소를 동적으로 요청할 수도 있고(DHCP), 정적으로 구성할 수도 있습니다. 이는 경우에 따라 다릅니다.
|
||||
당신이 **직접 연결된 스위치에 접근할 수 있다면**, 네트워크 내에서 **VLAN 세분화를 우회할 수 있는 능력**이 있습니다. 간단히 **포트를 트렁크 모드로 전환**하고(트렁크라고도 알려져 있음), 대상 VLAN의 ID로 가상 인터페이스를 생성한 후 IP 주소를 구성합니다. 주소를 동적으로 요청할 수도 있고(DHCP), 정적으로 구성할 수도 있습니다. 이는 경우에 따라 다릅니다.
|
||||
|
||||
{% content-ref url="lateral-vlan-segmentation-bypass.md" %}
|
||||
[lateral-vlan-segmentation-bypass.md](lateral-vlan-segmentation-bypass.md)
|
||||
|
@ -366,7 +366,7 @@ sendp(packet)
|
|||
|
||||
#### Layer 3 Private VLAN Bypass
|
||||
|
||||
게스트 무선 네트워크와 같은 특정 환경에서는 **포트 격리(프라이빗 VLAN이라고도 함)** 설정이 구현되어 무선 액세스 포인트에 연결된 클라이언트가 서로 직접 통신하는 것을 방지합니다. 그러나 이러한 격리 조치를 우회할 수 있는 기술이 확인되었습니다. 이 기술은 네트워크 ACL의 부족 또는 잘못된 구성을 이용하여 IP 패킷이 라우터를 통해 동일 네트워크의 다른 클라이언트에 도달할 수 있도록 합니다.
|
||||
게스트 무선 네트워크와 같은 특정 환경에서는 **포트 격리(프라이빗 VLAN이라고도 함)** 설정이 구현되어 무선 액세스 포인트에 연결된 클라이언트가 서로 직접 통신하는 것을 방지합니다. 그러나 이러한 격리 조치를 우회할 수 있는 기술이 확인되었습니다. 이 기술은 네트워크 ACL의 부족 또는 잘못된 구성을 이용하여 IP 패킷이 라우터를 통해 동일한 네트워크의 다른 클라이언트에 도달할 수 있도록 합니다.
|
||||
|
||||
공격은 **대상 클라이언트의 IP 주소를 포함하지만 라우터의 MAC 주소를 가진 패킷을 생성**하여 실행됩니다. 이로 인해 라우터는 패킷을 잘못 전달하여 대상 클라이언트에게 전달하게 됩니다. 이 접근 방식은 피해자가 접근할 수 있는 호스트를 제어하여 보안 결함을 이용하는 더블 태깅 공격에서 사용되는 방식과 유사합니다.
|
||||
|
||||
|
@ -377,13 +377,13 @@ sendp(packet)
|
|||
|
||||
### VTP Attacks
|
||||
|
||||
VTP (VLAN Trunking Protocol)는 VLAN 관리를 중앙 집중화합니다. 수정 번호를 사용하여 VLAN 데이터베이스의 무결성을 유지하며, 수정이 이루어질 때마다 이 번호가 증가합니다. 스위치는 더 높은 수정 번호를 가진 구성을 채택하여 자신의 VLAN 데이터베이스를 업데이트합니다.
|
||||
VTP (VLAN Trunking Protocol)는 VLAN 관리를 중앙 집중화합니다. VLAN 데이터베이스 무결성을 유지하기 위해 수정 번호를 사용하며, 수정이 이루어질 때마다 이 번호가 증가합니다. 스위치는 더 높은 수정 번호를 가진 구성을 채택하여 자신의 VLAN 데이터베이스를 업데이트합니다.
|
||||
|
||||
#### VTP Domain Roles
|
||||
|
||||
* **VTP Server:** VLAN을 관리합니다—생성, 삭제, 수정. 도메인 구성원에게 VTP 공지를 방송합니다.
|
||||
* **VTP Client:** VTP 공지를 수신하여 VLAN 데이터베이스를 동기화합니다. 이 역할은 로컬 VLAN 구성 수정이 제한됩니다.
|
||||
* **VTP Transparent:** VTP 업데이트에 참여하지 않지만 VTP 공지를 전달합니다. VTP 공격의 영향을 받지 않으며, 수정 번호는 항상 0으로 유지됩니다.
|
||||
* **VTP Server:** VLAN을 관리합니다—생성, 삭제, 수정. 도메인 구성원에게 VTP 알림을 방송합니다.
|
||||
* **VTP Client:** VTP 알림을 수신하여 VLAN 데이터베이스를 동기화합니다. 이 역할은 로컬 VLAN 구성 수정이 제한됩니다.
|
||||
* **VTP Transparent:** VTP 업데이트에 참여하지 않지만 VTP 알림을 전달합니다. VTP 공격의 영향을 받지 않으며, 수정 번호는 항상 0으로 유지됩니다.
|
||||
|
||||
#### VTP Advertisement Types
|
||||
|
||||
|
@ -391,7 +391,7 @@ VTP (VLAN Trunking Protocol)는 VLAN 관리를 중앙 집중화합니다. 수정
|
|||
* **Subset Advertisement:** VLAN 구성 변경 후 전송됩니다.
|
||||
* **Advertisement Request:** VTP 클라이언트가 Summary Advertisement를 요청하기 위해 발행하며, 일반적으로 더 높은 구성 수정 번호를 감지한 후에 발생합니다.
|
||||
|
||||
VTP 취약점은 트렁크 포트를 통해서만 악용될 수 있으며, VTP 공지는 오직 트렁크 포트를 통해서만 순환합니다. DTP 공격 후 시나리오는 VTP로 전환될 수 있습니다. Yersinia와 같은 도구는 VTP 공격을 용이하게 하여 VLAN 데이터베이스를 삭제하고 네트워크를 효과적으로 중단시킬 수 있습니다.
|
||||
VTP 취약점은 트렁크 포트를 통해서만 악용될 수 있으며, VTP 알림은 오직 트렁크 포트를 통해서만 순환합니다. DTP 공격 후 시나리오는 VTP로 전환될 수 있습니다. Yersinia와 같은 도구는 VTP 공격을 용이하게 하여 VLAN 데이터베이스를 삭제하고 네트워크를 효과적으로 중단시킬 수 있습니다.
|
||||
|
||||
참고: 이 논의는 VTP 버전 1(VTPv1)에 관한 것입니다.
|
||||
````bash
|
||||
|
@ -405,7 +405,7 @@ Yersinia의 그래픽 모드에서 모든 VTP VLAN 삭제 옵션을 선택하여
|
|||
|
||||
#### **STP BPDU DoS**
|
||||
|
||||
많은 BPDUs TCP(Topology Change Notification) 또는 Conf(토폴로지가 생성될 때 전송되는 BPDUs)를 전송하면 스위치가 과부하되어 제대로 작동하지 않게 됩니다.
|
||||
많은 BPDUs TCP (토폴로지 변경 알림) 또는 Conf (토폴로지가 생성될 때 전송되는 BPDUs)를 전송하면 스위치가 과부하되어 제대로 작동하지 않게 됩니다.
|
||||
```bash
|
||||
yersinia stp -attack 2
|
||||
yersinia stp -attack 3
|
||||
|
@ -420,13 +420,13 @@ yersinia stp -attack 0 #Will send 1 CONF packet, nothing else will happen
|
|||
```
|
||||
#### **STP 루트 공격**
|
||||
|
||||
공격자는 스위치의 동작을 시뮬레이션하여 네트워크의 STP 루트가 됩니다. 그런 다음 더 많은 데이터가 그를 통해 전달됩니다. 이는 두 개의 다른 스위치에 연결되어 있을 때 흥미롭습니다.\
|
||||
공격자는 스위치의 동작을 시뮬레이션하여 네트워크의 STP 루트가 됩니다. 그런 다음 더 많은 데이터가 그를 통과하게 됩니다. 이는 두 개의 다른 스위치에 연결되어 있을 때 흥미롭습니다.\
|
||||
이는 **우선순위** 값이 실제 루트 스위치의 실제 우선순위보다 낮다고 말하는 BPDUs CONF 패킷을 전송하여 수행됩니다.
|
||||
```bash
|
||||
yersinia stp -attack 4 #Behaves like the root switch
|
||||
yersinia stp -attack 5 #This will make the device behaves as a switch but will not be root
|
||||
```
|
||||
**공격자가 2개의 스위치에 연결되어 있다면 그는 새로운 트리의 루트가 될 수 있으며, 그 스위치들 간의 모든 트래픽은 그를 통과하게 됩니다** (MITM 공격이 수행될 것입니다).
|
||||
**공격자가 2개의 스위치에 연결되어 있다면 그는 새로운 트리의 루트가 될 수 있으며, 그 스위치들 간의 모든 트래픽은 그를 통과하게 됩니다** (MITM 공격이 수행됩니다).
|
||||
```bash
|
||||
yersinia stp -attack 6 #This will cause a DoS as the layer 2 packets wont be forwarded. You can use Ettercap to forward those packets "Sniff" --> "Bridged sniffing"
|
||||
ettercap -T -i eth1 -B eth2 -q #Set a bridge between 2 interfaces to forwardpackages
|
||||
|
@ -437,7 +437,7 @@ CISCO Discovery Protocol (CDP)는 CISCO 장치 간의 통신에 필수적이며,
|
|||
|
||||
#### 수동 데이터 수집 <a href="#id-0e0f" id="id-0e0f"></a>
|
||||
|
||||
CDP는 모든 포트를 통해 정보를 브로드캐스트하도록 구성되어 있어 보안 위험을 초래할 수 있습니다. 공격자는 스위치 포트에 연결하면 **Wireshark**, **tcpdump** 또는 **Yersinia**와 같은 네트워크 스니퍼를 배포할 수 있습니다. 이 작업은 네트워크 장치에 대한 민감한 데이터를 드러낼 수 있으며, 여기에는 모델과 실행 중인 Cisco IOS 버전이 포함됩니다. 공격자는 식별된 Cisco IOS 버전의 특정 취약점을 목표로 삼을 수 있습니다.
|
||||
CDP는 모든 포트를 통해 정보를 브로드캐스트하도록 구성되어 있어 보안 위험을 초래할 수 있습니다. 공격자는 스위치 포트에 연결하면 **Wireshark**, **tcpdump**, 또는 **Yersinia**와 같은 네트워크 스니퍼를 배포할 수 있습니다. 이 작업은 네트워크 장치에 대한 민감한 데이터를 드러낼 수 있으며, 여기에는 모델과 실행 중인 Cisco IOS 버전이 포함됩니다. 공격자는 식별된 Cisco IOS 버전의 특정 취약점을 목표로 삼을 수 있습니다.
|
||||
|
||||
#### CDP 테이블 플러딩 유도 <a href="#id-0d6a" id="id-0d6a"></a>
|
||||
|
||||
|
@ -447,7 +447,7 @@ sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO de
|
|||
# Alternatively, for a GUI approach:
|
||||
sudo yersinia -G
|
||||
```
|
||||
이 공격 동안 스위치의 CPU와 CDP 이웃 테이블이 심각하게 부담을 받아 과도한 자원 소비로 인해 종종 **“네트워크 마비”**라고 불리는 상태에 이르게 됩니다.
|
||||
이 공격 동안 스위치의 CPU와 CDP 이웃 테이블이 심각하게 부담을 받아, 과도한 자원 소비로 인해 종종 **“네트워크 마비”**라고 불리는 상태에 이르게 됩니다.
|
||||
|
||||
#### CDP Impersonation Attack
|
||||
```bash
|
||||
|
@ -471,7 +471,7 @@ VoIP 전화는 IoT 장치와 점점 더 통합되어 있으며, 특별한 전화
|
|||
속도를 위해 선호되는 모드는 세 번째 모드입니다. 다음을 지정해야 합니다:
|
||||
|
||||
* 공격자의 네트워크 인터페이스 (`-i` 매개변수).
|
||||
* 에뮬레이트할 VoIP 장치의 이름 (`-E` 매개변수), Cisco 명명 형식(예: SEP 다음에 MAC 주소)을 준수합니다.
|
||||
* 에뮬레이트되는 VoIP 장치의 이름 (`-E` 매개변수), Cisco 명명 형식(예: SEP 다음에 MAC 주소)을 준수합니다.
|
||||
|
||||
기업 환경에서 기존 VoIP 장치를 모방하기 위해 다음을 수행할 수 있습니다:
|
||||
|
||||
|
@ -506,7 +506,7 @@ Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds
|
|||
**DoS**
|
||||
|
||||
**DoS의 두 가지 유형**은 DHCP 서버에 대해 수행될 수 있습니다. 첫 번째는 **모든 가능한 IP 주소를 사용하기 위해 충분한 가짜 호스트를 시뮬레이션하는 것**입니다.\
|
||||
이 공격은 DHCP 서버의 응답을 볼 수 있고 프로토콜을 완료할 수 있을 때만 작동합니다 (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). 예를 들어, **Wifi 네트워크에서는 이것이 불가능합니다**.
|
||||
이 공격은 DHCP 서버의 응답을 볼 수 있고 프로토콜을 완료할 수 있을 때만 작동합니다 (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). 예를 들어, **Wifi 네트워크에서는 불가능합니다**.
|
||||
|
||||
DHCP DoS를 수행하는 또 다른 방법은 **모든 가능한 IP를 소스 코드로 사용하여 DHCP-RELEASE 패킷을 보내는 것**입니다. 그러면 서버는 모든 사용자가 IP 사용을 마쳤다고 생각할 것입니다.
|
||||
```bash
|
||||
|
@ -532,7 +532,7 @@ You could use the mentioned DoS attacks to force clients to obtain new leases wi
|
|||
* **DHCP 트래픽을 위한 인터페이스**: `-I eth1`을 사용하여 특정 네트워크 인터페이스에서 DHCP 트래픽을 수신합니다.
|
||||
* **WPAD 구성 주소**: `-w “http://10.0.0.100/wpad.dat”`을 사용하여 웹 트래픽 가로채기를 지원하는 WPAD 구성 주소를 설정합니다.
|
||||
* **기본 게이트웨이 IP 스푸핑**: 기본 게이트웨이 IP 주소를 스푸핑하기 위해 `-S`를 포함합니다.
|
||||
* **모든 DHCP 요청에 응답**: 모든 DHCP 요청에 응답하도록 서버를 설정하기 위해 `-R`을 포함하지만, 이는 소음이 많아 탐지될 수 있음을 유의해야 합니다.
|
||||
* **모든 DHCP 요청에 응답**: 모든 DHCP 요청에 응답하도록 서버를 설정하기 위해 `-R`을 포함하지만, 이는 소음이 많고 감지될 수 있음을 유의해야 합니다.
|
||||
|
||||
이 옵션들을 올바르게 사용함으로써, 네트워크 트래픽을 효과적으로 가로채기 위한 악의적인 DHCP 서버를 설정할 수 있습니다.
|
||||
```python
|
||||
|
@ -565,18 +565,18 @@ eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
|
|||
|
||||
### RIP
|
||||
|
||||
라우팅 정보 프로토콜(RIP)의 세 가지 버전이 존재하는 것으로 알려져 있습니다: RIP, RIPv2, 및 RIPng. RIP와 RIPv2는 UDP를 사용하여 포트 520을 통해 피어에게 데이터그램을 전송하는 반면, RIPng는 IPv6 멀티캐스트를 통해 UDP 포트 521로 데이터그램을 브로드캐스트합니다. RIPv2는 MD5 인증을 지원합니다. 반면, RIPng는 기본 인증을 포함하지 않으며, 대신 IPv6 내에서 선택적 IPsec AH 및 ESP 헤더에 의존합니다.
|
||||
라우팅 정보 프로토콜(RIP)의 세 가지 버전이 존재하는 것으로 알려져 있습니다: RIP, RIPv2, RIPng. RIP와 RIPv2는 UDP를 사용하여 포트 520을 통해 피어에게 데이터그램을 전송하며, RIPng는 IPv6 멀티캐스트를 통해 UDP 포트 521로 데이터그램을 브로드캐스트합니다. RIPv2는 MD5 인증을 지원합니다. 반면, RIPng는 기본 인증을 포함하지 않으며, 대신 IPv6 내에서 선택적 IPsec AH 및 ESP 헤더에 의존합니다.
|
||||
|
||||
* **RIP 및 RIPv2:** 포트 520에서 UDP 데이터그램을 통해 통신합니다.
|
||||
* **RIPng:** IPv6 멀티캐스트를 통해 데이터그램을 브로드캐스트하기 위해 UDP 포트 521을 사용합니다.
|
||||
|
||||
RIPv2는 MD5 인증을 지원하는 반면, RIPng는 기본 인증을 포함하지 않으며, IPv6에서 IPsec AH 및 ESP 헤더에 의존합니다.
|
||||
RIPv2는 MD5 인증을 지원하는 반면, RIPng는 기본 인증을 포함하지 않고 IPv6에서 IPsec AH 및 ESP 헤더에 의존합니다.
|
||||
|
||||
### EIGRP Attacks
|
||||
|
||||
**EIGRP (Enhanced Interior Gateway Routing Protocol)**는 동적 라우팅 프로토콜입니다. **거리 벡터 프로토콜입니다.** **인증**이 없고 수동 인터페이스가 구성되지 않은 경우, **침입자**가 EIGRP 라우팅에 간섭하여 **라우팅 테이블 오염**을 초래할 수 있습니다. 또한, EIGRP 네트워크(즉, 자율 시스템)는 **평면이며 어떤 구역으로도 세분화되지 않습니다**. **공격자가 경로를 주입하면**, 이 경로는 자율 EIGRP 시스템 전반에 **퍼질 가능성이 높습니다**.
|
||||
**EIGRP (Enhanced Interior Gateway Routing Protocol)**는 동적 라우팅 프로토콜입니다. **거리 벡터 프로토콜입니다.** **인증**이 없고 수동 인터페이스가 구성되지 않은 경우, **침입자**가 EIGRP 라우팅에 간섭하여 **라우팅 테이블 오염**을 초래할 수 있습니다. 또한 EIGRP 네트워크(즉, 자율 시스템)는 **평면이며 어떤 구역으로도 세분화되지 않습니다**. **공격자가 경로를 주입하면**, 이 경로는 자율 EIGRP 시스템 전반에 **퍼질 가능성이 높습니다**.
|
||||
|
||||
EIGRP 시스템을 공격하려면 **합법적인 EIGRP 라우터와 이웃을 설정해야** 하며, 이는 기본 정찰에서 다양한 주입에 이르기까지 많은 가능성을 열어줍니다.
|
||||
EIGRP 시스템을 공격하려면 **합법적인 EIGRP 라우터와 이웃을 설정해야 하며**, 이는 기본 정찰에서 다양한 주입에 이르기까지 많은 가능성을 열어줍니다.
|
||||
|
||||
[**FRRouting**](https://frrouting.org/)은 **BGP, OSPF, EIGRP, RIP 및 기타 프로토콜을 지원하는 가상 라우터를 구현할 수 있게 해줍니다.** 공격자의 시스템에 배포하기만 하면 실제로 라우팅 도메인에서 합법적인 라우터인 척할 수 있습니다.
|
||||
|
||||
|
@ -584,11 +584,11 @@ EIGRP 시스템을 공격하려면 **합법적인 EIGRP 라우터와 이웃을
|
|||
[eigrp-attacks.md](eigrp-attacks.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
[**Coly**](https://code.google.com/p/coly/)는 EIGRP (Enhanced Interior Gateway Routing Protocol) 브로드캐스트를 가로채는 기능을 가지고 있습니다. 또한 패킷 주입을 허용하여 라우팅 구성을 변경하는 데 사용할 수 있습니다.
|
||||
[**Coly**](https://code.google.com/p/coly/)는 EIGRP (Enhanced Interior Gateway Routing Protocol) 브로드캐스트를 가로채는 기능을 가지고 있습니다. 또한 라우팅 구성을 변경하는 데 사용할 수 있는 패킷 주입을 허용합니다.
|
||||
|
||||
### OSPF
|
||||
|
||||
Open Shortest Path First (OSPF) 프로토콜에서는 **라우터 간의 안전한 통신을 보장하기 위해 MD5 인증이 일반적으로 사용됩니다**. 그러나 이 보안 조치는 Loki 및 John the Ripper와 같은 도구를 사용하여 손상될 수 있습니다. 이러한 도구는 MD5 해시를 캡처하고 해독할 수 있어 인증 키를 노출시킵니다. 이 키를 얻으면 새로운 라우팅 정보를 도입하는 데 사용할 수 있습니다. 경로 매개변수를 구성하고 손상된 키를 설정하기 위해 각각 _Injection_ 및 _Connection_ 탭이 사용됩니다.
|
||||
Open Shortest Path First (OSPF) 프로토콜에서 **MD5 인증은 라우터 간의 안전한 통신을 보장하기 위해 일반적으로 사용됩니다**. 그러나 이 보안 조치는 Loki 및 John the Ripper와 같은 도구를 사용하여 손상될 수 있습니다. 이러한 도구는 MD5 해시를 캡처하고 해독할 수 있어 인증 키를 노출시킵니다. 이 키를 얻으면 새로운 라우팅 정보를 도입하는 데 사용할 수 있습니다. 경로 매개변수를 구성하고 손상된 키를 설정하기 위해 각각 _Injection_ 및 _Connection_ 탭이 사용됩니다.
|
||||
|
||||
* **MD5 해시 캡처 및 해독:** Loki 및 John the Ripper와 같은 도구가 사용됩니다.
|
||||
* **경로 매개변수 구성:** _Injection_ 탭을 통해 수행됩니다.
|
||||
|
@ -612,7 +612,7 @@ Check the [previous section](./#arp-spoofing).
|
|||
|
||||
### ICMPRedirect
|
||||
|
||||
ICMP Redirect는 공격자가 IP에 도달하는 가장 좋은 방법임을 나타내는 ICMP 패킷 유형 1 코드 5를 전송하는 것입니다. 그런 다음 피해자가 IP에 연락하고자 할 때, 공격자를 통해 패킷을 전송합니다.
|
||||
ICMP Redirect는 공격자가 IP에 도달하는 가장 좋은 방법임을 나타내는 ICMP 패킷 유형 1 코드 5를 전송하는 것입니다. 그런 다음 피해자가 IP에 연락하고자 할 때 패킷을 공격자를 통해 전송합니다.
|
||||
```bash
|
||||
Ettercap
|
||||
icmp_redirect
|
||||
|
@ -658,11 +658,11 @@ Responder를 사용하여 호스트가 검색하는 서비스를 가장하여
|
|||
|
||||
### [Spoofing WPAD](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
|
||||
브라우저는 일반적으로 **Web Proxy Auto-Discovery (WPAD) 프로토콜을 사용하여 프록시 설정을 자동으로 획득합니다**. 이는 "http://wpad.example.org/wpad.dat"와 같은 URL을 통해 서버에서 구성 세부정보를 가져오는 것을 포함합니다. 클라이언트가 이 서버를 발견하는 방법은 여러 가지가 있습니다:
|
||||
브라우저는 **Web Proxy Auto-Discovery (WPAD) 프로토콜을 사용하여 자동으로 프록시 설정을 획득합니다**. 이는 "http://wpad.example.org/wpad.dat"와 같은 URL을 통해 서버에서 구성 세부정보를 가져오는 것을 포함합니다. 클라이언트가 이 서버를 발견하는 방법은 여러 가지가 있습니다:
|
||||
|
||||
* **DHCP**를 통해, 여기서 발견은 특별한 코드 252 항목을 사용하여 촉진됩니다.
|
||||
* **DNS**를 통해, 이는 로컬 도메인 내에서 _wpad_라는 호스트 이름을 검색하는 것을 포함합니다.
|
||||
* **Microsoft LLMNR 및 NBT-NS**를 통해, 이는 DNS 조회가 성공하지 않을 경우 사용되는 대체 메커니즘입니다.
|
||||
* **Microsoft LLMNR 및 NBT-NS**를 통해, 이는 DNS 조회가 실패할 경우 사용되는 대체 메커니즘입니다.
|
||||
|
||||
도구 Responder는 **악성 WPAD 서버**로 작동하여 이 프로토콜을 이용합니다. DHCP, DNS, LLMNR 및 NBT-NS를 사용하여 클라이언트를 속여 자신에게 연결하도록 유도합니다. Responder를 사용하여 서비스를 가장하는 방법에 대해 더 깊이 알아보려면 [여기를 확인하세요](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
|
||||
|
@ -672,7 +672,7 @@ Responder를 사용하여 호스트가 검색하는 서비스를 가장하여
|
|||
|
||||
### IPv6 Neighbor Spoofing
|
||||
|
||||
이 공격은 ARP Spoofing과 매우 유사하지만 IPv6 세계에서 발생합니다. 피해자가 GW의 IPv6가 공격자의 MAC을 가지고 있다고 생각하게 만들 수 있습니다.
|
||||
이 공격은 ARP 스푸핑과 매우 유사하지만 IPv6 세계에서 발생합니다. 피해자가 GW의 IPv6가 공격자의 MAC을 가지고 있다고 생각하게 만들 수 있습니다.
|
||||
```bash
|
||||
sudo parasite6 -l eth0 # This option will respond to every requests spoofing the address that was requested
|
||||
sudo fake_advertise6 -r -w 2 eth0 <Router_IPv6> #This option will send the Neighbor Advertisement packet every 2 seconds
|
||||
|
@ -713,14 +713,14 @@ iptables -A INPUT -p tcp --destination-port 10000 -j ACCEPT
|
|||
|
||||
### sslStrip+ 및 dns2proxy를 통한 HSTS 우회
|
||||
|
||||
**sslStrip+와 dns2proxy**의 **차이점**은 **sslStrip**에 비해 **예를 들어 _**www.facebook.com**_을 _**wwww.facebook.com**_으로 **리다이렉트**한다는 것입니다**(여기서 **추가된** "**w**"에 주목하세요) 그리고 **이 도메인의 주소를 공격자 IP로 설정합니다**. 이렇게 하면 **클라이언트**는 _**wwww.facebook.com**_ **(공격자)**에 **연결**하지만, 뒤에서는 **sslstrip+**가 **www.facebook.com**과의 **실제 연결을 유지합니다**.
|
||||
**sslStrip+와 dns2proxy**의 **차이점**은 **sslStrip**에 비해 **예를 들어** _**www.facebook.com**_ **을** _**wwww.facebook.com**_ **로** **리다이렉트**한다는 것입니다 (여기서 **추가된** "**w**"에 주목하세요) 그리고 **이 도메인의 주소를 공격자 IP로 설정**합니다. 이렇게 하면 **클라이언트**는 _**wwww.facebook.com**_ **(공격자)**에 **연결**하지만, 뒤에서는 **sslstrip+**가 **www.facebook.com**과의 **실제 연결**을 **유지**합니다.
|
||||
|
||||
이 기술의 **목표**는 **HSTS를 피하는 것**입니다. 왜냐하면 _**wwww**.facebook.com_ **은** **브라우저의 캐시에 저장되지 않기 때문에**, 브라우저는 **HTTP로 facebook 인증을 수행하도록 속일 수 있습니다**.\
|
||||
이 기술의 **목표**는 **HSTS를 피하는 것**입니다. 왜냐하면 _**wwww**.facebook.com_ **은** 브라우저의 **캐시에** 저장되지 않기 때문에 브라우저는 **HTTP로 facebook 인증을 수행하도록 속일 수 있습니다**.\
|
||||
이 공격을 수행하기 위해서는 피해자가 처음에 [http://www.faceook.com](http://www.faceook.com)에 접근해야 하며, https가 아니어야 합니다. 이는 http 페이지 내의 링크를 수정하여 수행할 수 있습니다.
|
||||
|
||||
더 많은 정보는 [여기](https://www.bettercap.org/legacy/#hsts-bypass), [여기](https://www.slideshare.net/Fatuo\_\_/offensive-exploiting-dns-servers-changes-blackhat-asia-2014) 및 [여기](https://security.stackexchange.com/questions/91092/how-does-bypassing-hsts-with-sslstrip-work-exactly)에서 확인하세요.
|
||||
|
||||
**sslStrip 또는 sslStrip+는 더 이상 작동하지 않습니다. 이는 브라우저에 HSTS 규칙이 미리 저장되어 있기 때문입니다. 따라서 사용자가 "중요한" 도메인에 처음 접근하더라도 HTTPS를 통해 접근하게 됩니다. 또한, 미리 저장된 규칙과 다른 생성된 규칙은** [**`includeSubdomains`**](https://hstspreload.appspot.com) **플래그를 사용할 수 있으므로, 이전의 _**wwww.facebook.com**_ 예시는 더 이상 작동하지 않습니다. 왜냐하면 _**facebook.com**_이 `includeSubdomains`와 함께 HSTS를 사용하기 때문입니다.**
|
||||
**sslStrip 또는 sslStrip+는 더 이상 작동하지 않습니다. 이는 브라우저에 HSTS 규칙이 미리 저장되어 있기 때문입니다. 따라서 사용자가 "중요한" 도메인에 처음 접근하더라도 HTTPS를 통해 접근하게 됩니다. 또한, 미리 저장된 규칙과 다른 생성된 규칙은** [**`includeSubdomains`**](https://hstspreload.appspot.com) **플래그를 사용할 수 있으므로, 이전의 _**wwww.facebook.com**_ **예제는 더 이상 작동하지 않습니다. 왜냐하면** _**facebook.com**_ **이 `includeSubdomains`와 함께 HSTS를 사용하기 때문입니다.**
|
||||
|
||||
TODO: easy-creds, evilgrade, metasploit, factory
|
||||
|
||||
|
|
Loading…
Reference in a new issue