xinetd 서비스


xinetd 서비스를 이용해서 nc 서버 만들기.


1. xinetd 서비스를 설치한다.


sudo apt-get install xinetd


2. /etc/xinetd.d/서비스이름  등록


위 파일을 만들면 된다.

vi /etc/xinetd.d/서비스이름


그리고 안에 이와 같은 내용을 넣어준다.


1
2
3
4
5
6
7
8
9
10
service 서비스이름
{
          disable         = no
          flags           = REUSE
          socket_type     = stream # 사용하는 소켓의 종료 입력. stream은 tcp를 뜻함
          protocol        = tcp       
          wait            = no
          user            = root # 기본은 root로 되어있지만 이건 별로 좋지않다.
          server          = /home/sherlock/workstation/test  # 서비스할 파일 경로
}
cs


참고로 파이썬 test.py를 등록하고 싶다면 아래와같이 해야한다.


    server          = /usr/bin/python
    server_args     = /root/script.py

서비스할 파일을 쉘스크립트를 이용해서 실행하게끔해서 올려주면 경로 프로그램이 실행될 경로까지 설정해 줄 수있다.

test.sh 파일로 test를 실행한다고 할때 아래와 같이 구성할 수 있다.


    cd /home/sherlock/workstation
    ./test

이제 server로 저 쉘스크립트를 올려주면 된다.


3. 서비스를 등록했으면 이 서비스를 nc로 올려주기위해 포트를 설정(/etc/services)


포트를 설정하기위해선 /etc/services를 확인


/etc/services 가장 아래에 보면  # Local Services 가 있는데 그밑에 서비스할 프로그램과 포트를 적어주면된다. 


# Local services

서비스이름 1234/tcp


4. 접속


서비스 재실행 후 nc로 접속해보면 성공적으로 접속되는걸 확인할 수 있다.

service xinetd restart 


nc localhost 1234





참고 : 

http://s0ngsari.tistory.com/entry/nc%EC%84%9C%EB%B2%84-%EC%97%B4%EA%B8%B0-XINETD

http://aceatom.tistory.com/261

http://lily.mmu.ac.kr/lecture/08sm/Fedora2/7jang/2.htm

'Pwnable!!' 카테고리의 다른 글

gdb에서 run 실행후 입력값 주기  (0) 2018.04.23
파이썬 주소값 리틀엔디안 변환  (0) 2018.04.23
procfs_search.h 사용하기  (0) 2018.03.17
fgets과 socket에서 0x00  (0) 2018.03.08
유용한 쉘코드(원격)  (0) 2018.02.18

+ Recent posts