wonder
정보보안 스터디 - 11주차 7일 - 네트워크 보안내용 본문
네트워크 보안
☞ 프로토콜 : 통신규약
네트워크 4계층
LAYER1 전기신호 |
LAYER2 ETH 내부로만 네트워크가 가능하며 브로드캐스트를 사용합니다. |
LAYER3 IP INTERNET PROTOCOL 목적: 외부의 다른 네트워크와 연결하여 데이터 전송하기 위해 만들어졌습니다. 유니캐스트 사용이 가능합니다. |
LAYER4 TCP, UDP 같은 레이어계층입니다. |
TCP UDP의 차이점을 알아두도록합시다.
☞ TCP transmission control protocol
연결지향성 프로토콜입니다.
tcp의 가장 큰 특징은 3way 핸드쉐이킹 기능입니다.
전화를 하는 것처럼
메인 서비스를 하기 전에
먼저 잘 되어있는지 인사부터 하면서 상대방이 맞는지 확인하는 겁니다.
종류 SYN ACK FIN : 정상적인 종료도 3번 확인작업을 거칩니다. RST : 그만보내세요. 강제종료 URG : 긴급한 데이터 우선 처리지만 처리하는 애플리케이션이 있어야 동작합니다. |
데이터 스트림 기능
세그먼트 단위로 보냅니다.
분할해서 1 2 3 4 단위로 보냄
1받으면 세그먼트 확인응답 하나씩합니다.
FLOW CONTROL 흐름 제어 기능
혼잡 제어 기능: 혼잡이 발생되면 전송량을 줄여버림
TCP는 기능이 많기 때문에 신뢰성이 있습니다.
FLAG는 8비트 입니다.
0 0 0 0 0 0 0 0
검색할 때는 16진법으로 검색합니다.
syn(0x02)
ack+syn(0x12)
ack(0x10)
stop & wait 방식
요청 하나당 응답 하나씩 받습니다.
SEQ=0
SEQ==0, ACK==1
SEQ==1, ACK==2
이런식으로 가는게
sliding window 방식
확인을 했으면 응답하면서 요청 양을 크게 늘립니다.
SEQ 0 >>
ACK 0
<< 1,2
ACK 1, 2
>>2,3,4,5
서비스 유형마다 다른데
한번 주고 끝나는 단기적 성격이면 stop & wait방식을 쓰는 것이 좋고
지속적으로 줄게 많으면 sliding window방식을 쓰는 것이 좋습니다.
☞ UDP
UDP는 TCP처럼 3WAY핸드셰이킹 통신연결이 필요없고 바로 요청을 줍니다.
그리고 오류검사 기능만 하기 때문에
8바이트로 용량이 가볍기 때문에 신속합니다.
☞ IP
로컬환경에서 리무트환경으로 데이터 전송을 위해 사용합니다.
연결성이 없습니다. UDP는 연결 안하려고하는데 IP에 있으면 이상하니까요.
ICMP 요청을 하기 전에
mac주소를 알아야하기 때문에
arp 요청을 먼저 보내 확인합니다.
ping
Tracert
tracert로 TTL을 1 2개씩늘리면서 어디로 거쳐가지는지 IP와 함께 경로를 확인할 수 있습니다.
TTL
사용이유: 패킷 루프 방지(TTL을 1, 2개 씩 늘리면서 ),
네트웍을 거치며 라우터 갯수 파악 > OS도 예측가능합니다.
패킷 루프 방지
패킷 LOOP가 발생하는 이유는
정적 라우트를 설정했을 때 잘못설정하여 넥스트홉을 이전 라우터 게이트웨이로 설정했다면 패킷이 LOOP가 발생합니다.
라우팅 테이블로 봤을 때 원래는 CONNECT된 인터페이스로 자연스럽게 흘러가야하는데
정적경로가 우선시 되기 때문에 그렇게 흘러갑니다.
☞ ARP 요청
내부 네트워크에서 IP는 아는데
MAC주소를 모르는 경우
Destination mac주소를 ff:ff:ff:ff:ff:ff로 남겨두고 arp요청을 보냅니다.
이 때는 유니캐스트가 불가능하기 때문에
브로드캐스트(내부로만)로 모두에게 보내서
해당 ip의 mac주소가 무엇인지 보내게 됩니다.
ip가 다른 장치들은 모두 drop을 하고
맞는 장치만 mac주소를 작성해 arp응답합니다.
특정한 mac주소로 유니캐스트로 한곳에 한번더 보내면서 확인을 합니다.
브로드캐스트
외부네트워크에서는 ping을 위해
arp 요청을 보낼 때 브로드 캐스트는 내부 네트워크로 밖에 작동하지 않기 때문에
밖으로까지 가기 어렵습니다. 게이트웨이까지만 도달을 하고 Destination Address를 게이트웨이로 작성해 보내게 되고 mac주소도 게이트웨이 mac주소를 받아오게됩니다. arp 테이블에 보면 확인할 수 있습니다.
게이트웨이는 ip를 이용해서 ping을 보냅니다.
☞ 공격 종류
스니핑
훔쳐보기입니다.
스푸핑
변조공격입니다.
IP spoofing, arp 스푸핑
ip spoofing
공격자는 만약 본인의 ip로 응답을 다 받아들이면 본인이 부하가 생기기 때문에 ip spoofing을 합니다.
ip를 노출시키면 안되기 때문에 출발지 IP 변조를 사용합니다.
arp spoofing이란
A장치와 C장치 사이에서 송수신을 하려고할 때 공격자인 B가 내가 C야 라면서 A한테 본인의 mac주소를 보냅니다. 한마디로 변조된 arp응답을 계속 보냅니다.
그리고 C한테도 마찬가지로 A라고 하고 본인의 mac주소를 보냅니다.
그러면 A와 C는 바보같이 arp테이블에 기록해둡니다.
그리고 A에서 C서버에게 ftp, http웹서버, telnet 등 암호화 되지 않은 서비스로 접속을 했을 때 B는 와이어샤크로 패킷을 훔쳐볼 수 있습니다.
서로의 ip 송수신을 하긴 하지만 mac주소는 B이기 때문에 데이터를 받을 수 있는 것입니다. 하지만 브로드 캐스트이기 때문에 내부 네트워크 끼리 밖에 안됩니다.
그래서 외부에서도 할 수 있는 게 있습니다. 게이트웨이를 거치기 때문에
게이트웨이 C에게 내가 A야 라고 하고 ,
A에게도 내가 게이트웨이야 라고해서 B를 거치게 되는 것입니다.
> 결국 스니핑을 위한 선수 작업입니다.
arp spoofing은
arp -i eth1 -t 타겟1주소 -r 타겟2주소
해서 보내도 되지만
ettercap이라는 도구를 사용해도됩니다. 방법은 똑같습니다.
arp 검색은 같은 네트워크에 브로드캐스트 요청을 모두 보내서 응답이 오는 것을 찾습니다. > 타겟으로 지정합니다.
네트워크 핫스팟을 공유해 장치들이 http웹에 들어가는 패킷을 훔쳐볼 수도 있을 것입니다.
플러딩
대량패킷 전송 공격으로 > 부하를 일으킵니다., 서비스가 힘듭니다.
DOS(denial of service)공격을 위해,
tcp syn 플러딩, dhcp 플러딩, ip fragments, icmp 플러딩
tcp syn 플러딩은
이렇게
syn 요청을 엄청 많이 보내게 하여
서버 입장에서는 ack응답을 다 해줘야 되고
그래서 wait list에 요청이 계속 쌓이는 겁니다.
그러면서 부하가 생기면
서비스를 이용하는데 방해가 되고
일반 유저의 접속도 힘듭니다.
IP Fragments 공격
MTU가 인터페이스가 처리할 수 있는 최대 용량이기 때문에
공격자는 초당 엄청난 용량의 패킷을 보내
mtu가 여러개로 나눠지도록합니다.
그러다 보니
mtu
mtu
mut
가 wait list에 쌓이게 되고 처리가 늦어져 부하가 생깁니다.
wireshark에서는 more fragments(다음 mtu가 있다.), fragments offset(이때까지 쌓임) 에서 확인 가능합니다.
이를 통해 알 수 있는 단점은 한번에 보내서 부하가 없는 방식과는 달리 부하가 생깁니다.
ping을 통해서도 DOS 부하공격을 할수가 있습니다.
ping에 사이즈, 갯수를 키우면 됩니다.
☞
wireshark를 잘 쓴다는 것은
필터링을 잘 사용하는지,
기능을 잘 사용하는 지 입니다.
필터링 검색은 외울 필요는 없고 다 나와있습니다.
디테일
바이트
부분으로 나눠져있어서
내용부분인 디테일에 문자열로 검색을 하면 쉽게 찾을 수 있습니다.
방금 스니핑했던 내용인 ftp 로그인 부분입니다. user01
nmap은 syn요청, ack응답을 이용한 도구입니다.
있으신가요 http에 열려 있나요? 해서
모든 포트에 확인을 해서 있다고 반응을 하는 것은
오픈상태를 알수 있고, 버전또한 확인가능합니다.
'Security > 네트워크 보안' 카테고리의 다른 글
정보보안 스터디 - 12주차 7일 - 방화벽 외부/내부 공격 차단 (0) | 2023.01.05 |
---|---|
정보보안 스터디 - 12주차 6일 - ACL 방화벽 (0) | 2023.01.03 |
정보보안 스터디 - 12주차 5일 - 서버 정보 수집 도구 (0) | 2023.01.02 |
정보보안 스터디 - 12주차 2일 - Nmap 사용법 (0) | 2022.12.30 |
정보보안 스터디 - 12주차 1일 - 스니핑, 스푸핑, 플러딩 공격 (0) | 2022.12.30 |