정보보안 - 네트워크 명령어
ping 명령어
- 개요
    - ICMP 프로토콜 사용
        - Echo Request (Type:8)
- Echo Reply (Type:0)
 
- 반응이 있을 경우 통신연결이 된다 (포트가 열려있다) 는 의미
- 보안상의 이유로 destination 에서 서비스를 하지 않을 수 있음
 
- ICMP 프로토콜 사용
        
- 윈도우
    - ping -n 5 -l 128 www.korea.com- -n: 패킷 전송 횟수 (Default : 4)
- -l: 패킷 크기 설정 (Default : 32Bytes)
 
 
- 리눅스 / 유닉스
    - ping -c 5 -s 128 www.korea.com- -c: 패킷 전송 횟수 (Default : 무한대)
- -s: 패킷 크기 설정 (Default : 56Bytes)
 
 
traceroute 명령어
- 개요
    - 경로를 추적하고, 상태 및 흐름을 파악하기 위함 (라우터의 문제점을 찾아내기 위함)
- ICMP 프로토콜을 사용
- 네트워크 계층 (L3/Router) 를 거치면서 패킷을 전송
- 각 구간별 중계속도, 연결 상태 등을 알 수 있음
- TTL 값을 1씩 증가시켜 진단함
- 라우터는 TTL 값을 감소시키고, TTL 값이 0이 되면 패킷을 폐기
        - Type 11 : ICMP Time Exceeded 응답값 ()
            - Code 0 : TTL exceeded
 
 
- Type 11 : ICMP Time Exceeded 응답값 ()
            
- 최종목적지 도달
        - Type 0 : ICMP Echo Reply
 
- 포트가 닫혀있을 경우
        - Type 3 : ICMP Destination Unreachable
            - Code 3 : Port Unreachable
 
 
- Type 3 : ICMP Destination Unreachable
            
- 응답시간 * 로 표기
        - 보안상의 이유로 패킷을 무시할 수 있음
- 실제로 구간에 문제가 발생한 경우
 
 
- 윈도우
    - tracert
- ICMP Request 패킷 이용
        - ICMP Echo Request (Type 8)
 
- TTL 값을 1씩 증가시켜 진단함
 
- 리눅스
    - traceroute
- UDP 패킷 (33434/UDP) 이용
- TTL 값을 1씩 증가시켜 진단함
 
netstat 명령어
- 개요
    - 확인 정보
        - 열려져 있는 포트
- 서비스 중인 프로세스들의 상태정보
- 네트워크 연결 상태
 
- 옵션
        - No Option : ESTABLISHED(연결상태) 소켓 정보
- -a: 모든 소켓의 상태 정보
- -i: 네트워크 인터페이스 정보
- -r: 시스템 라우팅 테이블 정보
- -s: 각 프로토콜별 (TCP, UDP, ICMP …) 통계정보
- -n: 네트워크 주소를 숫자로 표현
- -u: UDP
- -t: TCP
 
- 결과값
        - Recv-Q : 수신버퍼에 저장된 데이터 크기
- Send-Q : 송신버퍼에 저장된 데이터 크기
- Local Address : 로컬호스트의 소캣 주소
- Foreign Address : 원격호스트의 IP:포트
- Status : 소켓 상태
- i 옵션 결과값
            - RX : Received (수신받음)
- TX : Transmitted (전송)
- OK : 오류없는 패킷
- ERR : 에러 패킷
- DRP : 폐기 패킷
- OVR : 오버플로우로 폐기된 패킷
 
 
 
- 확인 정보
        
ifconfig 명령어
- 개요
    - ifconfig : interface config (리눅스/유닉스)
        - 인터페이스 설정 정보
- ip 정보
- 서브넷 마스크
 
- ipconfig (윈도우)
 
- ifconfig : interface config (리눅스/유닉스)
        
- 내용
    - Link encap : Ethernet
- HWaddr 00:0c:29:3c:73:32 -> MAC Address
- inet : IP주소
- UP : 현재 인터페이스 활성화
- Metric : 라우팅 경로의 효율성/우선순위, 클수록 비용이 큼
- RX : Received (수신받음)
- TX : Transmitted (전송)
 
- Promiscuous 모드
    - 설정 시 : ifconfig eth0 promisc- UP BROADCAST RUNNING PROMISC MULTICAST
 
- 로그파일
        - /var/log/message- 시간 localhost kernel : device eth0 entered promiscuous mode
 
 
- 해제 시 : ifconfig eth0 -promisc- UP BROADCAST RUNNING MULTICAST
 
- 로그파일
        - /var/log/message- 시간 localhost kernel : device eth0 left promiscuous mode
 
 
 
- 설정 시 : 
nmap
- 개요
    - 포트스캐닝 툴, 호스트나 네트워크를 스캐닝
- 시스템 보안 툴인 동시에 해킹 툴로 사용될 수 있음
 
- 예시
    - nmap -sP xxx.xxx.xxx.xxx: Ping Scan (ICMP)- 활성화 되어있으면 응답 받음
 
- nmap -sP -p 80 xxx.xxx.xxx.xxx: Port 옵션- -pT:21,23,110,U:53: TCP 21,23,110, UDP 53번 포트 스캔
 
- nmap -sT xxx.xxx.xxx.xxx: TCP Connection Open
 
- 옵션
    - -sT: 일반적 TCP 포트 스캐닝 (connect(open))
- -sS: half open 스캔 (추적 어려움)
- -sP: ping을 이용한 일반적인 스캔
- -sU: UDP 포트 스캐닝
- -sA: TCP ACK Scan
- -sN: TCP Null Scan
- -sF: TCP FIN Scan
- -sX: TCP XMAS Scan
- -PO: 대상 호스트에 대한 ping 응답을 요청하지 않음 (log 기록, filtering 회피)
- -PT: 일반적인 ICMP ping이 아닌 ACK 패킷으로 ping을 보내고 RST 패킷으로 응답을 받음
- -PI: 일반적인 ICMP ping 으로 방화벽이나 필터링에 의해 걸러짐
- -PB: ping을 할 때 ICMP ping 과 TCP ping 을 동시에 이용
- -PS: ping을 할 때 ACK 패킷 대신 SYN 패킷을 보내 스캔
- -O: 대상 호스트의 OS 판별
- -p: 대상 호스트의 특정 포트를 스캔하거나 스캔할 포트의 범위 지정 (1-1024)
- -D: Decoy 기능으로 대상 호스트에게 스캔을 실행한 호스트의 주소를 속임
- -F: /etc/services 파일 내에 기술된 포트만 스캔
- -I: TCP 프로세서의 identd 정보를 가져옴
- -n: IP 주소를 DNS 호스트명으로 바꾸지 않는다. 속도가 빠르다.
- -R: IP 주소를 DNS 호스트명으로 바꿔서 스캔. 속도가 느리다.
- -o: 스캔 결과를 텍스트 파일로 저장- -oN: 스캔결과 파일로 출력
- -oX: 스캔결과 XML로 출력
- -oG: Grepable (grep, awk) 파일 형식으로 출력
 
- -i: 스캔 대상 호스트의 정보를 지정한 파일에서 읽어서 스캔
- -h: 도움말 보기
 
TCP Connect(Open) 스캔
- 개요
    - connect() 함수를 이용하여 각 포트별로 접속, 스캔하는 방식
- 포트가 열린 상태이면 연결완료 후 종료
- 포트가 닫혀있으면 RST+ACT 패킷이 옴
- 시스템 로그가 남게 됨
 
- 과정
    - 열려있는 경우
        - Attacker : SYN 전송
- Target : SYN+ACK 전송
- Attacker : ACK 전송
- Attacker : RST+ACK 전송
 
- 닫혀있는 경우
        - Attacker : SYN 전송
- Target : RST+ACK 전송
 
- 방화벽에 의한 차단
        - Attacker : SYN 전송
- Target
            - 무응답
- ICMP 메시지 (Destination Unreachable)
- filtered 메시지
 
 
 
- 열려있는 경우
        
- nmap
    - telnet, http 포트 확인 : nmap -sT -p 23,80 xxx.xxx.xxx.xxx
 
- telnet, http 포트 확인 : 
TCP SYN(Half-Open) 스캔
- 개요
    - 관리자 권한을 가지고 있어야 수행 가능
- 완전 연결 설정과정을 수행하지 않기에 Half-Open(반 열림) 스캔이라 함
- 시스템 로그가 남지 않기 때문에 Stealth Scan 이라 함
 
- 과정
    - 열려있는 경우
        - Attacker : SYN 전송
- Target : SYN+ACK 전송
- Attacker : RST 전송
            - 원칙은 ACK 전송, 강제로 Control Flag 를 변경-관리자권한
- UAPRSF (000100)
 
 
- 닫혀있는 경우와 방화벽 차단은 위와 동일
 
- 열려있는 경우
        
- nmap
    - telnet, http 포트 확인 : nmap -sS -p 23,80 xxx.xxx.xxx.xxx
 
- telnet, http 포트 확인 : 
TCP FIN 스캔
- 개요
    - 스텔스 스캔 방식의 하나
- TCP 헤더의 flag 비트를 비정상적으로 설정해서 스캔하는 방식 (관리자권한)
- TCP 표준의 허점을 이용
        - 포트 상태가 CLOSED 이면 요청 세그먼트에 대한 응답으로 RST 를 보낸다.
- OPEN 상태이면 RST 가 오지 않음
 
 
- 과정
    - 열려있는 경우
        - Attacker : FIN 전송
- Target : 응답없음
 
- 닫혀있는 경우
        - Attacker : FIN 전송
- Target : RST+ACK 전송
 
 
- 열려있는 경우
        
- nmap
    - telnet, http 포트 확인 : nmap -sF -p 23,80 xxx.xxx.xxx.xxx
 
- telnet, http 포트 확인 : 
TCP NULL 스캔
- 개요
    - 스텔스 스캔 방식의 하나
- 연결되어 있지 않은 포트에 아무 플래그 비트를 설정하지 않은 탐지패킷 전송
- 열린 포트 : 응답이 없음
- 닫힌 포트 : RST+ACK 전송
 
- 과정
    - 열려있는 경우
        - Attacker : 패킷 전송 (No Flag) - UAPRSF (000000)
- Target : 응답 없음
 
- 닫혀있는 경우
        - Attacker : 패킷 전송 (No Flag) - UAPRSF (000000)
- Target : RST+ACK 전송
 
 
- 열려있는 경우
        
- nmap
    - telnet, http 포트 확인 : nmap -sN -p 23,80 xxx.xxx.xxx.xxx
 
- telnet, http 포트 확인 : 
TCP Xmas 스캔
- 개요
    - 스텔스 스캔방식의 하나
- 여러가지 플래그를 활성화 해 전송
- 연결되어 있지 않은 포트에 FIN, URG, PSH 플래그 비트를 설정하여 탐지패킷 전송
        - UAPRSF : 101001
 
- 열린 포트 : 응답이 없음
- 닫힌 포트 : RST+ACK 전송
 
- 과정
    - 열려있는 경우
        - Attacker : FIN+URG+PSH 플래그 전송 (UAPRSF - 101001)
- Target : 응답 없음
 
- 닫혀있는 경우
        - Attacker : FIN+URG+PSH 플래그 전송 (UAPRSF - 101001)
- Target : RST+ACK 전송
 
 
- 열려있는 경우
        
- nmap
    - telnet, http 포트 확인 : nmap -sX -p 23,80 xxx.xxx.xxx.xxx
 
- telnet, http 포트 확인 : 
TCP ACK 스캔
- 개요
    - 포트의 Open 여부보다는 방화벽의 필터링 방식을 확인하기 위함
 
- 방화벽 필터링 방식
    - Packet Filtering (패킷 필터링) 방화벽
        - deny, allow
            - IP 주소 (소스, 목적지)
- 포트번호 (소스, 목적지)
- 트래픽 방향
- 프로토콜의 형태
 
- 전송 / 네트워크 계층 차단 방식
            - TCP/IP 헤더 부분을 이용한 침입차단
- 수동적 방화벽
 
- 응용 계층 차단 (응용 게이트웨이) 방식
            - 프록시 (소프트웨어) 기능을 이용
                - 패킷의 IP 주소와 서비스 종류에 따라 내부 네트워크 보호
 
- 능동적 방화벽
 
- 프록시 (소프트웨어) 기능을 이용
                
 
- deny, allow
            
- Stateful Inspection (상태기반) 방화벽
        - 패킷 필터링 방화벽과 마찬가지로 동일한 패킷정보 검토
            - SYN 패킷인 경우
 
- 상태 테이블 관리
            - TCP 연결에 관한 정보를 기록
- TCP 번호 추적
 
- DataLink 계층에서 상태 테이블을 확인하고, 허용된 패킷만 통과시킴
            - SYN 패킷이 아닌 경우
 
 
- 패킷 필터링 방화벽과 마찬가지로 동일한 패킷정보 검토
            
- NAT (Network Address Translation) 를 이용한 방화벽
 
- Packet Filtering (패킷 필터링) 방화벽
        
- 과정
    - 필터링 하는 경우
        - 응답 없음 (Stateful Inspection 방화벽 가능성이 높음)
- ICMP 메시지
 
- 필터링 하지 않는 경우
        - RST + ACK 패킷
 
 
- 필터링 하는 경우
        
UDP 스캔
- 개요
    - ICMP Unreachable 메시지를 이용하여 UDP 포트 오픈 여부 확인
- 열린 포트 : UDP 응답 or 응답 없음
- 닫힌 포트 : ICMP 메시지 응답
 
- 과정
    - 열려있는 경우
        - Attacker : UDP
- Target : UDP 응답 or 응답 없음
 
- 닫혀있는 경우
        - Attacker : UDP
- Target : ICMP Unreachable (Type : 3, Code : 3)
 
 
- 열려있는 경우
        
- nmap
    - DNS 서비스 UDP 스캔 : nmap -sU -p 53 xxx.xxx.xxx.xxx
- NTP 서비스 UDP 스캔 : nmap -sU -p 123 xxx.xxx.xxx.xxx
 
- DNS 서비스 UDP 스캔 : 
Decoy 스캔
- 개요
    - 위조된 주소로 스캔하는 방식
- 다양한 IP로 스캐너 주소를 위조, 관리자가 누가 스캔하는지 알아채기 어려움
 
- nmap
    - nmap -sS -p 23,80 192.168.120.100 -D 192.168.150.1, 192.168.150.2- src – SYN –> 192.168.120.100:23/80
- 192.168.150.1 – SYN –> 192.168.120.100:23/80 (Decoy)
- 192.168.150.2 – SYN –> 192.168.120.100:23/80 (Decoy)
 
 
 
      
    
댓글남기기