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
- 네트워크 보안을 위한 유틸리티로 , 대규모 네트워크를 고속으로 스캔할 수 있다.
- 포트 스캐닝 메커니즘 ( 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
스캐닝 조건
(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 의 존재를 거의 느낄 수 없음
토르 프락시 ㅋㅋ
'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 |