반응형
Reverse Shell
=> 공격대상 서버가 공격자 서버에 접속하도록 하여 얻는 쉘.
Reverse shell cheat sheet
https://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet
왜 리버스 쉘이어야 하는가?
리버스쉘이 매력적인 이유는 공격자의 서버에서 쉘을 생성하지만, 그 명령역시 공격자가 내린다는 것 이다.
리버스 쉘을 사용하는 가장 큰 이유이기도 하다.
인바운드 규칙이 엄격한 서버여도 아웃바운드에 대한 규칙은 보다 느슨한 경우가 있다.
또한 공격대상 서버에서 리스닝 중인 포트가 없을경우, 공격자가 직접 공격대상 서버의 포트를 여는것은 매우 어렵기 때문이다.
이때, 어떤식으로든 공격대상 서버에 명령을 내릴 수 있다면, (nc, python, ---) 리버스 쉘 공격에 성공 할 수 있는 것이다.
Nc(netcat) 이용해서 실습해보기
실제 구동중인 내 웹 서버와 내 로컬 서버를 대상으로 리버스 쉘 실습을 진행해 보겠다.
!주의할점
- 공격자 서버의 포트가 리스닝 상태여야 한다.
- 공격 대상 서버의 nc의 -e옵션이 활성화 되어 있어야 한다.
좌: 공격자 서버 , 우: 공격 대상 서버
공격자 서버에서의 명령으로 공격대상 서버를 제어할 수 있다.
-e 옵션이 활성화 되어있지 않은경우 (nc: invalid option -- 'e')
$ sudo apt-get install netcat-traditional $ sudo update-alternatives --config nc
2번 selection (/bin/nc.traditional) 을 선택한다.
반응형
'Linux, Ubuntu' 카테고리의 다른 글
E: Sub-process /usr/bin/dpkg returned an error code (1) 에러해결 (1) | 2023.11.03 |
---|---|
[Ubuntu] 우분투에서 Node.js 사용하기 (2) | 2023.07.21 |
우분투 서버 새로 시작했을때, 웹 서버 초기설정, 각종 명령어 정리 (0) | 2023.05.03 |
[Linux] 환경변수/파일 시스템 경로 (0) | 2022.10.06 |