본문 바로가기

Python25

Python을 이용한 TCP_SYN_Flooding 공격 구현 TCP(연결 지향 프로토콜): 메시지르 보내기 전에 3-Way-handshake 과정을 통해 메시지를 정상적으로 전달하는 방식이다. 먼저 syn flooding 공격을 설정하기 전 3-way-handshake 과정에 대해 알아보자 TCP는 세 차례의 패킷들을 주고받는 과정을 거쳐야한 TCP 연결(Connection)이 성립(establish)이 된다. 패킷을 주고 받는 내용은 아래와 같다. 먼저 Client는 Server와 통신하기 하기 위해 SYN 패킷(sequence number 포함)을 생성해서, Server에게 전달 한다. Server는 SYN 패킷(sequence number 포함)과 받은 SYN의 대답 격인 ACK 패킷(acknowledgement number 포함)을 Client에게 전달한다.. 2020. 7. 13.
Python을 이용한 UDP Flooding 구현 UDP Flooding Attack: DoS(Denial of Service) 공격의 일종으로 대량의 UDP 패킷을 이용하여 대상 호스트의 네트워크 자원을 소모시키는 공격을 말한다. UDP Flooding 공격의 경우 SYN Flooding 공격과는 달리 네트워크 bandwidth 를 소모시키는 것이 목적이라. 단일 공격 호스트로는 효과를 볼 수 없기 때문에 DDoS 로 구성해서 공격이 이루어진다. 발생원인. UDP 패킷에는 출발지 IP 주소 항목이 있지만 프로토콜 특징상 비연결 지향이기 때문에 해당 주소의 정확성 여부를 검증하지 않는다. 이러한 점을 악용해 해커들은 UDP 또는 ICMP 패킷을 다량으로 전송하면서 마치 서로 다른 사용자로부터 출발한 패킷처럼 조작할 수 있다. 서버는 자신이 운용 가능한 .. 2020. 7. 8.
Python을 이용한 Land_Attack 구현하기. Land_Attack이란: IP 스푸핑 공격을 변형한 기법으로 출발지 IP주소를 목적지 IP 주소와 동일하게 설정하여 ICMP 요청 패킷 등을 공격 대상자에게 전송한다. 공격 대상자는 ICMP 응답 패킷을 전송하기 위해 출발지 IP 주소를 참조하는데, 이 경우 목적지 IP 주소와 동일하기 때문에 ICMP 응답 패킷을 자기 자신에게 보낸다. 그리하여 IP 프로토콜 스택에 심각한 장애를 유발시킨다. 공격원리 1. 출발지와 목적지가 같은 패킷을 공격 대상에 보내면 시스템은 공격자가 처음 보낸 SYN 패킷의 출발지 주소 값을 참조하여 응답 패킷의 목적지 주소를 SYN 패킷의 출발지 주소로 설정해서 보내게 된다. 2. 패킷은 네트워크 밖으로 나가지 않고 자신에게 돌아온다. 3. 돌아온 패킷의 출발지 IP 주소에는.. 2020. 7. 8.
pynput모듈을 이용하여 Keylogger 구현 : (게임 계정/카카오 계정 탈취하기) 시나리오 기반 KeyLogger: 키보드 데이터를 가로채서 변조 또는 차단 혹은 키 데이터를 기록하는 등의 행위. pynput 모듈: 키보드와 마우스의 입력을 모니터링 하거나 제어할 수 있는 파이썬 라이브러리. 예전 부터 파이썬으로 키로거를 구현을 해보고 싶었다 하지만 필자는 워낙 코딩 고자라 많은 키로거 코드를 봐도 아무리 봐도 정말 이해가 안갔다.... 그러다가 구글링을 하다 우연히 pynput이라는 모듈을 접하게 됨. 저 모듈로 정말 간단하게 키로거를 구현해 보았다. 근데 그냥 블로깅하면 재미없을거 같아 재미있는 시나리오 설정을 해보았다. 시나리오. FIFA ONLINE 4 계정 탈취 카카오 계정 탈취. 시나리오 내용. ※ 이진재군은 평소 홍모군의 어마무시한 파리생제르망 팀을 탐했었다. 이예 이진재군은 악의적인 .. 2020. 5. 11.