여러분, Wi-Fi 해킹의 세계에 오신 것을 환영합니다. 💻.
이전 기사에서 우리는 몇 가지 기본적인 Linux 기술과 요령에 대해 이야기했습니다. 이 글에서는 이러한 기술을 활용한 기본적인 Wi-Fi 해킹 절차를 배우게 됩니다.
다음과 같은 방법을 배우게 됩니다.
- 주변 Wi-Fi 네트워크 모니터링
- DOS 공격 수행
- Wi-Fi 공격으로부터 자신을 보호하세요
면책조항:이것은 엄격하게 교육 목적으로만 사용됩니다(물론 약간의 재미를 위한 것입니다). 어떤 상황, 조건 또는 현명하지 못한 친구의 영향 하에서도 여기에서 배운 해킹을 조직, 개인 또는 성가신 이웃에게 사용하지 마십시오. 범죄를 저지르면 벌금을 물거나 감옥에 가거나 부모님을 당황하게 만들 수도 있습니다.
이제 멋진 소개가 끝났으니 계속 진행하겠습니다.🙃
우리가 다룰 내용:
이 튜토리얼에 포함된 내용에 대한 기본 요약은 다음과 같습니다.
- 소개
- 패킷이란 무엇입니까?
- WPA2를 크랙하는 방법
- 전제조건
- 네트워크 카드를 모니터 모드로 전환하는 방법
- 타겟을 찾는 방법
- 핸드셰이크 패킷을 캡처하는 방법
- DOS 공격을 수행하는 방법
- 비밀번호를 얻는 방법(희망적으로)
- WiFi 공격 완화
- 결론
소개
라우터 ¦ 출처:Unsplash.com
Wi-Fi(Wireless Fidelity)는 우리 중 많은 사람들이 일상 생활에서 사용하는 일반적인 기술입니다. 학교에서든, 집에서든, 단순히 Netflix를 시청하든 관계없이 Netflix 없이 인터넷 관련 활동을 수행하는 사람을 보는 일은 점점 더 드물어지고 있습니다.
하지만 Wi-Fi를 해킹해 본 적이 있나요? 🤔 (유혹을 받으셨을 거예요 😏).
무언가를 해킹하려면 그것이 어떻게 작동하는지 알아야 합니다. 이는 먼저 기술이 어떻게 작동하는지 이해해야 함을 의미합니다. 그럼 기본부터 시작하겠습니다:패킷.
패킷이란 무엇인가요?
기본 패킷. 신용:ResearchGate.com
패킷은 컴퓨터 네트워크에 있는 데이터의 기본 단위/구성 요소입니다. 데이터가 한 컴퓨터에서 다른 컴퓨터로 전송되면 데이터가 분할되어 패킷으로 전송됩니다.
레고 빌딩 블록과 같은 패킷을 생각해 보십시오. 귀하(컴퓨터)는 판매자(다른 컴퓨터)로부터 완전한 세트(완전한 데이터)를 조각(패킷)으로 받습니다. 그런 다음 블록을 함께 조립하여 제공된 지침에 따라 그림을 구성하여 즐기게 됩니다(또는 이 경우 전체 데이터가 이해되도록 하기 위해).
데이터그램이라고도 알려진 패킷은 두 가지 기본 부분으로 구성됩니다.
- 헤더
- 페이로드/데이터
헤더에는 패킷에 대한 정보가 포함되어 있습니다. 이는 네트워크와 수신 컴퓨터가 소스 및 대상 IP 주소와 같은 작업을 수행하는 데 도움이 됩니다.
페이로드는 패킷에 포함된 주요 콘텐츠입니다. 공격자가 데이터를 입수할 경우 패킷의 데이터를 읽을 수 없도록 패킷을 암호화할 수 있다는 점도 언급할 가치가 있습니다.
네트워크에서 패킷은 패킷 교환을 위한 요구 사항입니다. 패킷 교환이란 데이터를 패킷으로 분해하여 다른 경로를 사용하여 다양한 컴퓨터로 보내는 것을 의미합니다. 수신되면 컴퓨터는 이러한 패킷을 조합하여 모든 것을 이해할 수 있습니다. 인터넷은 지구상에서 알려진 가장 큰 패킷 교환 네트워크입니다.
이제 이 지식을 무선 네트워크에 어떻게 적용할 수 있는지 살펴보겠습니다.
WPA2를 크랙하는 방법
무작위 코드 묶음. 신용:Unsplash.com
Wi-Fi는 다양한 프로토콜을 사용하여 안전한 인터넷 연결을 제공할 수 있습니다. 가장 안전한 것부터 가장 안전한 것까지:
- 열기
- WEP(Wired Equivalent Privacy)
- WPA2(Wi-Fi 보호 액세스 2)
- WPA3(Wi-Fi 보호 액세스 3)
개방형 네트워크는 이름에서 알 수 있듯이 개방형입니다. 비밀번호가 없으며 사실상 누구나 접속할 수 있습니다.
WEP는 오래된 프로토콜로 거의 사용되지 않으며 후속 프로토콜과 마찬가지로 비밀번호가 필요합니다.
WPA2는 전 세계적으로 가장 일반적으로 사용되는 프로토콜입니다. WPA3은 현재까지 알려진 최신 프로토콜이자 가장 안전한 프로토콜입니다. 하지만 거의 사용되지 않으며 최신 기기에서만 사용할 수 있습니다.
전제조건
Wi-Fi는 인증된 장치에 지속적으로 데이터 패킷을 보내는 방식으로 작동합니다. 해킹하려면 다음이 필요합니다:
- Linux 머신(Kali Linux 선호)
- 무선 어댑터
Kali를 처음부터 설치하려면 이 튜토리얼을 따르세요.
아직 설치하지 않았다면 컴퓨터에 Aircrack-ng라는 도구를 설치해야 합니다. 설치하려면 아래 명령을 입력하세요.
sudo apt install aircrack-ng
네트워크 카드를 모니터 모드로 전환하는 방법
먼저 대상에 대한 정보를 얻고 싶습니다. 이것을 해커들이 정찰이라고 부르는 것입니다.
그렇게 하려면 먼저 무선 카드를 '관리' 모드에서 '모니터' 모드로 변경해야 합니다. 그러면 단순한 네트워크 카드가 무선 네트워크 리더로 바뀔 것입니다.
먼저 무선 카드의 이름을 알아야 합니다. 어댑터를 연결하고 iwconfig를 실행하세요. 알아보라는 명령입니다. 일반적으로 목록의 마지막 항목입니다.
iwconfig. 출처:Daniel Iwugo
보시다시피 내 키는 wlan1입니다. . 이제 다음 명령을 실행하세요:
sudo airmon-ng check rfkillsudo
airmon-ng start <network interface>
sudo 루트 권한이 필요함을 나타냅니다. check rfkill 카드가 모니터 모드로 전환되는 것을 방해할 수 있는 프로세스를 중지하고 start airmon-ng에게 실행할 네트워크 카드를 알려줍니다. <network interface>를 교체하세요 무선 카드 이름과 함께.
airmon-ng 카드를 모니터 모드로 즉시 변경하는 스크립트입니다. 실제로 이 작업을 수동으로 수행할 수도 있고 자신만의 스크립트를 만들 수도 있지만 개인적으로는 간단한 것을 선호합니다.
타겟 찾는 방법
주변에 어떤 네트워크가 있는지 확인하려면 다음 명령을 실행하세요:
sudo airodump-ng <network interface>
Airodump. 출처:Daniel Iwugo
airodump-ng aircrack-ng의 일부입니다 네트워크 카드가 주변의 무선 트래픽을 볼 수 있도록 하는 제품군입니다.
보시다시피 우리는 많은 정보를 얻습니다. 하지만 ESSID(Extended Service Set Identifier) 열을 간단히 살펴보겠습니다. AP(액세스 포인트) 이름으로도 알려져 있는 이 열에는 대상 네트워크의 이름이 표시되는데, 제 경우에는 'Asteroid'입니다.
대상 AP에 집중하고 나머지는 무시하고 싶습니다. 이렇게 하려면 Ctrl+C를 눌러 현재 스캔을 취소하고 이번에는 아래와 같이 bssid 플래그와 함께 네트워크의 bssid를 추가하세요.
sudo airodump-ng <network interface> --bssid <AP>
Airodump가 작동 중입니다. 출처:Daniel Iwugo
BSSID는 장치의 MAC 주소에 대한 고급 이름인 Basic Service Set Identifier를 나타냅니다. 이를 사용하여 ESSID(AP 이름)와 함께 네트워크에서 장치를 식별합니다. 기술적으로는 ESSID 플래그를 대신 사용할 수 있지만 서로 다른 AP가 동일한 이름을 가질 수 있습니다. 그러나 두 개의 AP가 동일한 BSSID를 가질 수는 없습니다.
다음은 ESSID만 사용하여 AP에 대한 정보를 얻기 위해 입력하는 코드 조각입니다.
sudo airodump-ng <network interface> --bssid <AP ESSID>
참고:이름에 공백이 있으면 따옴표로 묶으십시오. 예를 들어 --bssid “Asteroid 1” .
'스테이션' 열 아래에 AP에 연결된 클라이언트의 MAC 주소가 강조 표시되어 있음을 알 수 있습니다. 왼쪽에는 연결된 AP의 MAC 주소가 있습니다.
핸드셰이크 패킷을 캡처하는 방법
다음 단계는 핸드셰이크 패킷을 캡처하는 것입니다(패킷을 기억하시나요? 🙌). 핸드셰이크 패킷은 인증된 장치가 AP에 연결될 때 AP에서 전송되는 처음 4개의 패킷입니다.
즉, 두 가지 옵션이 있습니다:
- 기기가 AP에 연결될 때까지 기다립니다.
- 기기 인증을 취소한 다음 AP에 연결하도록 허용
두 번째가 훨씬 더 재미있을 것 같으니 한번 시작해 보세요.
LED 키보드. 신용:Unsplash.com
DOS 공격 수행 방법
aireplay-ng를 사용할 수 있습니다. 또는 mdk4 잠시 동안 AP에서 장치의 연결을 끊습니다. 이를 인증 해제 공격 또는 무선 DOS(서비스 거부) 공격이라고 합니다.
이제 게임 계획은 다음과 같습니다:
- 패킷을 캡처하고 저장하도록 airodump-ng를 설정
- airodump-ng가 실행되는 동안 잠시 동안 기기 인증을 해제합니다.
- 악수 캡처
다 알아냈어? 좋은. 굴러 가자. 👨💻👩💻
먼저 다음 명령을 실행하여 패킷을 캡처하고 저장하세요.
sudo airodump-ng -c <channel number> --bssid <AP BSSID> <network interface> -w <path for saved packets file>
Airodump가 패킷을 캡처하는 중입니다. 출처:Daniel Iwugo
여기서는 -c를 사용하고 있습니다. 검색할 채널을 지정하는 플래그, --bssid AP의 MAC 주소에 대한 플래그 및 -w 캡처한 패킷을 저장할 경로를 지정하는 플래그입니다.
빠른 교훈:채널은 AP가 서로 간섭할 가능성을 줄입니다. airodump-ng를 실행할 때 , CH 열에서 채널 번호를 확인할 수 있습니다.
실행되는 동안 다음 명령을 사용하여 연결된 장치에 대해 인증 해제 공격을 실행하게 됩니다:
sudo aireplay-ng -a <BSSID of the AP> --deauth <time> <network interface>
-a 플래그는 AP의 MAC 주소 --deauth를 지정합니다. 공격을 실행하려는 시간(초)을 지정하고 이어서 네트워크 카드를 지정합니다.
인증 해제 공격에는 자체 네트워크 카드를 사용하여 패킷을 보내 AP와 클라이언트 간의 통신을 중단시키는 공격이 포함됩니다. 완벽하지는 않으며 때로는 클라이언트가 다시 연결될 수도 있지만 짧은 시간 동안만 가능합니다.
Wi-Fi가 이상하게 작동하고 연결이 끊어졌다가 무작위로 다시 연결되는 것처럼 보인다면 인증 해제 공격을 겪고 있는 것일 수 있습니다.
위 명령에서는 AP를 대상으로 공격을 실행하고 있습니다. 대신 AP에 연결된 모든 장치를 공격할 수 있으며 동일한 결과를 얻어야 합니다. -a을 변경하기만 하면 됩니다. 연결된 모든 장치의 MAC 주소에 플래그를 지정합니다.
DOS 공격이 진행되는 동안 airodump 스캔을 확인하십시오. 오른쪽 상단에 WPA handshake: <mac address>가 표시됩니다. . 이를 확인한 후에는 재생 공격과 airodump-ng을 중지할 수 있습니다. 스캔하세요.
핸드셰이크를 얻기 위해 재생 공격을 수행합니다. 출처:Daniel Iwugo
비밀번호를 얻는 방법(희망)
마지막 단계에서는 캡처된 패킷에 대해 생성된 PMK(Pairwise Master Key) 묶음을 실행하여 비밀번호를 얻습니다. 분석해 보겠습니다.
PMK는 기본적으로 단어와 AP 이름의 알고리즘 조합입니다. 우리의 의도는 핸드셰이크에 대한 단어 목록을 사용하여 지속적으로 PMK를 생성하는 것입니다. PMK가 유효한 경우 이를 생성하는 데 사용된 단어는 비밀번호입니다. . PMK가 유효하지 않으면 목록의 다음 단어로 건너뜁니다.
/usr/share/wordlists에 있는 rockyou 단어 목록을 사용하겠습니다. 디렉토리. 내 생각에 이것은 Kali에서만 발견되는 것이므로 다른 OS를 사용하는 경우 수동으로 직접 만들거나 crunch를 사용하여 생성할 수 있습니다. .
아직 추출되지 않은 경우 다음 명령을 실행하세요:
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
빠른 역사 교훈:rockyou 단어 목록은 같은 이름의 회사에 영향을 미친 가장 악명 높은 사이버 보안 데이터 침해 중 하나에서 얻은 일련의 비밀번호입니다. 여기에는 3,200만 개 이상의 계정에서 사용된 약 1,400만 개의 고유 비밀번호가 포함되어 있어 지구상에서 가장 신뢰할 수 있는 단어 목록 중 하나입니다.
이제 다음 명령을 실행하세요:
sudo aircrack-ng <captured file with .cap> -w <path to wordlist>
비밀번호 크래킹. 출처:머큐리
자, 여러분 – 임무 완수 8.
비밀번호는 음… '비밀번호'였습니다. 보안 관점에서는 매우 실망스럽습니다. 하지만 저는 이 튜토리얼의 목적을 위해 단지 재미를 위해 이 네트워크를 설정했습니다. 실제로는 비밀번호의 길이와 강도에 따라 몇 분에서 몇 시간까지 걸릴 수 있습니다.
정리하려면 파일 캡처를 제거하고 터미널을 닫은 후 service NetworkManager restart 명령을 실행하세요. Wi-Fi에 연결할 수 있도록 네트워크 카드를 관리 모드로 다시 변경하세요.
WiFi 공격 완화
기본 개인 작업 공간 설정 ¦ 출처:Wallpaperflare.com
기본 Wi-Fi 보안은 방어적인 관점에서 이 공격을 다루어야 합니다. 최신 프로토콜인 WPA3을 사용하는 것이 이러한 공격에 대비하는 최선의 방법입니다. 인증 해제 공격을 완화하려면 가능하면 이더넷 연결을 사용하세요.
해당 옵션이 테이블에 없다고 가정하면 강력한 암호 문구(비밀번호 아님)를 사용하여 공격자가 해당 옵션을 얻을 가능성을 최소화할 수 있습니다. 암호 문구는 단순히 암호로 사용되는 일련의 단어입니다. 암호는 암호보다 길고 기억하기 쉬우며 사용 빈도가 더 낮은 경향이 있습니다. 따라서 단어 목록에서는 거의 발견되지 않습니다.
예를 들어, 'mercury'는 'mercurylovesfluto'보다 단어 목록에서 발견될 가능성이 더 높습니다. 후자는 15자의 암호로, 그만큼 단순하기 때문에 공격자가 찾거나 추측하거나 생성하기가 어렵습니다.
또 다른 완화 방법은 WPS(Wi-Fi Protected Setup)를 비활성화하고 어떤 상황에서도 WEP 프로토콜을 사용하는 라우터를 사용하지 않는 것입니다. WPA2보다 이 두 가지를 모두 해킹하는 것이 훨씬 쉽기 때문에 원하지 않는 관심을 요구하는 것일 뿐입니다.
결론
배운 내용을 요약해 보겠습니다.
- airmon-ng를 사용하여 무선 어댑터를 모니터 모드로 변경
- airodump-ng를 사용하여 대상 AP를 검색하고 패킷을 캡처합니다.
- AP에 DOS 공격을 수행하여 핸드셰이크 패킷을 얻습니다.
- 필요한 패킷을 캡처했는지 확인한 후 DOS를 종료하세요.
- aircrack-ng를 사용하여 핸드셰이크 패킷에 대해 실행할 PMK를 생성
때로는 비밀번호가 단어 목록에 없을 수도 있습니다. 이 경우 Evil Twin Attack이나 여기에서 배운 내용의 변형과 같은 비밀번호를 얻는 다른 방법이 많이 있습니다. 또한 이 방법과 여러분이 발견한 다른 많은 공격을 연습해 보시기 바랍니다. 이것이 여러분을 해커의 달인으로 만드는 데 도움이 됩니다.
이는 순전히 교육 목적으로만 사용된다는 점을 기억하세요. . 이 작업은 동의를 받은 다른 사람에게만 수행하거나 본인의 기기에서만 수행하세요.
이것으로 우리는 이 글을 마쳤습니다. 당신이 그것을 즐겼기를 바랍니다. 그리고 제가 항상 말했듯이, 즐거운 해킹이 되세요! 🙃
리소스
- 악수 이론에 대한 추가 설명
- 패킷에 대한 자세한 내용
- WPA2 대 WPA3
감사의 말씀
이 게시물을 작성하는 데 영감과 지원, 지식을 주신 Anuoluwapo Victor, Chinaza Nwukwa, Holumidey Mercy, Favor Ojo, Georgina Awani 및 제 가족에게 감사드립니다. 당신은 나의 숨은 영웅입니다.
표지 사진 출처:Wallpaperflare.com에서 라우터 작업을 하고 있는 Lego Gentlemen
무료로 코딩을 배우세요. freeCodeCamp의 오픈 소스 커리큘럼은 40,000명 이상의 사람들이 개발자로 취업하는 데 도움을 주었습니다. 시작하세요