전체 글322 [Netfilter] IP Spoofing With netfilter_queue 현재 개인 프로젝트를 하고 있는데 ARP Spoofing과 netfilter_queue를 이용하여 MITM을 걸 수 있도록 Tool을 개발하고 있습니다. ARP Spoofing Tools에 대한 내용은 아래의 포스팅을 참고해주시기 바랍니다. [Python Scapy] ARP Spoofing 구현 ARP Spoofing ARP Spoofing이란 ARP(Address Resolution Protocol)를 이용하여 공격 대상에게 공격자를 Gateway와 같은 다른 대상으로 속여 중간에서 패킷을 가로챔으로써 도청하거나 조작이 가능한 공격 입니다... hacksms.tistory.com ARP Spoofing Tool(Python Scapy)과는 다르게 IP Spoofing 기능은 netfilter_queue.. 2022. 8. 28. [Netfilter] netfilter_queue 사용 방법 netfilter_queue 설치 먼저 netfilter_queue를 사용하기 위해 linfnetlink와 libmnl을 설치해준뒤, libnetfilter_queue를 설치해줍니다. # Install libnfnetlink $ wget https://www.netfilter.org/pub/libnfnetlink/libnfnetlink-1.0.2.tar.bz2 $ tar -xf libnfnetlink-1.0.2.tar.bz2 $ cd libnfnetlink-1.0.2 $ ./configure $ make $ sudo make install $ cd.. # Install libmnl $ wget https://www.netfilter.org/pub/libmnl/libmnl-1.0.5.tar.bz2 $ ta.. 2022. 8. 28. Git 사용법 (With GitHub) Git 계정 정보 등록 $ git config --global user.name ID $ git config --global user.email email Git Local 저장소 생성 $ git init Git Branch Main으로 변경 $ git branch -M main Github 원격 저장소와 연결 $ git remote add origin https://github.com/ID/MITM.git Git ID/Access Token 저장 $ git config --global credential.helper store 파일 등록 $ echo "Project" > README.md $ git add ./README.md $ git status 파일 삭제 $ git rm "README.md" 로컬.. 2022. 8. 27. 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을 통한 Simple HTTPS Server 구축 HTTPS Server를 구축하기 위해서는 인증서가 필요한데, 이 인증서는 openssl를 통하여 생성 가능합니다. $ openssl genrsa -out CA.key 2048 $ openssl req -x509 -new -nodes -key CA.key -days 3650 -out CA.pem $ openssl genrsa -out server.key 2048 $ openssl req -new -key server.key -out server.csr $ openssl x509 -req -in server.csr -CA CA.pem -CAkey CA.key -CAcreateserial -out server.crt -days 3650 Python Simple HTTPS Server Code import h.. 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. Ubuntu 22에서 zsh 설치 후 설정하는 방법 기본 셸인 Bash와 sh가 아닌 사용자 편의를 위해 많은 기능이 추가된 zsh를 설치하는 방법에 대해서 알아보도록 하겠습니다. 1. apt install를 통한 zsh 설치 및 기본 Shell 변경 $ sudo apt install zsh -y && chsh -s `which zsh` 2. zsh를 더 편하게 관리할 수 있도록 도와주는 oh-my-zsh 설치 $ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 3. zsh의 테마 중 가장 인기있는 테마인 agnoster 설치 $ sudo vim ~/.zshrc ZSH_THEME="robbyrussell" -> ZSH_THEME="agnoster" 으로 변.. 2022. 8. 21. 이전 1 ··· 9 10 11 12 13 14 15 ··· 36 다음