CTF의 포트 노킹

서비스는 열린 포트를 사용하여 연결을 수신합니다. 포트가 닫히면 서비스를 사용할 수 없지만 열린 포트는 공격에 취약합니다.

적들은 공격 경로를 찾기 위해 그것들을 열거합니다.

포트 노킹은 특정 인스턴스를 사용할 수 있도록 미리 정의된 일련의 닫힌 포트(또는 기타 고유한 특성)에 의존합니다.

부인 성명



이 기술은 약간 논란의 여지가 있습니다.

IMHO, 그것은 모호함에 의한 보안의 정의이므로 기껏해야 추가 보호 계층이지만 일부는 심층 방어에 사용할 수 있습니다.

어쨌든 일부 CTF를 재생하려면 이를 알아야 합니다.

참고: 실제 상황에서 사이버 범죄자는 이 기술을 사용하여 지속적인 채널을 설정하고 탐지를 회피합니다.

클래식 정찰을 할 수 있습니까?



공격 중인 경우 모든 포트를 스캔할 수 있습니다.

nmap -p- {IP}


그러나 포트 노킹은 포트 스캔으로부터 시스템을 "보호"하기 위한 것이므로 보호된 포트는 닫힌 것으로 나타나고 서비스는 숨겨집니다.

더 많은 정보를 얻으려면 취약점을 악용해야 하므로 nmap 스캔은 전혀 쓸모가 없지만 사소한 일이 될 것이라고 기대하지 마십시오.

멋진 시퀀스를 얻는 방법



문제는 일반적으로 빌어먹을 시퀀스를 찾는 것으로 구성됩니다. CTF의 시나리오가 다를 수 있으므로 여기에서 특정 경로를 제공하기는 어렵습니다.

그러나 불타는 일련의 포트를 드러내는 취약점을 악용하는 것은 드문 일이 아닙니다. 예를 들어 서버가 LFI(로컬 파일 포함)에 취약할 수 있으므로 시퀀스가 ​​포함된 파일/etc/knockd.conf을 읽을 수 있습니다.
knockd 패키지는 종종 방화벽 규칙 또는 기타 소프트웨어와 함께 포트 노킹을 구성하기 위해 설치됩니다.

또 다른 시나리오는 노크 시퀀스를 추론하기 위해 Wireshark과 같은 소프트웨어로 분석할 수 있는 암호화되지 않은 네트워크 트래픽이 포함된 pcap 파일과 관련될 수 있습니다.

문을 두드리는 방법



마지막 단계는 여러 가지 방법으로 수행할 수 있지만 가장 쉬운 방법은 공격자의 시스템에 동일한knockd 패키지를 설치하는 것입니다.

sudo apt install knockd
knock -v {IP} {port1} {port2} {port3}


주의: 여기에 있는 세 개의 포트는 예로 사용되지만 더 추가할 수 있습니다.

그 후 네트워크는 일반적으로 열거를 위해 열려 있으며 공격할 서비스를 나열할 수 있습니다.

좋은 웹페이지 즐겨찾기