역방향 셸 접근 도구 netcat

2103 단어 공구 상자
문제.
실제 개발 프로젝트 에서 원형 제품 은 시장, 실제 배치 에 사용 되 기 전에 실제 환경 에서 시험 적 인 운행 을 하여 테스트 와 개선 을 해 야 한다.
그러나 배치 테스트 의 실제 환경 은 사무실 과 일정한 거리 가 있 고 심지어 다른 도시 에서 도 발생 할 수 있다.응용 프로그램 이상 후자 가 끊 었 을 때 장치 의 실제 상황 을 탐색 할 방법 이 없다.
사무실 에 있 으 면 랜 ssh 를 기반 으로 로그 인 할 수 있 고 디 버 깅 직렬 로 로그 인 할 수 있 습 니 다.장치 가 원 격 이기 때문에 ssh 를 통 해 직접 로그 인 할 수 없습니다.
기본 개념
우리 가 위 에서 말 한 '로그 인' 은 모두 리 눅 스 의 셸 로그 인 시스템 을 말한다.그럼 다음 에 소개 할 역방향 셸 은 리 눅 스 셸 을 기반 으로 한 기술 입 니 다.이 개념 과 비슷 한 bid 셸 개념 을 소개 한다.
Bind Shell
bid 셸 은 사용자 가 bash 로 셸 을 로 컬 포트 에 연결 하면 외부 시스템 이 네트워크 를 기반 으로 셸 명령 을 보 낼 수 있 습 니 다.자신 은 서버 로 서 명령 을 받 고 있 습 니 다.그러나 이것 은 외부 시스템 이 이 시스템 에 접근 하 는 네트워크 지원 이 있어 야 하기 때문에 일반적으로 같은 랜 안에 있 습 니 다.
Reverse Shell
역방향 셸 은 자신 을 클 라 이언 트 로 특정한 원 격 시스템 에 자신의 셸 을 보 내 는 것 이다.밑바닥 에서 도 네트워크 를 통 해 셸 명령 을 받 고 실행 하지만 이러한 '역방향' 방식 은 서로 다른 네트워크 환경 에 적용 된다.네트워크 통신 의 발기인 으로서 로 컬 터미널 장 치 는 원 격 서버 에 주동 적 으로 연결 하여 서버 를 로그 인하 여 셸 명령 을 실행 할 수 있 습 니 다.
해결 방법
netcat 컴 파일
원본 다운로드:https://sourceforge.net/projects/netcat/
x86 플랫폼 의 컴 파일 에 사용
./configure --prefix=/home/jack/others/netcat-0.7.1/netcat
make
make install

ARM 플랫폼 의 컴 파일 에 사용 (OMAPL 138 의 경우)
source /home/jack/omapl138/ti/mcsdk_1_01_00_02/linux-devkit/environment-setup
./configure --prefix=/home/jack/others/netcat-0.7.1/netcat --host=arm-arago-linux-gnueabi
make
make install

생 성 된 파일 은 현재 디 렉 터 리 아래 netcat 에 있 습 니 다.
netcat 사용
먼저 서버 에서 감청 을 시작 합 니 다.
nc -l -p 8089 -vvv

8089 포트 번 호 는 사용 되 지 않 은 것 을 임의로 지정 할 수 있 습 니 다.
장치 끝 에 역방향 셸 을 시작 합 니 다.
./netcat/bin/netcat -e /bin/sh 192.168.1.60 8089

IP 는 서버 IP 이 고 포트 번 호 는 서버 감청 과 일치 합 니 다.여기 IP 는 서버 의 네트워크 IP 입 니 다.
서버 에서 셸 명령 을 실행 할 수 있 습 니 다.
비동기 역방향 셸 시작
프로젝트 실천 에서 우 리 는 MQTT 를 사 용 했 고 클 라 이언 트 와 서버 가 연결 을 유지 했다.그 다음 에 우 리 는 모든 장치 에 해당 하 는 역방향 셸 테 마 를 구독 하 게 합 니 다. 서버 는 필요 할 때 특정한 장치 에 해당 하 는 테 마 를 보 내 netcat 역방향 셸 연결 을 시작 할 수 있 습 니 다.물론 서 비 스 는 netcat 감청 포트 를 미리 시작 해 야 합 니 다.
이렇게 하면 이 장치 에 로그 인 한 셈 이 고 필요 한 디 버 깅 작업 을 할 수 있다.

좋은 웹페이지 즐겨찾기