Akashic Records

포트 스캐닝 감시 및 OS 정보 숨기기 본문

Operation System Controls

포트 스캐닝 감시 및 OS 정보 숨기기

Andrew's Akashic Records 2018. 4. 17. 15:55
728x90

nmap은 열린 포트를 확인하여 보안 점검을 위한 대표적인 툴이면서 원치 않는 서버를 대상으로 포트 스캐닝과 시스템의 OS 종류와 버전을 알아내는데 사용되기도 한다.

# nmap -A -T4 -F localhost


Starting nmap 3.45 ( http://www.insecure.org/nmap/ ) at 2003-09-16 22:45 KST

Interesting ports on truefeel (127.0.0.1):

(The 1203 ports scanned but not shown below are in state: closed)

PORT   STATE SERVICE  VERSION

21/tcp  open ftp    vsFTPd 1.2.0

25/tcp  open smtp    Sendmail smtpd Securing..214-2.0.0 This is sendmail version 8.12.

80/tcp  open http    Apache httpd 2.0.44 ((Unix) DAV/2 PHP/4.3.2)

... 중략 ...

Running: Linux 2.4.X|2.5.X

OS details: Linux Kernel 2.4.0 - 2.5.20, Linux kernel 2.4.20

Uptime 0.505 days (since Tue Sep 16 10:38:25 2003)


Nmap run completed -- 1 IP address (1 host up) scanned in 16.859 seconds


위에서 보는 것처럼 nmap의 뛰어난 기능으로 어느 OS를 사용하는지 쉽게 알 수 있다. 이러한nmap의 OS를 알아내는 기능은 7단계(T1~T7)를 거치게 된다. T1 단계에서 열린 포트로 SYN 패킷을 보내고, T2에서 열린 포트로 null 패킷 전송, T3에서 열린 포트로 SYN, FIN, URG, PSH 패킷을 전송 T5 부터는 닫혀진 포트로 비슷한 과정을 거치게 된다.

iplog 툴

iplog는 포트 스캐닝을 로깅하는 툴이다. TCP 포트, UDP 포트 스캐닝, TCP null 스캔, FIN 스캔, smurf 공격, Xmas 스캔, ping 플러딩, IP fragment 공격 등을 감지할 수 있다. procmisc 모드를 지원하여 같은 서브넷으로 들어오는 스캐닝을 감지할 수 있다. 또한 OS 정보를 숨기기한 목적으로도 사용할 수 있다.

1) 설치

http://ojnk.sourceforge.net/ 에서 iplog-2.2.3.tar.gz 을 받아온다.

# tar xvfz iplog-2.2.3.tar.gz

# cd iplog-2.2.3

# ./configure

# make

# make install

# cp example-iplog.conf /etc/iplog.conf


iplog.conf에서 다음 2가지를 수정한다.

user nobody          # default는 iplog 사용자로 실행함

pid-file /var/run/iplog.pid     # default는 /var/run/iplog/iplog.pid 임


2) 실행

iplog -o -z -i lo (테스트를 위해 lo interface를 지정함)

-o : 백그라운드로 실행하지 않는다. (기본 백그라운드)

-z : 이게 바로 핵심이다. nmap로 OS 정보 알아내는 것을 막는다.

-L : log를 화면으로 출력한다.

-i : interface를 지정한다. (기본 eth0)

-u : iplog 실행 사용자 또는 UID를 지정한다. (기본 nobody)

-g : iplog 실행 그룹명 또는 GID를 지정한다. (기본 nobody)

-l : 로그파일을 지정한다. (기본 /var/log/iplog)

-a : promisc 모드로 전환하여 지정한 네트워크 내의 스캐닝을 로깅한다. (예. -a 192.168.123.0/24)

-k : iplog 프로세스를 kill한다. 백그라운드, 포그라운드 실행중인 것과 상관없이 kill.

-R : iplog를 재실행한다.

3) nmap 실행

# nmap -sS -O localhost

Starting nmap 3.45 ( http://www.insecure.org/nmap/ ) at 2003-10-29 23:37 KST

Insufficient responses for TCP sequencing (2), OS detection may be less accurate

Insufficient responses for TCP sequencing (3), OS detection may be less accurate

Interesting ports on truefeel (127.0.0.1):

(The 1651 ports scanned but not shown below are in state: closed)

PORT STATE SERVICE

25/tcp open smtp

80/tcp open http

... 중략 ...

No exact OS matches for host (If you know what OS is running on it, see

http://www.insecure.org/cgi-bin/nmap-submit.cgi ).

TCP/IP fingerprint:

SInfo(V=3.45%P=i686-pc-linux-gnu%D=10/29%Time=3F9FD0B9%O=25%C=1)

T1(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)

T2(Resp=Y%DF=Y%W=100%ACK=O%Flags=BAPRSF%Ops=)

T2(Resp=Y%DF=N%W=0%ACK=O%Flags=BARS%Ops=)

T2(Resp=Y%DF=Y%W=100%ACK=O%Flags=BPRF%Ops=)

T3(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)

T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)

T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)

T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)

T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)

PU(Resp=N)


Uptime 0.303 days (since Wed Oct 29 16:21:04 2003)


Nmap run completed -- 1 IP address (1 host up) scanned in 21.301 seconds


nmap은 T1~T7까지 OS 탐지 테스트 과정을 거쳤지만 OS 종류는 알아내지 못했음을 확인했다.그럼 도대체 스캐닝 로그는 어디에 있는건가? /etc/iplog.conf 설정에 따라 /var/log/iplog에 저장된다.

Oct 29 23:37:09 ICMP: echo from truefeel (127.0.0.1) (8 bytes)

Oct 29 23:37:09 TCP: port 5901 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 516 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 657 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 32 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 2044 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 737 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: pop2 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 872 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: port 670 connection attempt from truefeel (127.0.0.1):49574

Oct 29 23:37:09 TCP: SYN scan detected [ports 5901,516,657,32,2044,737,109,872,670,374,...] from

truefeel (127.0.0.1) [port 49574]

Oct 29 23:37:12 TCP: Bogus TCP flags set by truefeel (127.0.0.1):49581 (dest port 25)

Oct 29 23:37:14 TCP: ipp connection attempt from truefeel (127.0.0.1):40509

... 생략 ...


728x90

'Operation System Controls' 카테고리의 다른 글

Chapter 3 Unix System 보안  (0) 2018.04.17
Chapter 2 Unix 사용자 계정 관리  (0) 2018.04.17
Chapter 1 Unix System 시작과 종료  (0) 2018.04.17
파일 핸들링  (0) 2018.04.17
파일 압축 명령어  (0) 2018.04.17
Comments