AP에서 제공하는 WPA2 PEAP 인증서를 확인하는 방법은 무엇입니까?

AP에서 제공하는 WPA2 PEAP 인증서를 확인하는 방법은 무엇입니까?

인증서를 확인하지 않는 경우에만 작동하는 WPA2 기업 네트워크에 연결해야 합니다. 누구든지 MSCHAPv2 메시지를 볼 수 있기 때문에 이 작업을 수행하고 싶지 않습니다.

이 문제를 해결하기 위한 첫 번째 단계는 AP가 제공한 인증서를 보고 해당 인증서만 신뢰하도록 wpa_supplicant를 구성하는 것입니다. 그런데 자격증을 취득하는 방법을 모르겠습니다. wpa_cli "status" 명령은 이를 표시하지 않으며 어떤 로그에도 없습니다.

또한 어떤 SSL/TLS 암호화 제품군이 사용되는지 궁금합니다. openssl s_client를 사용하여 수동으로 연결할 수 있습니까?

답변1

@grawity가 하는 것처럼 Wireshark를 사용하여 핸드셰이크를 덤프한 다음 openssl을 사용하여 바이너리 데이터를 PEM으로 변환할 수 있습니다.유제수퍼유저의 경우:

불행하게도 wpa_supplicant에는 디버그 모드에서도 인증서를 덤프하는 옵션이 없습니다. (더 나은 방법을 찾으면 업데이트하겠습니다.) 그러나 실제 EAPOL 인증 프로세스는 계속 모니터링할 수 있습니다. 먼저 Wireshark를 설치합니다.

연결이 끊어지면 인터페이스를 수동으로 시작하고 캡처를 시작합니다.

$ sudo ip link set wlan0 up
$ wireshark -ki wlan0 &

wpa_supplicant를 시작하면 곧 TLS 핸드셰이크가 표시됩니다.

서버는 ServerHello 직후에 인증서를 보냅니다. 첫 번째 패킷을 선택하고 드릴다운합니다.

802.1X
└─Extensible Authentication Protocol
  └─Secure Sockets Layer
    └─Handshake Protocol: Certificatte
      └─Certificates

인증서(물건)"를 선택하고 "선택한 패킷 바이트 내보내기"를 선택합니다. Wireshark는 이를 바이너리 DER 형식의 파일로 저장합니다. 다른 모든 인증서에 대해 이 작업을 반복합니다. 최상위 인증서(RADIUS 서버의 인증서)에는 정보가 포함됩니다 altsubject_match. 마지막(루트 CA) wpa_supplicant 에 제공되어야 합니다 ca_cert.

이제 바이너리 DER 형식의 일부 파일이 생겼습니다 *.crt. *.derPEM "텍스트" 형식으로 변환합니다.

openssl x509 -inform DER < mycert.der > mycert.pem

(wpa_supplicant가 OpenSSL을 TLS 핸들러로 사용하는 경우~ 해야 하다"루트 CA" 인증서를 제공하십시오. 서버 인증서를 제공하면 작동하지 않습니다.

Wireshark에 표시된 마지막 인증서가 루트 CA가 아닐 수도 있습니다.발행자디렉터리에 있는 루트 CA 중 하나 /etc/ssl/certs... 이 경우 설정해야 합니다 altsubject_match. 그렇지 않으면 공용 CA를 사용하는 것이 안전하지 않습니다. 불행하게도 802.1X는 HTTPS처럼 확인할 "호스트 이름"이 무엇인지 모르기 때문입니다. 예를 들어 그렇습니다. )

답변2

이렇게 하는 것은 쉽습니다그 자체. Wireshark가 필요하지 않습니다.

  1. 연결을 끊다
  2. 달리기sudo wpa_cli
  3. 연결하다
  4. <3>CTRL-EVENT-EAP-PEER-CERT depth=0 subject='/C=CA/ST=Ontario/L=Ottawa/O=University of Ottawa/CN=roam2.uottawa.ca' cert=[...]아무것도 없는 것처럼 보이는 마지막 거대한 선을 찾으세요 hash=.
  5. 16진수 형식의 인증서를 cert=다음 이름의 새 파일에 복사합니다.eduroam.hex

더 쉽게 보거나 다른 응용 프로그램과 함께 사용할 수 있도록 변환하려면 다음을 수행하세요.

  1. 그것을 .der로 변환하다xxd -r -p eduroam.hex eduroam.der
  2. 그것을 .pem로 변환하다openssl x509 -inform der -in eduroam.der -outform pem -out eduroam.pem
  3. 보기openssl x509 -noout -text -in eduroam.pem

관련 정보