이번 시간에는 웹 쉘에 대해서 알아보도록 하겠습니다.
과제 발표에 사용한 PPT 파일을 첨부합니다. 만약 지금 제가 거치고 있는 AI 스쿨 교육과정이 더 궁금하시다면 다음 링크를 통해 자세한 정보를 확인해 주세요.
https://cafe.naver.com/itscholar
본론
웹 쉘을 이해하기 위해서 먼저 쉘에 대한 설명을 하겠습니다. 쉘이란 운영체제와 커널 사이에 존재하며, 유저가 운영체제에 내린 명령을 해석하여 커널에 전달하거나 커널에서 처리한 결과물을 운영체제에 전달하는 프로그램을 말합니다.
그리고 웹 쉘이란, 웹에서 쉘을 작동할 수 있게 만든 프로그램으로 원격으로 쉘과 유사한 기능을 사용할 수 있게 만드는 공격 기법을 일컫습니다. 이는 주로 파일 업로드 취약점을 이용하여 웹 쉘 파일을 업로드, 실행하여 서버의 권한을 탈취하는 방식으로 공격이 이루어집니다.
웹 쉘 파일은 주로 PHP 스크립트를 이용하여 이루어지지만, 서버에서 지원하는 프로그래밍 언어라면 모두 사용하여 공격을 시도할 수 있으며, 공격자는 이를 이용하여 권한 상승을 하여 웹 서버를 외부에서 자유롭게 조작할 수 있습니다.
웹 쉘 공격을 이용한다면 서버 내의 데이터를 탈취하는 것은 물론이고, 웹 사이트를 악성코드에 감염시켜 방문하는 사람들을 모두 악성코드에 감염시키는 워터링홀 공격, 웹 사이트를 좀비 pc로 활용하여 DDoS 공격을 실행한다거나, 아예 웹 사이트의 내용물을 모두 오염시켜 서비스의 지속을 불가능하게 만들 수도 있습니다.
https://www.koit.co.kr/news/articleView.html?idxno=98224
http://m.boannews.com/html/detail.html?idx=70963
웹 쉘 공격은 고전적인 해킹 기법이기에 충분한 주의를 기울인다면 방어할 수 있지만, 역시나 고전적인 해킹 기법이기에 충분한 주의를 기울이지 않아 피해를 입는사례 역시 존재합니다. 웹 쉘 공격을 막기 위한 수단으로 다음 방법들을 제시할 수 있습니다.
- 웹 쉘로 감지된 파일 격리, 삭제
- 업로드 확장자를 체크하여 웹쉘파일 확장자 거부
- 업로드 된 파일의 실행 권한 제거
- 이미지 파일 내부에 삽입된 코드가 실행되지 않도록 설정
- PHP의 함수 기능을 허용하지 않도록 설정
- 운영 서버와 업로드 서버 분리
'AI 스쿨 리팩토링 보안직무 과정' 카테고리의 다른 글
35주차 과제 - 프록시 서버 (0) | 2023.10.31 |
---|---|
34주차 과제 - 웹 취약점 (4) (0) | 2023.10.27 |
32주차 과제 - 웹 취약점 (3) (0) | 2023.10.24 |
31주차 과제 - 웹 취약점 (2) (0) | 2023.10.24 |
30주차 과제 - 웹 취약점 (1) (0) | 2023.10.20 |
댓글