202401to07
  • 스캔 보안 기술
    2024년 04월 24일 22시 52분 03초에 업로드 된 글입니다.
    작성자: 202401to07

    service firewall start : 방화벽 올리기 

    service firewall stop : 방화벽 내리기 

    syn  요청
    ack  응답
    fin  종료
    rst  재시도 /종
    urg  긴급
    psh  밀어넣기

     

    nmap  [scan type] [option] 목적지

    nmap : 시스템, 네트워크 보안 스캐너 

    [scan type]

    -sT tcp connect ***
    -sS     syn ***
    -sF Fin ***
    -sX X-mas (URG,PSH,FIN) ***
    -sN     null
    -sU udp ***
    -sQ protocol

    [option]
    -O os scan
    -v 자세히보기
    -p 포트지정 ***
    -f 포트분할

     

    출발지와 도착지를 ip.src ip.dst

    icmp[0] == 0 reply
    icmp[0] == 8 request

    echo 1 >  /proc/sys/net/ipv4/icmp_echo_ignore_all : 진행중이던 ping멈춤

    echo 0 >  /proc/sys/net/ipv4/icmp_echo_ignore_all  : 다시 시작

     

    icmp스캔

    원리 =  칼리   ==(request[8]) ===> 서버
                칼리   <==(reply[0] ) ==== 서버

    보안대책 => icmp(reply를 차단)   + 허용된 ARP만 접근 허가 (NAC)  + ip와 mac주소를 매칭

     

    UDP scan

    service  named restart :   DNS 서버인 named를 다시 시작
    service  snmpd restart  :  SNMP(Simple Network Management Protocol) 데몬인 snmpd를 다시 시작
    netstat -lntup  : 실 행 중인 네트워크 포트 및 관련된 프로세스를 보여줌

    vi /etc/named.conf
    option {
    # listen-on port 53 { 127.0.0.1; };
    listen-on port 53 { any; );
    listen-on-v6 port 53 { ::1; };
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistice-file "/var/named/data/named_stats.txt";
    memstatistice-file "/var/named/data/named_mem_stats.txt";
    recursing-file "/var/named/data/named.rescursing";
    secroots-file "var/named/data/named.secroots";
    # allow-query     { localhost; };
    allow-query     { any; }

     

    service firewalld stop
    service named restart

    firewall-cmd --permanent --add-port=53/udp  영구설정 )

    firewall-cmd --reload  (영구설정적용)

    firewall-cmd --list-all (53/udp 포트확인)

     

    칼리 ) nmap -sU -p 53-55 10.10.10.10  (53번포트 open된거 보기 ) 

    지정된ip주소에서 (10.10.10.10) 주어진 UDP포트 번호(52-55)를 스캔(nmap)하는것 

     

    firewall-cmd --permanent --remove-port=53/udp (53번포트 삭제)
    firewall-cmd --reload (영구설정적용)

    장점 : 단방향이기 때문에 로그가 남기 어려움 , 방화벽 활성화 여부 확인가능

    단점 : icmp에 확실한 증거 ( 주기적인 unrechable) 이 뜨기때문에 걸리기 쉬움
          방화벽에 의해 패킷이 차단될 경우 open/closed의 여부확인이 어려움 (filtered)

    대책: 필요한 UDP만 오픈을 해주고 주기적인 모니터링을 통해서
     ICMP unreachable을 확인하여 UDP스캔인   패킷을 차단시킨다.


    TCP scanning

    ACK = 응답
    FIN = 연결종료요청
    SYN = 연결요청
    ================================
    URG = 긴급 (우선순위)
    PSH = 실시간 전송(밀어넣기)
    RST = 재연결 종료

    dnf install -y vsftpd-*
    dnf install net-snmp-*
    dnf install -y httpd-*
    dnf install -y bind-*
    dnf install -y telnet-server*
    rpm -qa |grep -P "vsftp|net-snmp|httpd|bind|telnet" 으로 잘 다운받았는지 확인하기 

    service vsftpd restart
    service httpd restart
    service telnet.socket restart

     

    80/tcp: httpd   80 http 
    21/tcp: vsftpd    20 21 ftp
    23/tcp: telnetd  23 telnet
    22/tcp: sshd      22 ssh 

     

    TCP 스캔

    nmap -sT  -p 20-24 10.10.10.10

    원리 : 3way handshack 는 syn -> syn+ack -> ack 로 패킷을 주고 받는다 즉
          syn 을 요청하면서 syn+ack 를 받아오는 녀석을 찾게 되고  
          ack 까지 받은뒤 서비스를 이용하지 않기때문에 칼리에서 rst+ack를 통해 종료 (칼리에서 끊음)

    방화벽 start  : closed시 서버에서 rst+ack 안보냄

    방화벽 stop시 : closed 서버에서 rst+ack 보냄 

    보안 : 같은호스트에서 다수의 포트들을 검색하는 내용 모니터링하고
          세션완료후 (칼리)RST+ACK 를 보낼경우 차단 (세션확인)

    TCP스캔 (Full connect scan)
    연결될경우 :RST+ACK  ( 칼리에서 RST+ACK ) 
    연결안될경우 : RST+ACK (서버에서 RST+ACK) 방화벽설정시 안나옴

    칼리 syn
    서버 syn ack 
    칼리 ack 
    서버 rst ack ( close)
    칼리 rst ack (open )

    보안: 세션완료후 (칼리)RST+ACK 를 보낼경우 차단

     


    syn stealth  halt open 

    nmap -sS -p 20-80  10.10.10.10

    syn을 보낸후 syn+ack만 확인한뒤 rst를 보내서 세션을 끊어버림 

    3way handshack를 완성하지 않음)

    syn+ack를 받은후 (칼리)RST 를 보낼경우 차단

    [세션을 맺지 않고 열린포트를 확인하는 스캔]
    Syn스캔 (half open scan, syn stealth scan)
    연결될경우 : RST     ( 칼리에서 RST )
    연결안될우 : RST+ACK (서버에서 RST+ACK) 방화벽설정시 안나옴

    칼리 syn
    서버 syn ack 
    칼리 ack 
    서버 rst ack ( close)
    방화벽설정시 안나옴
    칼리 rst  (open )
    => 쓰리웨이 끝나지도 않았는데
    칼리가 rst


    ACK scan

    nmap -sA -p 20-23 10.10.10.10

    원리: ACK를 보내서 서버에서 RST가 나오면 서비스가 있다고 판단 (단 방화벽이 올라가있어야함) unfiltered 

    ACK스캔]
    연결될경우 : RST     ( 서버에서 RST )
    연결안될우 : ㅡ_ㅡ 조용

     ack 로만 요청하는 녀석을 차단 


    Fin scan

    fin  종료

     

    IDS(침입탐지) 를 회피하기위해서 사용

    IDS(침입탐지) 를 회피하기위해서 사용

    보안 : 방화벽을 쓰면 결과 알기 어려움

    방화벽이 없고(stop) 남기지 않을때 사용
          호스트에서 FiN으로 여러 포트를 스캐닝할경우 차단


    x-mas scan

    Fin, Psh, Urg 플레그를 동시에 다보냄

    nmap -sX -p 20-90 10.10.10.10

    원리 : fin 과 psh urg를 같이 보내서fin만 필터링 될 경우 통과시킴

    FIN스캔, X-mas 스캔 , null 스캔
    연결될경우 : X
    연결안될경우 : RST+ACK ( 서버에서 보냄 )


    null scan

    nmap -sN -p 20-30  10.10.10.10

     

    플래그 없이 t

    보안 : null 플레그 검사

     


    총정리 

    TCP포트가 열려있을때 응답이 오는 스캔 

    tcp  syn /stealth / halt open  ack
    칼리 syn
    서버 syn ack 
    칼리 ack 
    서버 rst ack ( close)
    방화벽설정시 안나옴
    칼리 rst ack (open )
    => 끝나고 칼리가 rsk+ack 
    칼리 syn
    서버 syn ack 
    칼리 ack 
    서버 rst ack ( close)
    방화벽설정시 안나옴
    칼리 rst  (open )
    => 쓰리웨이 끝나지도 않았는데
    칼리가 rst

    칼리 syn
    서버 syn ack 
    칼리 ack 
    서버 RST (opne)
    => 서버가 ack도 안했는데
    칼리가 ack 을 보내니까 서버가 RST!!!! 하는것

     

    TCP포트가 닫혀있을때 확인하는 스캔 3가지

    Fin  x-mas scan null scan
    칼리 FIN
    서버 RST+ACK (close)
    ==> 무반응 = (open )
    칼리 FIN PSH UGH
    서버 RST+ACK (close)
    ==> 무반응 = (open )
    칼리  NONE (아무것도 안보내)
    서버 RST+ACK (close)
    ==> 무반응 = (open )

     

     


    모든 포트들은 활성화 되지 않을때 RST+ACK를 보내

    방화벽을 올렸을때 (start)

    close 일때 RST+ACK가 리턴되지 않습니다

    그래서  

    close 일때 RST+ACK가 리턴 되는걸로 확인하는 FIN , X-MAS, NUll 스캔 방법은 방화벽 올라가있을때 확인이 어려움


    Decoy 스캔  

     nmap -sS -p 20-25  10.10.10.10  -D RND

    여러 IP로 바꿔서 포트스캐닝 )

    여러 IP가 나오지만 MAC주소는 같다. 

     

    유일하게 MAC주소와 HOST를 매칭해서 막는 보안장비는 NAC 이다.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    '보안' 카테고리의 다른 글

    2024.04.25.목.보안 day18  (0) 2024.04.25
    GNS / 칼리 /센토스 미니 / 록키 [리눅스 초기 설정]  (0) 2024.04.25
    2024.04.24.수.보안 day17  (0) 2024.04.24
    2024.04.23.화보안 day16  (0) 2024.04.23
    2024.04.22.월.보안 day15  (0) 2024.04.22
    댓글