본문 바로가기

Web/Server Penetration6

2-1. 파일 업로드 취약점 파일 업로드(File Upload) 취약점? 게시판 등에서 스트립트 파일 업로드에 대한 규제가 없을 경우 이를 악용한 해커에 의해 악성 스크립트 파일이 수행될 수 있는 취약점 이 파일 업로드 기능을 악용하여 웹쉘 업로드가 가능해 시스템 권한 획득 또는 인접 서버에 대한 침입을 시도할 수 있는 취약점 웹 서버에서 사용하는 CGI 스크립트 확장자로 파일 업로드 및 웹 브라우저로 열람 및 실행이 가능해야 취약점이 성립함 취약점 발생 시, 정보유출, 악성코드 배포 등의 문제가 생길 수 있음 파일 업로드 취약점 실습 ① 서버의 웹 루트(/var/www/html) 에 취약한 PHP 소스코드를 업로드 책에 있는 upload.html 과 upload.php 파일을 업로드해주었다. ② 웹쉘이 저장될 디렉토리를 생성하고,.. 2022. 1. 28.
1-5. 테스트 환경 구축(APM 웹서버) 책에서는 yum 명령으로 apache, php, mysql을 한꺼번에 설치하지만 나는 각자 설치를 진행하도록 하겠다. 1. Apache 설치 ① yum 패키지 업데이트 # yum list updates && yum -y update 명령어로 업데이트하기 ② apache 설치 # yum -y install httpd 명령 ③ apache 서비스 실행 # systemctl status httpd 명령으로 상태를 확인하면 inactive 되어 있음 # systemctl start httpd 명령으로 서비스를 실행 # systemctl enable httpd.service 명령으로 재부팅 시 자동으로 서비스를 실행함 다시 # systemctl status httpd 명령으로 상태를 확인하면 active(활성화).. 2022. 1. 20.
1-4. 테스트 환경 구축(Xshell) Xshell ? 텔넷/SSH 프로토콜로 리눅스 원격 호스트에 접속할 수 있는 윈도우용 터미널 에뮬레이터이다. 국내 기업에서 개발된 프로그램으로 한글화이며 SSH 접속 시 유니코드 지원으로 한글로 설정된 리눅스에 접속 가능하다. SSH Client 툴은 오픈소스 클라이언트 툴로 가장 많이 사용되는 Putty 가 있다. Xshell은 Putty의 대체 프로그램으로 적합하다. 텔넷 이란?? 인터넷을 통해 원격 호스트 컴퓨터에 접속할 때 지원되는 인터넷 표준 프로토콜이다. SSH(Secure Shell) 이란?? 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜로 말 그대로 보안 셸이다. 에뮬레이터 란?? 한 컴퓨터의 시스템이 다른 시스템과 동일하게 작동하도록 모방하는 장치 또는 프로그램이다. 1... 2022. 1. 18.
1-3. 테스트 환경 구축 테스트 환경 버전은 다음과 같다. VMware Workstation Pro 15 CentOS 7 64bit CentOS 다운로드 사이트 http://mirror.kakao.com/centos/7.9.2009/isos/x86_64/ CentOS Mirror mirror.kakao.com 0. iso 파일 다운받기 DVD 버전은 GUI 를 제공하고, Minimal 버전은 터미널로만 제어가 가능하다. 1. VMware Workstation Pro 에서 새로운 가상 머신 추가 2. Linux의 CentOS 7 64bit 선택 3. Edit virtual machine settings 선택 4. CD/DVD 탭에서 아까 다운 받은 .iso 파일 선택 5. Power on 했을 때 첫 화면에서 엔터 6. 언어 선택.. 2022. 1. 12.
1-2. 웹 쉘이란? 웹 쉘 ? 웹과 쉘의 합성어이다. 원격에서 웹 서버의 명령을 실행할 수 있도록 작성한 웹 스크립트 파일(JSP, ASP, PHP)이다. 주로 파일 업로드 취약점에서 웹 쉘을 정상적인 파일로 위장해 웹 서버에 업로드 한 후 서버 침투에 사용된다. 웹 쉘의 기능 ? 파일 삭제, 파일 생성 및 수정, 디렉토리 탐색 등 파일 시스템 조작 기능 웹 서버의 권한으로 운영체제 명령 실행 기능 DBMS 에 접속하여 SQL 쿼리로 DB를 조작하는 기능 웹 쉘의 종류 ? 1. 일반 웹 쉘 - 일반적으로 웹쉘이라고 부르며, 웹 서버 공격에 필요한 다양한 기능이 구현되어 있다. - 대표적으로 C99 웹쉘이 있다. 2. 한줄 웹 쉘 - 코드 한 줄로 구현된 웹 쉘이다. - 공격 명령을 수행할 수 있는 명령어 1개를 단독으로 사.. 2022. 1. 12.
1-1. 서버 침투란? 서버 침투 ? 웹 해킹을 통해서 서버에 침투가 가능한 공격이다. 운영체제의 접근권한 획득 및 내부망 침투가 가능한 기법을 총칭해서 표현한 의미이다. 아래 4가지 단계별 공격 기법을 통해 서버 침투가 가능하다. 1. 웹 해킹 기법 - 웹 서비스의 취약점을 통해 운영체제 명령 실행이 가능한 공격 기법이다. - 대표적인 취약점은 파일 업로드와 OS Command Injection 이다. 2. 리버스 쉘 기법 - 대화형 운영체제의 명령 실행이 가능한 공격 기법이다. - 웹 서버의 대화형 쉘을 획득하는 기법이다. 3. 포트 포워딩 및 터널링 기법 - 방화벽 및 보안장비의 네트워크 접근 통제를 우회하여 내부의 서비스에 접속이 가능한 기법이다. 4. 웹쉘 탐지 - 리눅스 기본 명령어인 grep - 오픈소스 웹쉘 스캐.. 2022. 1. 12.