2017년 12월 13일 수요일

NC(NetCat) 이란 ?

NC(NetCat)

 - Network Connection 에서 raw-data read,write를 할수 있는 유틸리티 프로그램
   - GPL 라이센스를 따른 유틸리티 프로그램
 - 일반 적으로 UNIX의 cat과 비슷한 사용법을 가지고 있다.
 - cat이 파일에 쓰거나 읽듯이 NC는 Network Connection에 읽거나 쓴다.
 - 직접 또는 다른 프로그램과 스크립트에 의해 직접 또는 간단한 조작에 의해 구동을 쉽게 할수 있도록 Back-end 형식으로 설계됬다.
 - 스크립트와 병용하여 network에 대한 debugging , testing tool 로써 편리성이 보장
 - 반면 해킹에도 이용범위가 매우 넓다.
   - 포트 스캐닝 , 포트 리스닝 , 파일 전송 , 백도어 등등

 * raw data - 가공되지 않은/원 데이터(정보)
 * low activity data processing - 저활동 처리 데이터 , 아주 큰 주 파일에 대해 제한된 수의 입력 거래만 처리하는 것
 * 유틸리티 소프트웨어 (Utility software)는 컴퓨터 소프트웨어의 하나로 컴퓨터의 동작에 필수적이지는 않지만 컴퓨터를 이용하는 주 목적에 대한 부차적인 일부 특정 작업을 수행하는 소프트웨어를 두루 가르킨다.

     - Back-end

NC Download

Winodws(1.11 ~ 1.12) ::: https://eternallybored.org/misc/netcat/
*nix(1.10) ::: http://nc110.sourceforge.net/



Telnet vs NC

서버쪽 포트가 열려 있는지 확인 할때 Telnet을 많이들 이용했지만 근래에는 NC를 사용시 더 편리하게 더 빠르게 확인이 가능하다.
- Telnet으로 포트 오픈여부를 확인 하기 위해서는 "telnet host-ip port" 명령어로 접속 하는 방법으로 입력 하여 포트 개방 여부를 확인 할수 있다.


 - NC를 이용 할시 multi-port connection & port scanning이 가능하다.

NC option

 - Back Track5_r8에 설치되어 있는 nc v1.10-38 option 모음집

[v1.10]
어느 곳에 접속할때:   nc [-옵션] hostname port[s] [ports] ...
접속을 기다릴때: nc -l -p port [-options] [hostname] [port]
options:
       -c shell commands  '-e'와 같이 사용한다 ; /bin/sh에 나열된 것을 사용합니다? [ 위험 ]
       -e prog              프로그램 접속후 프로그램을 실행한다. [ 위험 ]
       -b              broadcasts 를 허용합니다
       -g gateway              source-routing hop point[s], up to 8
       -G num                   source-routing pointer: 4, 8, 12, ...
       -h                      도움말
       -i secs              라인을 보낼 때 마다 secs 만큼 쉰다. 스캔할때 사용
-k 소켓에 유지할 옵션 설정
       -l                      listen 모드 , 들어오는 패킷에 반응한다.
       -n                      DNS를 이용하지 않고 IP 주소를 사용한다.
       -o file              내용을 file에 기록한다.
       -p port              로컬 포트 번호
       -r                       컴퓨터가 마음대로 포트를 지정한다.
-q secs 데이터를 더이상 읽어 들일수 없을때 secs 만큼 지연된 후에 종료
       -s addr              local source address
       -T tos               서비스의 종류롤 설정
       -t               TELNET에 응답합니다(?)
       -u                       UDP 모드
       -v                       출력을 자세하게 한다.
       -w secs              마지막으로 읽은 다음 secs 후에 종료한다.
       -z                       아무 데이터도 안 보낸다. scan 때 사용
포트는 하나하나 지정하거나 범위를 쓸 수 있습니다. 낮은 포트-높은 포트


  - listen mod
1234 Port를 Listen mod로 개방
WindowXP 에서 telnet Backtrack-IP 1234(port) 접속

WindowXP 에서 Backtrack에 telnet이 성공한 모습
telnet에서 Hello NetCat을 입력 후 BackTrack 화면
  - named pipe를 통한 쉘 명령 실행
        - Server 
cat 명령어 사용 | /bin/bash 명령어 사용 | nc listen mod > /tmp/f
        - Clinet
Clt 측에서 nc로 접속 이후 text를 입력 한 이후 ctl+c 를 눌러 취소
       - Server
server 측에서 /tmp/f 의 글을 확인시 나오는 화면


댓글 없음:

댓글 쓰기