Network Security DAY_008 NMAP 옵션 , 방화벽 포트열기, 방화벽 포트설정 , NMAP 보안솔루션 우회, wireshark 로 3way handshake 보기 ,와이어샤크로 TCP handshake보기 , wireshark 설명 , 포트스캐닝, port scanning

2024. 1. 20. 17:39Information Security 정보보안/Network Security 네트워크 보안

728x90

배울 내용:  

nmap 옵션

방화벽 포트열기

방화벽 포트설정

firewall-cmd --permanent -add-service

nmap 보안솔루션 우회

wireshark 로 3way handshake 보기

와이어샤크로 TCP handshake보기 

wireshark 설명 

포트스캐닝

port scanning 

half open scan

stealth scan

open scan

 

 

 

 

 

 

 

제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.

틀린게 있으면 댓글로 써주시면 고치겠습니다.

 

 

 

사전지식 : 

https://sarimus.tistory.com/48

 

Network Security DAY_007 리눅스 고정 ip 설정 , scan 종류 3가지 , nmap 옵션 , nmap , netstat, TCP Port Scanning ,

배울 내용: 리눅스 고정 ip 설정 scan 종류 3가지 nmap 옵션 nmap netstat TCP Port Scanning 아이피 확인 메일서버 주소 수집 centos 설치 windows 설치 kali linux 설치 제가 지금 부터 작성하는 모든글은 제가 공부

sarimus.tistory.com

 

 

 

 

마지막시간에 

TCP Port 에 Scanning 3가지를 공부했었다

다시 공부하는겸 보자면 

 

 

 

 

 

OPEN scan은 3way handshake 완벽하게 이뤄지는 것이고

 

Half Open scan은  2way 까지 가고 syn ack 상대방에 돌아오면 공격자는 rst 해서 종료시키는거고 

 

Strealth scan 중 

 

FIN 은 플레그를 활성화시켜서 보내는것

 

NULL 은 비워서 보내는 것

 

X-MAS 는 꽉채워서 보내는 것이고

 

ACK  ACK플레그 활성시켜 보내는 것이다 

 

 

 

 

 

참고! 

 

이렇게  Stealth Scan 과 Half Open Scan , Open scan 으로 나누는데 

 

Half Open Scan 은 Strealth Scan에 포함될수있다 

 

 

 

 

 

그림으로 보면 아래와 같다 

 

 

 

 

이상태에서 

즉,  Port Open  상태에서 Scanning 해버리면 log 기록이 남는다

 

 

 

 

 

 

 

 

half open scan (SYN Scan )

열려있을때는 RST 로 세션을 연결할필요 없게 했다 

 

 포트가 닫히면 왼쪽그림과 같이 

되있지만 닫혀있으면 victim 쪽엔 무조건 RST 이 돌아온다 

 

 

 

 

 

 

 

 

 

 Stealth  scan (은닉스캔)

 

여기에서는 FIN/NULL/XMAS 등 이거는 

SYN 이 가야지 만 응답이 가능하다 

 

왜냐면 애네들은 요청에 대한 플레그가 아니기 때문이다 

그러니 응답을 할수가 없다 

 

 

여기서 Close 했을때 또한 RST 가 돌아온다 

 

 

 

 

 

 

  UDP Scanning  

 

UDP Packet을 보내고 응답을 받지않고

꺼져있으면 ICMP Unreachable 이 돌아온다 

 

 

 

그래서 이걸 다 정리한걸 표로 나타내면 

 

 

 

 

이제 테이블 표만봐도 어떤 것들이 어떻게 응답이되고 안되는 건지 상상이 될것이다 

 

 

 

 

 

 

 

 

 

자이제 실습을 할거다 

VM 에 

KALI 와 WINDOW 와 CENTOS 를 켜준다 

 

 

 

 

Kali 에서  -> CENTOS 에 

nmap 192.168.10.101 해보면 어떤 포트가 열린지 볼수있다 

 

 

 

만약 안열린다면 

 

 

이렇게 방화벽 꺼주고 

나머지 서비스들을 재시작해준다 

 

 

 

 

Kali -> WINDOW 를  nmap 하면

nmap 192.168.10.200

 

 

 

이렇게 되어있는걸 볼수있다 

 

 

 

여기에 135 139  445 가있다 

 

135, 139 는 TCP 고 

445는   MS의 데이터 서비스고 

SMB(Server  Message Block)이라는 취약점 , 취약한 포트로 알려져있다 

SMB로  파일이나 프린터를 공유할때 Samba 서버를 쓴다 

 

 

 

 

 

 

 

 

 

 


01.포트 스캐닝


#nmap [옵션] [IP 주소/도메인]

<옵션>
-sT : TCP Scan
-sU : UDP Scan
-sS : SYN Scan
-sF : FIN Scan
-sN : NULL Scan
-sX : X-MAS Scan
-sV : 버전 Scan
--reason : Reason 나옴  (nmap --reason 192.168.10.150)

-O : 운영체제 정보 확인

--open : 포트가 Open된 것만 출력
--top-ports 3 : 상위 3개만 출력

-A  : 아주 자세히 출력

-v : 과정 출력 

 

이제 Scanning 을 좀더 자세히 알아보면 

이렇게 여러 옵션을 알수있다 

 

 

 

UDP scanning 을해보면

 

한참 기다리는걸 볼수있다

그러나 이론상 (TCP 보다 ) 빠르다고 한다 

 

 

 

 

 

그런데 이걸 보고싶다 그러면 

 

 

 

 

WireShark로 볼수있다 

 

 

Wireshark는 네트워크 패킷 분석 도구로, 오픈 소스 소프트웨어로.

이 도구는 네트워크에서 전송되는 데이터 패킷을 캡처하고 분석하여 네트워크 트래픽을 해석할 수 있다.

Wireshark는 다양한 프로토콜에 대한 패킷을 지원하며,

TCP/IP, UDP, HTTP, DNS 등 다양한 프로토콜에서 전송되는 데이터를 실시간으로 분석이 가능하다.

 

 

 

 

 

KALI에선 깔려있는데 

 

CENTOS 에서는 설치해야한다  

 

 

이렇게 한뒤에 

 

wireshark &

 

입력한뒤 엔터하면 실행이 된다 

(cent os 에서실행) 

 

 

그뒤에 ens33 을 클릭후 Start 해주면 

 

 

 

 

 

 

 

 

이렇게 크게 3군데있는데

Packet List 

Packet Data

Packet Detail 

이있다 

 

 

 

 

 

이거를 쉽게

아래와 같이

목록, 데이터 , 디테일 이라고 보면된다

 

 

 

 

디테일은 HEX 값으로 보이게 된다 

 

 

 

 

 

 

 

 

 

 

NO는 번호를 나타내고

Time 은 시간

Source 는 출발지

Destination 은 도착지

Protocol은 어떤 프로토콜인지

Length 는 길이를 나타내고

Info는 그 결과를 나타낸 것이다 

 

 

 

 

 

자그럼 아까 3 Way handshake를 한번 보자 

 

 

 

 

 

그러면 

 

 

 

 

telnet 서버로 SYN 을 보내고

(192.168.10.100 (kali) -> 192.168.10.101(cent))

 

SYN 와 ACK 를 다시 보내고 

(192.168.10.101 (cent) -> 192.168.10.100 (kali))

 

그뒤에 다시 SYN 보내면서 

3way handshake 가 된걸 볼수가 있다 

 

 

 

그런데 nmap을 한뒤에 Kali 쪽에서 끊기 때문에

 

 

 

나중에는  RST 과 ACK 를 보내는걸 볼수가 있다 

 

 

 

 

나머지 옵션을 주고 어떻게 받아오는지도 확인 해보길 바란다 

 

 

 

 

 

 

 

 

 

 

이번엔 이렇게 해보자

nmap -sP 192.168.10.0/24 

 

범위를 지정해서 한방에 C 클래스를 scanning을 하는 것이다 

 

-sp 는 Ping scan 이다 

 

 

 

 

 

 

그러면 이렇게 

101 과 100 가  open 되있는걸 볼수있다 

 

 

나머지는 gateway , vmware 에서 쓰는것이다 

 

 

 

 

 

참고로 이렇게도 가능하다 

 

이러면 192.168.(0~255),(1~100) 

을 scanning 할수있다

 

 

 

 

참고로 포트지정도 가능하다 

nmap -p 21,23, 3306 192.168.10.101 해서 특정 포트만 scanning 가능하다 

 

 

 

 

 

nmap -sV [ ip 주소 ] 

해도 CentOS 라는 설명을 해주는걸 볼수있다  

 

 

 

 

칼리에서 윈도우로 스캐닝  또한 가능한다

nmap -sV 192.168.10.200

 

여기에 3개의 포트가 나온다 

msrpc 는 원격으로 제어 하는것인데 아주 치명적인 취약점이 있다고 한다 

그리고 지금 보니깐  포트번호만 알았지 자세한걸 몰랐는데

이렇게 자세히 보니 뭔지 바로 알수있다 

 

 

 

 

 그리고 STATE 가 Open인 이유를 물을수도있다 

nmap --reason 192.168.10.200 으로 왜 STATE 를 open으로 했는지 이유가나온다 

 

말그대로 SYN-ACK 로 주고 받았기 때문이라고 표시된다 

 

 

 

 

 

★중요

 

지금은 방화벽을 종료 시켰기 떄문에 포트가 검색이 된다

 

그러나 방화벽이 켜지면 포트검색이 안된다 

 

이번에는 방화벽이 켜져있어도 포트검색이 되보도록하자 

 

 

 

 

 

CENTOS 로 가서

 

 

이런 명령문으로 해서 방화벽이 켜져있는 상태에서 

포트를 켜준다 

ftp, http , telnet 그리고 ssh 를 추가해준것이다 

 

 

그리고 마지막에 

firewall-cmd -- reload 

해주는데 

 

 

 

firewall-cmd --list-all

이걸로 해서 어떤게 열리는지도 볼수있다 

 

 

 

이 명령어를 실행하면 Firewalld는 설정 파일을 다시 로드하고 변경된 규칙을

적용하여 방화벽이 새로운 설정에 따라 동작하게 된다 

 

 

 

#firewall-cmd --permanent --add-port=21/tcp
#firewall-cmd --permanent --add-service=ftp
#firewall-cmd --permanent --add-service=http 
#firewall-cmd --permanent --add-service=ssh
#firewall-cmd --reload
#firewall-cmd --list-all

이렇게 해주려는데 안되면 

 

먼저 방화벽이 켜져있는지 보고 

systemctl restart firewalld 

로 방화벽을 켜준뒤 해줘야 된다 

 

 

 

만약 빼고싶으면 add 를 remove로 만 바꿔주면 된다 

 

 

 

 

 

 

위에서 봤듣이 

nmap은 옵션이 엄청많다

그러나 아직 옵션이 한참더 남았는데 

몇개 더설명하면 아래와 같다 

 

 

-T0 : Paranoid : 5분~10분
-T1 : Sneaky   : 수 분(조금느림)
-T2 : Polite   : 느림
-T3 : Default(Normal) : 일반적
-T4 : aggressive : 빠름 
-T5 : Insane : 아주 빠름
ex) nmap -T0 google.com

 

 

 

이렇게 하는 이유는 

<보안 솔루션 우회>  떄문이다 


>시간 지연 (조정)

 

 

예를들어 

nmap google.com 을 계속 하게되면 google 에서 차단을하는데

T0 등을 줘서 차단하는걸 위회하기 위해서 이다 

 

 

예를들어 구글쪽에서 1초에 50개의 요청이 오면 차단해라 

등등 임계값에 도달하면 차단되는걸 설정했기  때문이다 

 

 

입맛에 맞게 T0~T5 까지 설정해서 하면 된다 

 

 

 

 

 

 

 

앞으로는 이런 임계값을 설정하고 찾아가는걸 주로 할것이다 

 

 

그럼 20000

 

 

 

 

 

 

 

 

 

728x90