본문 바로가기

Hack/Network15

iptables와 netfilter에 대하여 netfilter netfilter란 Kernel에 존재하는 Network 관련 Framework로써 원하는 지점에서 Packet 제어를 위한 다섯 가지 Hook(지점)을 제공합니다. 다섯 가지 Hook은 지점에 따라 PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING 으로 불립니다. 각각의 Hook에 대한 간단한 설명은 다음과 같습니다. PREROUTING Network Interface를 통해 들어온 Packet을 가장 먼저 처리하는 Hook 외부 주소(IP)로 도착한 Packet을 내부 주소(IP)로 변경하기 위해 DNAT(Destination NAT) 사용 가능 INPUT Network Interface를 통해 들어온 Packet 중 실제 처리가 필요한 Packe.. 2022. 8. 23.
[Python Scapy] 3Way Handshake 시 RST를 자동으로 보내는 문제 해결 3way Handshake를 위해 Python의 Scapy Module로 SYN을 보내게 되면 서버로부터 SYN+ACK 응답을 받을 수 있는데 이때 OS에서 자동으로 RST를 보내 연결 작업을 끊어버립니다. 이에 대한 명확한 이유를 찾을 수는 없었는데, OS에서 예상하지 못한 3Way Handshake가 발생하면 자동으로 RST를 보내 연결을 끊어버리는 건 아닐까?라는 생각이 들었습니다. 이에 대한 우회 방안으로는 iptables을 이용하여 RST가 전송되지 못하도록 막는 방법이 있는 것 같습니다. (스마트하지 못한 방법.. ㅠㅠ) $ sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -s IP -j DROP 여담이지만, Python의 Scapy보다 C++의 Ne.. 2022. 8. 23.
Dummy Virtual Network Interface 생성하는 법 Network 상의 Packet을 분석할 때 기존에 사용하고 있는 Network Interface(eth0, ens33)를 사용할 경우 불필요한 Packet도 캡쳐되기 때문에 분석에 어려움을 겪을 수 있습니다. 이때 분석용 Virtual Network Interface를 생성하여 해당 Network Interface로 Packet를 전송하게 되면, 분석에 필요한 Packet만을 볼 수 있어 보다 쉽게 Network 상의 Packet을 분석할 수 있습니다. 1. dummy module 활성화 $ sudo modprobe dummy 2. Dummy Type의 Virtual Network Interface 생성 $ sudo ip link add dummy type dummy 3. dummy Network In.. 2022. 8. 22.
[Python Scapy] ARP Spoofing 구현 ARP Spoofing ARP Spoofing이란 ARP(Address Resolution Protocol)를 이용하여 공격 대상에게 공격자를 Gateway와 같은 다른 대상으로 속여 중간에서 패킷을 가로챔으로써 도청하거나 조작이 가능한 공격 입니다. ARP란 대상 IP를 기반으로 MAC 주소를 획득할 수 있도록 도와주는 역할을 하고 있으며, Layer 2(L2, Data Link layer)에서 통신을 할 때 MAC 주소를 사용하기 때문에 매우 중요한 역할을 담당한다고 볼 수 있습니다. 이렇게 중요한 ARP에서 ARP Spoofing 공격이 가능한 이유는 ARP가 설계된 지 오래되었기 때문에 설계 상의 치명적인 문제를 갖고 있기 때문입니다. 그것은 바로 자신의 MAC 주소를 알리는 ARP Frame을 .. 2022. 8. 21.
MIPS32 Tcpdump Binary File 임베디드 장비에 붙어서 네트워크 패킷을 캡쳐 하려고 하면 장비가 MIPS를 쓰는 경우가 많은데 이때 tcpdump를 이용하기 위해서는 Cross Compile를 하거나 mips32로 Compile된 File을 사용해야 함 MIPS Binary FIle Cross Compile Command CC=mips-linux-gnu-gcc ./configure --prefix=/home/kali/bb/ --host=mips-linux-gnu 2022. 8. 20.
Printer Hacking 프린터 프로토콜 보통 프린터들이 사용하는 프로토콜로는 RAW, IPP, LPD, SMB 등이 존재합니다. 다소 생소한 RAW, LPD, IPP에 대하여 간단히 알아보겠습니다. RAW JetDirect, AppSocket, PDL-DataSream이라고도 불리며 9100/TCP 포트를 사용하고 있습니다. 프린터에서 사용되는 가장 간단하고 빠르며, 일반적으로 신뢰할 수 있는 프로토콜로 간주되기 때문에 네트워크 프린터와 통신하기 위해 사용되는 기본방식 입니다. LPD lpr 명령어를 사용하여 액세스할 수 있으며, 515/TCP 포트를 사용하고 있습니다. 인쇄를 하기 위해서 클라이언트는 작업/사용자이름을 정의하는 제어 파일과 인쇄할 실제 데이터가 포함된 데이터 파일을 전송합니다. 인쇄 데이터를 처리하는 방법은 .. 2020. 9. 21.