Foot printing - scanning

( 네트워크 안에 있는 수집 할 때 사용 ( 서버 켜짐 , 열린 포트 확인 등 )

   

   

Scanning 의 목적

  • 서비스를 제공하는 서버를 대상으로 서비스 작동 여부와 제공하고 있는 서비스 정보를 확인
  • TCP 기반의 Protocol 질의 ( Request ) / 응답 ( Response ) 매커니즘
  • 열려 있는 Port , 제공하는 서비스 , 동작중인 데몬의 버전 , 운영체제 버전 등 다양한 정보획득이 가능
  • 일반적으로 nmap , hping , fping , sing 을 많이 사용함
  • Sweeping : 네트워크 전체에서 활성화 시스템을 찾는 일

   

Scanning 종류

  • Active Host scanning : 실제로 동작중인 호스트 탐색
  • Port scanning : 해당 네트워크가 동작할 수 있는 포트 탐색
  • Vulnerability scanning : 목표의 취약점 탐색

   

   

   

액티브 호스트 스캐닝 종류

ICMP Echo Scanning

  • 네트워크에 동작중인 호스트를 찾는 방식

TCP Ping Scanning

  • TCP로 요청을 보내 돌아오는 응답을 통해 동작중인 호스트를 찾는 방식

UDP Ping Scanning

  • UDP 로 요청을 보내 돌아오는 응답을 통해 동작중인 호스트를 찾는 방식

ARP Ping Scanning

  • ARP 로 요청을 보내 돌아오는 응답을 통해 동작중인 호스트를 찾는 방식
  • 동일 네트워크 안에서 사용 ( LAN )

   

  • Ping
    • 네트워크와 시스템이 정상적으로 동작하는지 확인하는 유틸
    • ICMP ( Internet Control Messaging Protocol ) 을 사용
  • ICMP 를 이용한 방법 4가지
    • Echo Request ( type 8 ) << >> reply ( type 0 )
    • Timestamp request ( type 13 ) << >> reply ( type 14 )
    • Information request ( type 15 ) << >> reply ( type 16 )
    • ICMP Address Mask request ( type 17 ) << >> reply ( type 18 )

   

   

   

TCP Open Scan

  • 열려 있으면 3웨이 핸드 셰이킹
  • 닫혀있으면 RST + ACK 패킷이 돌아옴

UDP Open Scan

  • 열려 있는 경우 아무런 응답이 없지만
  • 막혀 있는 경우 ICMP Unreachable 패킷이 돌아옴

   

Stealth Scan > TCP Half Open Scan

  • 포트 탐지 후 세션을 완전 성립하지 않고 3-way handshaking 을 완성시키지 않는다.
  • Port 가 열려 있으면 RST Packet 을 전송하여 연결을 종료
  • 세션 완성이 되지 않기 때문에 상대편 시스템에 로그를 남기지 않는 장점.

   

Stealth Scan > Fin, Xmas, Null Scan

: 패킷을 왕창 찍어서 보내는 것

( Xmas 스캔은 플래그를 전부 1 로 , Null 스캔은 전부 0 으로 )

  • Port 가 닫혀 있으면 RST Packet Response
  • Null : TCP Flag 를 모두 설정 안함
  • Xmas : TCP Flag 를 3개를 설정하는 경우 ( nmap 버전마다 다르니 주의할 것 )

   

열려 있는 경우 Fin , NULL , XMAS 패킷 이 응답이 없음

닫혀 있는 경우 RST 패킷이 돌아옴

   

   

NMAP

http://www.insecure.org/

  • 네트워크 보안을 위한 유틸리티로 , 대규모 네트워크를 고속으로 스캔할 수 있다.
  • 포트 스캐닝 메커니즘 ( TCP & UDP ) , os 검색 , pings
  • 놓쳣어 ㅠㅠㅠ

   

   

Open ( 열린 상태 )

  • 애플리케이션이 이 포트에 있는 TCP 혹은 UDP 패킷을 활발하게 받아 들이고 있는 상태
  • 열린 포트들을 찾아내는 것이 포트 스캐닝의 주요 목표이다.
  • 하지만 TCP 래퍼로 보호 가능하다 라는 점
  • 애플리케이션 자체의 설정에 의해 IP 대역이나 승인 패킷을 지정할 수 있다는 점을 기억하자.

Closed

  • 접근이 가능 Listening application 이 없음 ( 포트는 열려 있으나 사용하는 서비스가 없음 )

Filterd ( 필터된 상태 )

  • 패킷이 막힘 ( 방화벽에 필터링 됫음 )

   

Unfiltered ( 필터 되지 않은 상태 )

  • 필터 되지 않은 상태란 포트가 접근 가능
  • 열렸는지 닫혔는지를 NMAP 이 결정 할 수 없을 때의 결과 값이다 .
  • 방화벽 규칙 세트를 매핑 하는 ACK 스캔만이 포트를 이런 상태로 만든다.

   

Open|filterd( 열린 | 필터된 상태 )

  • 필터가 열렸는지 필터 됐는지를 결정할 수 없을 떄 포트를 이런 상태로 둔다.
  • 이런 상태는 열린 포트가 응답을 보이지 않는 스캔 타입에서 일어난다.

   

Closed | filterd ( 닫힌 | 필터된 상태 )

  • 포트가 닫혔는지 필터됬는지 판단 할 수 없을 경우 사용된다 . 이는 IP ID idle 스캔에만 사용

   

   

-sP : scan ping

  • -sP 옵션을 이용함 , ping 스캔
  • Nmap 을 가지고 전체 네트워크의 상태를 볼 수 가 있다 .
  • 일반적으로 nmap은 ICMP echo 와 TCP ACK를 각 호스트에 보내어 검색을 한다.
  • 로컬네트워크 : arp 로 처리함 , 외부 네트워크로 시도해야 ICMP / TCP 를 확인 가능

   

#nmap -sP 192.168.150.0/24 네트워크 전체

#nmap -sP 192.168.150.200 특정 호스트만 대상 스캔

#nmap -sP -PT80 200.200.200.58 ( 80번 포트를 이용해 스캔 ) ICMP 를 막아 놓은 경우 사용

   

   

   

-sT : scan TCP Connection

  • Nmap 은 Connect() system call을 이용해 목표 호스트의 지정한 port에 접속을 하고 , TCP 의 3-way handshake 를 완결 짓기 때문에 TCP 접속을 이용한 침입자는 쉽게 탐지 된다.
  • 호스트 머신의 log 기록들에 침입자에 의해 열려진 port 들이 나타날 것

   

-sS : scan syn stealth

  • SYN Stealth ( Half Open )
    • 루트 권한으로 실행되어야한다 .
  • Opened Port : SYN -> SYN/ACK
  • CLOSED Port : SYN -> RST/ACK
    • 요즘에는 서버에는 기록이 남지 않지만 서버 전의 IDS 같은 보안 장비에는 기록이 남음
    • #nmap -sS [ IP ] -p 80,81

   

   

-sF ( scan Fin )

  • FIN "-sF" 스캔은 FIN packet 을 각각의 port 로 전송
  • 닫힌 port 들을 위해 RST 를 리턴하고 , 열린 포트들은 packet 을 버린다.
  • Non-MS OS 인 경우 사용 가능
  • 요즘은 iptables 가 기본적으로 올라가 있는 상태에선 스캔이 안됨

    ( 열린 포트들은 응답이 없고 , 닫힌 포트들은 RST , ACK 를 보냄 )

   

   

-sX ( 플래그 3개를 보냄 )

-sN ( 플래그 NULL 보냄 )

   

   

-sU ( UDP 스캐용 옵션 )

   

   

   

응용

   

  • #Nmap 192.168.1.100-150 : 연속 되어 있는 여러 개의 호스트를 검색할 때는 대쉬 ( - ) 를 사용하면 된다. 즉, 100~150 RKwl 스캔
  • #nmap [ IP ] , [ IP ] : 연속되지 않은 여러 개의 호스트 검색시에는 콤마 ( , ) 를 이용
  • #nmap -p 1-30,110,62000- [ IP ] : IP 의 1~30번 , 110번, 62000 이상의 포트 스캔
  • #nmap -O [ IP ] : 해당 호스트의 포트스캔과 운영체제를 보여준다 .
  • #Nmap -sR -p 1-40000 [ IP ] : 해당 호스트의 1~40000 포트에서 RPC 포트를 찾아 보여 줌
  • #nmap -sU -PT [ IP ] : IP 네트워크 대역의 호스트들을 UDP 패킷을 보내어 응답을 기다리고 열려진 UDP 포트를 보여준다 .

   

   

   

   

   

   

   

   

Fping -g [ 네트워크 전체 주소/prefix ]

   

   

   

   

   

IDLE Scanning

  • TCP Scanning 의 일종
  • IDLE Host ( Zombie pc) 를 사용하여 스캐닝 한다는 것이 기존의 방법과 다름
  • 공격자의 흔적이 남지 않고 정확도가 비교적 높고 , 좀비 os가 윈도우즈 여야 한다 .

   

스캐닝 조건

  1. IDLE HOST 가 윈도우 운영체제 사용하지 않는 상태 이어야 함
  2. IDLE HOST 의 일반적 패턴을 떠서 본다 .
  3. 공격자가 IDLE HOST 에 요청을 보낸다 ( ID 값 모니터링 ( IDENTIFICATION )
  4. 윈도우는 포트가 닫혀있건 열려있건 RST 를 보낸다 ( NONE 이니까 받아서 RST, ACK 응답 )
  5. IDLE HOST 가 RST 를 보내는데 ID 값을 100번대로 받고 , 계속 공격자가 ID 값을 확인하기 위해 지속적으로 요청을 보낸다 ( EX : ID 값이 100, 101, 102 일 경우 )

   

  • www.hping.org
  • TCP/IP packet generator
    • Header 값을 옵션을 통해 지정/변경 가능한 네트워크 보안 테스트 툴
    • Port scanning , hide pinging, firewall rule test 등 네트워크 성능과 보안성을 검증

   

(xp 가 rst 패킷을 보낼 때 마다 identification 이 증가 )

  

   

#ifconfig eth0 promisc

   

   

#hping3 -r 200.200.200.60( 대타 주소 )

   

#hping3 -p 80 -S -a 200.200.200.xp 200.200.200.CentOS

( XP 인척 하면서 CentOS 로 보내라 )

   

열린 포트로 핑을 보내다 보니 Idtification 값이 +2 씩 증가 .

닫힌 포트일 경우 변화 없음 .

   

   

   

   

Nmap 에서 옵션 찾아서 idle scanning 해볼 것

   

Nmap -sI [ 속일주소 ] [ 목표주소 ]

   

   

   

Banner grabbing

: telnet 이나 FTP 같은 서비스에 연결하여 로그인 수행시 안내문을 이용하여 정보 수집

Telnet [ IP ] [ 포트 ]

   

   

   

Telnet 200.200.200.58 80

GET / HTTP/1.1

( 엔터 두번 )

   

   

   

   

Nc [ IP ] [ 포트 ]

( NetCat )

   

   

   

   

   

Proxy Server

  • 네트워크 상에서 컴퓨터와 컴퓨터의 중재 역할을 수행하는 서버
  • 사용자로부터 웹 페이지 전송요청 등과 같은 인터넷 서비스 요청을 처리함
  • 사용자 입장에서는 Proxy Server 의 존재를 거의 느낄 수 없음

   

   

토르 프락시 ㅋㅋ

https://www.torproject.org/

   

   

 

'Hacking > Basic' 카테고리의 다른 글

Burp suite 사용법 (펌)  (0) 2015.11.18
TCP 제어 플래그  (0) 2015.11.18
Footprinting  (0) 2015.11.18
APT 공격  (0) 2015.11.18
Hacking Basic  (0) 2015.11.18

+ Recent posts