전체 글318 [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. 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. URI, URL, URN의 차이점 URI, URL, URN은 비슷한 이름만큼 헷갈리는 개념입니다. 간단히 설명하자면 URI은 URL과 URN을 포함하는 상위 개념입니다. URI (Uniform Resource Identifier) URI는 "네트워크 상에서 리소스를 식별하기 위한 주소" 입니다. 네트워크 상에서 리소스를 식별할 수 있는 모든 주소가 URI이기 때문에 URL과 URN은 자동으로 URI에 포함됩니다. URL (Uniform Resource Locator) URL은 "네트워크 상에서 리소스의 위치를 나타내는 주소" 입니다. 과거에는 사용되는 주소가 리소스의 위치를 나타내는 URL을 주로 사용하였지만, 최근에는 Rewrite 또는 URI Pattern 매칭을 통해 실행되는 서비스(REST 서비스) 등이 새로 생겨나면서 URL 보.. 2022. 8. 17. [Android] Content Provider 취약점 먼저 Content Provider에 대한 개념이 부족하신 분들은 아래의 포스팅을 읽고 오시길 추천드립니다. [Android] 4대 Component Android에는 앱을 구성하는데 필요한 4개의 구성 요소(Component)가 존재하는데 이를 4대 Component라고 부릅니다. 4대 Component는 Activity(액티비티), Service(서비스), BroadCast Receiver(방송 수신자), Cont.. hacksms.tistory.com 간단히 정리하자면 Content Provider는 서로 다른 Application에서 저장된 Data를 공유할 수 있는 방법을 제공하는 Component 입니다. 만약 A 앱에 구현된 Content Provider를 모든 앱에서 접근할 수 있다면, C.. 2022. 8. 10. [Android] DeepLink 취약점 (WebView Hijacking Via DeepLink) 먼저 WebView와 DeepLink가 무엇인지 모르시는 분들은 아래의 링크를 먼저 보고 오시길 추천드립니다. [Kotlin] WebView 사용 방법 WebView WebView란 프레임워크에 내장된 웹 브라우저 Component로써 View 형태로 App에 임베딩 하는 것이 가능합니다. 이러한 WebView는 App 안에서 HTML을 호출하여 App을 구현하는 Hybrid 형태의 App을 개발하는 hacksms.tistory.com [Kotlin] 딥링크 (DeepLink) 딥링크 (DeepLink) 딥링크란 단순하게 특정 페이지 또는 특정 콘텐츠에 직접적으로 도달할 수 모든 링크를 의미합니다. 그리고 Android에서 딥링크란 Custom Scheme와 같은 특정 주소를 통하여 앱을 실행 hacks.. 2022. 8. 7. 이전 1 ··· 9 10 11 12 13 14 15 ··· 36 다음