제 3자가 패킷을 확인할 수 있는 상황
클라이언트가 서버와 통신을 하고있을 때 공격자 입장에서 패킷을 확인할 수 있는 것인가
중간에서 패킷을 확인할 수 있는 것을 sniffing(스니핑)이라고 한다.
스위치가 제공하는
filter, forword를 통해 제3자가 확인할 수 없는 것이다.
스위치 전에 허브로 연결되어있는 앤드디바이스 끼리는 스니핑이 가능해진다.
허브는 스위치가 제공하는 기능이 없기 때문에 스니핑이 가능하다.
그걸 확인하기 위해 허브로 설정을 했다.
BT5인 제3자가 클라이언트가 사용자에게 패킷을 보내는것을 찍히는걸 확인할 수 있다.
이 모드 덕분에 목적지가 내가 아니더라도 드랍하지않고 모으게 된다는 것
이 모드를 끄고 ping통신을 하게된다면 드랍하기 때문에 패킷을 확인할 수 없다.
# sniffing (사전적의미 : 코를 킁킁거리다)
- 네트워크를 통해 전송되는 Data를 엿보는 일종의 도청 행위
- 수동적인(passive) 공격
- 보안의 3요소 (기밀성, 무결성, 가용성) 앞글자만 따서 CIA라고 한다.
- promiscuous Mode를 하면 네트워크상에 이동하는 모든 패킷을 확인한다. (단, CPU가 받쳐줘야 가능)
근데 요즘은 허브보다는 스위치를 많이 사용하기 때문에 스위치에서 스니핑하는 것을 보려고 한다.
다시 이런식으로 돌아오고 정상적으로 핑 통신이 되는것을 확인했다.
icmp redirect를 사용하면 스위치 환경에서도 스니핑이 가능해진다.
이것을 사용하게끔 하는 도구로 icmpush이다.
이것을 다운받을 땐 강사님이 보내주신
wget http://security.ubuntu.com/ubuntu/pool/universe/i/icmpush/icmpush_2.2-6.1_i386.deb로 다운
했다. 정상적으로 다운이 되었다면 icmpush를 사용가능하다.
클라이언트를 타겟으로 10.10.10.254로 보낼 것을 기본 게이트웨이인 10.10.10.30으로 보내게 속이는 것
없는 대역대인 100번대로 핑 통신을 했을 때 클라이언트에서 라우팅테이블을 확인해 봤을 때
기본 게이트웨이를 10.10.10.30으로 잡는것을 확인할 수 있다.
이로써 클라이언트가 외부통신과 통신을 할 때 제3자인 공격자가 통신하려는 내용을 확인할 수 있다.
이것을 막으려면 방화벽에서 방향 전환 허용을 체크하고 하게되면 icmp redirect를 안하기때문에
제 3자에선 확인할 수 없다.
이런식으로 가운데를 이더넷 스위치로 바꿔주고 내부핑 정상적으로 가는걸 확인한다.
show mac-address-table로 내 table을 확인할 수 있고, count도 더해서 명령어를 입력하게 된다면
Maximum MAC addresses를 확인할 수 있다.
스위치를 공격하는 명령어는 macof이다. 이 상태에서 패킷을 확인해보면 대량의 TCP를 확인할 수 있다.
이런 상태가 되면 평소에 잘 가던 핑통신도 잘 안간다.
이러한 공격을 switch jamming이라고 한다. 스위치 바보만들기라고 함
이러한 공격은 port security라는 걸로 막을 수 있는데 이것의 기본 동작원리는
스위치에 포트가 있는데 스위치 포트에다가 시큐리티를 위주로 동작하게 만든다.
등록된 스위치포트가 아닌 다른 포트를 통해서 오게 된다면 다운이 되는것이다.
새롭게 토폴로지를 구성해서 이런식으로 설정되어있는것
서로 통신을 하기위해서 명령어를 쓰면
R1을 예시로 명령어를 쓰면
conf t로 들어가서 int se 0/0 을 들어가주고 ip add 1.1.12.1 255.255.255.0으로 추가
exit로 나가서 router rip을 다시 들어가서 version 2 주고 광고할 곳으로 넣어준다.
netwrok 1.1.23.0으로 한번해주고 network 10.1.1.0으로 광고를 해준다.
exit로 나가서 ip route 1.1.23.0 255.255.255.0 1.1.12.2로 나갈곳 까지 지정해서 적어주면 R1에서 설정은
마친 것 이것을 R3와 R4, R5까지 설정해주고 R2에서는 se 0/0에는 1.1.12.1추가 se 0/1에는 1.1.23.3을추가
fa 0/0에는 10.1.1.254를 추가해서 설정을 마무리하게된다.
정상적으로 설정을 했다면 핑통신이 원할하게 가능하다.
라우터 설정하는 것은 2023/04/24 라우터 설정 (tistory.com), 라우팅하는 내용은 2023/04/25 라우팅 (tistory.com)
(강사님이 하신 것)
conf t
int f0/0
ip addr 10.10.10.254 255.255.255.0
no shut
!
int f0/1
ip addr dhcp
no shut
!
do sh ip int b
!
no ip domain-lookup
!
line console 0
logging synchronous
exec-timeout 0 0
exit
!
host GW
!
conf t
int f0/0
ip addr 10.10.10.254 255.255.255.0
no shut
!
int f0/1
ip addr dhcp
no shut
!
do sh ip int b
!
no ip domain-lookup
!
line console 0
logging synchronous
exec-timeout 0 0
exit
!
host GW
!
conf t
access-list 1 permit 10.10.10.0 0.0.0.255
!
ip nat inside source list 1 int f0/1 overload
!
int f0/0
ip nat inside
!
int f0/1
ip nat outside
!
conf t
ip route 0.0.0.0 0.0.0.0 192.168.43.1
!
copy run start
sh int s 0/1에서 MTU를 확인한다.이걸 임의로 바꿔주는것은 int로 들어가서
ip mtu 500으로 바꿔주고 R1에서 R3로 ping 1.1.23.3 size 1000으로 보내게 되면 분할해서 보내게 된다.
sh ip int f 0/0을 치고 확인해보면
broadcast의 forwarding을 허용하지 않는다는 뜻이다.
이것을 int fa 0/0로 들어가서 ip directed-broadcast를 해서 허용을 만들어준다.
이게 허용이 되었을 때 R1에서 10.1.1.255로 핑을 보내게 된다면 리플라이가 두곳에서 오는것을 확인할 수 있다.
그런데 이것이 1000대가 있다면 1000곳에서 reply가 오는것이다 이것을 smurf attack이라고 한다.
그런데 이것을 내가 브로드캐스트로 보내고 목적지를 R3로 한다면 그 사람에겐 갑자기 1000대의
reply가 와 공격을 받게되는 것이다. 이것을 하는 법은 conf t로 들어가서
int lo 0으로 루프백을 만들어주고 거기에 주소를 추가해준다.
ip addr 1.1.23.3 255.255.255.0으로 해주고 end로 나가서 ping 10.1.1.255 source 1.1.23.3을 해주면
핑이 답은 안오고 1.1.23.3으로 두개의 답이 오게된다.
자세한 설명은 https://xn--ex3bt1ov9l.kr/275 이쪽에 있다.
'학원' 카테고리의 다른 글
2023/07/12 SSH스푸핑 (0) | 2023.07.12 |
---|---|
2023/07/11 스푸핑 (0) | 2023.07.11 |
2023/07/06 Netbus과제, Netbus 실행 (0) | 2023.07.06 |
2023/07/05 DNS 흐름 (0) | 2023.07.05 |
2023/07/04 DNS 설정 (0) | 2023.07.04 |