원격에서 서버에 명령어를 실행할 수 있는 쉘을 획득하는 방법 2가지
- Bind Shell : 클라이언트(공격자)가 타겟 서버에 접속하여 타겟 서버의 쉘을 획득하는 방식
- Reverse Shell : 역으로 타겟 서버가 클라이언트(공격자)로 접속하여 클라이언트가 타겟 서버의 쉘을 획득하는 방식
Reverse Shell을 사용하는 이유
- 방화벽을 우회하여 쉘을 획득하기 위함
- 일반적으로 방화벽 인바운드 정책은 엄격하지만 아웃바운드 정책은 느슨하게 열려있는 경우가 많기 때문에 내부에서 외부로 접속하는 리버스 쉘 획득이 용이함
Reverse Shell 침해 사고 시나리오
- 공격자는 타겟 사이트 내부 침입에 성공한 후 웹 서버의 root계정을 탈취하기 위해 telnet brute force 공격을 수행하여 root 패스워드를 알아냄
- 이후 반복적 침입을 쉽게 하기 위해 일반 사용자 계정으로 보이는 root 권한의 계정을 생성
- 지속적으로 외부에서 웹 서버에 접근할 수 있도록 netcat 프로그램을 이용한 Reverse Shell 연결 작업을 cron table(/etc/crontab)에 등록
- 외부에서 주기적으로 리버스 쉘을 연결하여 타켓 웹 서버에 악의적인 명령을 수행
※ 참고 : 알기사 정보보안기사 실기 교재
'정보보안기사&CISSP관련 > 침해사고 분석 및 대응' 카테고리의 다른 글
[Day 79] 침해사고 대응절차 7단계 (0) | 2020.10.28 |
---|---|
[Day 76] Mirroring Mode, Inline Mode (0) | 2020.10.25 |
[Day 51] 악성코드 분류 (0) | 2020.09.30 |
[Day 50] Exploit, Shell Code (0) | 2020.09.29 |
[Day 49] DBMS - View (0) | 2020.09.28 |