목록대외활동 (21)
베지밀

앞서 리눅스 간 WireGuard 구성을 간단히 진행해보았다. 이번에는 스위치/VPN 서버/PC 간 WireGuard 터널링 구성을 진행해보도록 하자. VPN 서버는 각각 Windows 11 WireGuard, Ubuntu 24.04 를 이용하여 구축하였고각 보라색 선은 서로 다른 LAN을 의미한다.(참고로 스위치에서는 VLAN을 통해 LAN을 구분하였다. PC1에 FTP 서버를 구성한 뒤, VPN 터널을 통해 데이터를 주고 받는 과정을 확인해보자. 기본 설정스위치각 스위치에는 Vlan을 할당하고 라우팅 설정을 통해 통신이 가능하도록 구성했다. 각 PC 방화벽 해제 테스트를 위해 ICMP 트래픽에 대해 임시로 허용해주도록 하자.(기본적으로 Windows에서는 icmp 트래픽이 차단되어있다.) 마찬가..

WireGuard란? WireGuard는 최근 등장한 새로운 VPN 프로토콜로, 기존 VPN과 달리 코드 라인 수가 4000줄 정도로 간결하다는 특징이 있다. WireGuard의 특징?암호화 프로토콜은 ChaCha20, Poly1305, Curve25519로 고정되어있다.사전 공유키 방식을 사용하며, 최신 암호화 프로토콜로 안전하고 빠른 암/복호화가 가능하다.UDP에서만 동작하며, IPv6도 지원이 가능하다.UDP를 사용하기 때문에 가볍고 빠르다는 장점이 있다.사전 공유키 방식을 활용한 단순한 키 교환 프로세스를 사용한다.기존 VPN과 달리 단 한 번의 요청/응답으로 키를 교환할 수 있다.커널 수준에서 작동하기 때문에 높은 성능과 효율성을 가진다.관리가 용이하다.SSO 인증 없이 공개키로 Peer를 증명..

이메일 헤더란?메일 발송자의 위치부터 시작하여 각 서버를 거쳐 최종적으로 수신자에게 오는 과정을 기록악성코드 분석가는 해커가 발송한 메일을 역추적하기 위해 이메일 헤더의 여러 필드들을 반드시 확인해야 함 이메일 헤더 필드To : 수신인, 받는 사람Cc(Carbon Copy) : 다른 사람이 메시지를 참조해서 읽으라고 보내는 경우Bcc(Blind Carbon Copy) : 숨은 참조로 여러 사람에게 보낼 때 참조인 주소를 숨기기 위해 사용From : 보내는 사람. 임의의 주소를 적으면 되기 때문에 해커는 자신의 주소가 아닌 가짜 주소 입력Reply-To : 수신한 메일을 회신할 때, 우선적으로 Reply-To에 설정된 주소로 회신Received : 수신한 메일이 어느 서버들을 거쳐왔는지 표시헤어 부분의 하..

위 문제에 대해 ERD 모델링을 수행해보자.간단간단 ^^ 우선 주어진 문제에서 다음과 같이 세부 항목을 나눈다.필요한 테이블과 속성들을 구분한다. 위 그림 참고해서 ERD를 그려보자 ERD 그리는 사이트 : https://www.erdcloud.com/ ERDCloudDraw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.www.erdcloud.com식별 비식별 관계를 고려해서 작성해야 함 끝

MySQL Workbench의 Table Data Import Wizard 기능을 이용해서 엑셀파일을 Import해보자 1. import하고자 하는 시트를 csv로 변환이런식으로 구성된 엑셀파일을 쉼표로 구분하기 위해 csv 파일로 저장하자 다른이름으로 저장 > csv로 파일 형식 변환 2. csv 파일을 json 파일로 변환utf-8 인코딩에서 문제가 발생할 것을 대비해서 json파일로 변환한다.https://csvjson.com/csv2json CSV to JSON - CSVJSONEmbed all the functionality of csvjson in any web application with Flatfile. Auto-match columns, validate data fields, and p..

실습 준비1. https://day-night.tistory.com/119 에서 1번 컨테이너 생성서버 / 클라이언트 컨테이너를 생성하고 VSCode로 각각 열기 2. 서버와 클라이언트 둘 다 python3 설치apt updateapt install python3 socket은 파이썬 기본 모듈이기 때문에 python3을 설치하고 import하면 됨. 접속 정보server ip : 172.17.0.2server port : 8001client ip : 172.17.0.3client port : 8002 Python Socket으로 전송하고 nc로 받기1. nc를 사용해서 서버 대기server# nc -l -p [서버 포트] 2. client에서 send.py로 소켓 생성import socketprin..

Docker로 컨테이너 두 개 만들어서 포트 포워딩해보기 우선 작업의 편리함을 위해 VSCode에 Docker를 Attach했다.VSCode와 Docker 연동은 요기 참고 >> https://89douner.tistory.com/123 1. 컨테이너 생성하기cmd 혹은 VSCode의 파워쉘 터미널에 아래 명령어를 입력해서 컨테이너 두 개 생성docker run -dit -p 8001:8001 --name server ubuntu:22.04 docker run -dit -p 8002:8002 --name client ubuntu:22.04docker run -dit -p 8001:8001 --name server ubuntu:22.04docker run -dit -p 8002:8002 --name cl..

su를 입력하는데 Authentication failure가 떴다.-> root 패스워드가 설정되지 않았기 때문 root 패스워드를 설정하거나, 분실했을 때 초기화하는 방법에 대해서 알아보자 1. GNU GRUB 모드 진입 후 e 누르기부팅 시 shift 키를 연타해서 부트로더에 진입한다e를 눌러서 명령어 편집모드로 들어간다 2. linux 라인의 ro를 찾는다linux로 시작하는 라인의 맨 끝 줄에서 ro를 찾는다. 3. ro를 rw로 수정하고, 한칸 띄워서 init=/bin/bash 입력 4. Ctrl+x로 부팅 진행 5. passwd로 새로운 패스워드를 만들어준다. 6. reboot -f 옵션으로 재부팅 진행 끝 다시 su 명령어를 사용해보니 정상적으로 진입되었다

sudo apt install vim 으로 vim 설치 vimtutor -g ko를 통해 한국어로 된 vim 길잡이를 볼 수 있다 방향키 대신 hjkl 명령어 이용하기키보드로 작업할 때 빠르게 수행할 수 있도록 최적화되었기 때문에방향키보다 hjkl를 사용하는 게 훨씬 빠름이것에 익숙해지자 ESC : 명령모드i : Insert 삽입모드v : 비주얼모드 :q! : 저장하지 않고 종료:wq! : 저장하고 종료 명령모드 x : 커서가 위치한 글자 지움명령모드 i : 삽입모드로 진입명령모드 A : 커서가 있는 줄의 맨 끝으로 이동, 편집모드로 바뀜 명령모드 dw : 커서가 위치한 단어 지우기명령모드 d$ : 커서부터 줄 끝까지 지우기 명령모드 dd : 줄 전체 지우기2dd : 두 줄 지우기 * 참고 *[횟..

Simple SQL 문제id와 pw에 값이 채워져있고, id가 admin이면 admin check!를 반환한다.즉, 쿼리 값이 참이면 결과를 반환해주는 것 Blind SQL InjectionSQL 취약점은 존재하지만 쿼리의 결과를 알 수 없을 때, 즉 참/거짓만 알 수 있을 때 사용하는 것.ex) 로그인 기능에서 SQLi 발생했지만 로그인 성공/실패 여부만 알 수 있음 1. 데이터베이스 길이 확인?id=admin&password=123' or length(database())>1 -- -DB 길이는 5인것을 알 수 있다. 2. 데이터베이스 이름 찾기?id=admin&password=123' or ascii(substr(database(),1,1))>97 -- -substr(database(),2,1)..

ping of death 공격 작업관리자에서 확인해보면 평화로운 상태.. hping3 [victim ip] --icmp --rand-source -d [패킷 크기] --flood공격자 pc에서 65000바이트에 icmp 패킷을 보냄 CPU가 엄청 커지고 있고Wireshark에서는 Fragmented IP Protocol 패킷을 확인할 수 있다 syn flooding 공격hping3 [victim ip] -p 21 -S --flood --rand-source cpu 사용량이 증가하고 패킷에 반복적으로 rst,ack 패킷이 나타나는 것을 볼 수 있다.

이전 포스팅과 이어짐 사전에 만들어진 실습용 vmx 파일을 이용하였기 때문에 실제 실습 화면은 다를 수 있습니다. Victim Host : 10.10.10.100 (Window XP)Attacker : 10.10.10.10 (Backtrack5)Gateway : 10.10.10.2 victim이 DNS 서버한테 DNS 쿼리를 함. 정상적으로는 DNS는 도메인에 맞는 ip주소를 알려줌DNS서버가 답을 주기 전에 attacker가 먼저 조작된 DNS Response를 줌.victim은 attacker의 유해 서버에 접속하게 됨. BT5에서 DomainFile이라는 이름의 파일을 생성좌측 ip는 공격자의 ip (우회할 ip) Applications>Backtrack>Services>HTTPD>apache s..

사전에 만들어진 실습용 vmx 파일을 이용하였기 때문에 실제 실습 화면은 다를 수 있습니다. Victim Host : 10.10.10.100 (Window XP)Attacker : 10.10.10.10 (Backtrack5)Gateway : 10.10.10.2 1. Victim 컴퓨터는 인터넷을 통해 서버에 접속하기 위한 최적의 라우트를 따라 데이터를 전송함2. Attacker는 라우터/게이트웨이를 사칭하여 ICMP Redirect 메시지를 전송함. 이 메시지는 현재 사용 중인 경로 대신 다른 경로(Attacker로 향하게 하는 경로)를 사용하도록 지시3. 피해자가 ICMP Redirect 메시지에 따라 공격자의 컴퓨터로 리디렉션4. 스니핑 성공 WinXP에서 route print를 통해 현재의 라우..

VMware나 Virtual Box와 같이 가상머신으로 네트워크 환경을 구축할 때 다음과 같은 화면을 볼 수 있다. 네트워크 연결의 종류에 대해 알아보자. 가상머신에서 네트워크 연결의 종류는 크게 3가지로 나눌 수 있다.Bridged, NAT, Host-Only 1. Bridged Mode (브리지모드)가상머신이 물리적 네트워크 즉, 호스트 PC의 어댑터와 직접 연결되는 구조.외부와 직접 연결괴어 DHCP 서버로부터 IP 주소를 받기 때문에 인터넷 접속이 가능하다. 이때, IP는 호스트와 같은 네트워크를 사용하여 통신한다. 내/외부 통신이 모두 가능하기 때문에 보안적으로 취약할 수 있다.주로 서버를 운영하거나, 외부 네트워크와 직접적인 연결이 필요할 때 사용한다. 2. NAT(Network Addr..

앞서 이더넷, IP, TCP의 헤더 구조에 대해 알아보았다.이번에는 Wireshark를 이용해서 패킷 길이를 확인해보자. 1. BPF(Berkely Packet Filter)캡쳐 옵션을 naver로 설정하고 시작하면 naver.com에 해당하는 패킷만 캡쳐가 가능하다.캡쳐하기 전에 특정 패킷만 보이게 필터링하는 것이다.BPF 문법은 아래 링크에서 확인https://biot.com/capstats/bpf.html 2. Display Filter패킷이 어느정도 들어오면 정지한 후 필터바에 ip.addr == [내 ip주소]를 검색BPF와는 달리 캡쳐 후에 필터링하는 것이다.Display Filter 문법은 아래 링크에서 확인https://www.thegeekstuff.com/2012/07/wireshark-..