본문 바로가기
칼리리눅스와 백트랙을 활용한 모의해킹

[취약점 평가 단계] CMS 서비스 취약점 단계

by 6unoh 2015. 9. 6.

1.Joomscan

Joomscan은 SQL 인젝션, 명령 실행, XSS를 대상으로 줌라의 디렉터리 탐색과 취약점을 찾는 스캐너입니다.

주요 옵션

-x : 프록시 설정

-c : 쿠키

-g : 원하는 사용자 에이전트 사용 

-nv : 버전 핑거프린팅을 확인하지 않음

-nf : 방화벽을 확인하지 않음

-pe : poke 버전까지만 스캔하고 빠져나옴 

-ot : 텍스트 파일로 저장

-vu : 자세히 보여줌

-sp : 완료된 것을 &로 나타냄

-oh : html파일로 저장

메뉴위치

백트랙 : Vulnerability Assesment -> Web Applicant Assesment -> CMS Vulnerability Identification -> jjoomscan

칼리리눅스(1.1) : Web Applications -> Web Application Scanners -> joomscan



WPScan 

- 보안설정

- 관리자/사용자 패스워드 강화

- 각 아이디에 대한 적절한 권한 지정

- 플러그인 관리

- 설정 파일, 디렉터리 권한 설정

- wp-config.php 파일 내 auto key 강화

- 버전 정보 숨기기

- RSS Feeds 파일 버전 정보 숨기기

- Readme 파일 삭제

- 스팸 comment 차단

- 파일 변경 모니터링

백트랙 : Vulnerability Assesment -> Web Applicant Assesment -> CMS Vulnerability Identification -> wpscan

칼리리눅스(1.1) : Web Applications -> CMS Identification -> wpscan


1.8(KISEC 강의_워드프레스 취약점).txt

강의를 들으면서 필기한 내용입니다.

강의에 쓰인 ppt의 경우는 강의를 들으신 분에게 배포한것이라서 구글에서 워드프레스 설치방법, 워드프레스 취약점 분석, 워드 프레스 보안 등을 찾으시면 되겠습니다.


아래의 뉴스는 워드프레스 취약점에 대한 기사입니다.

http://www.boannews.com/media/view.asp?idx=44941


워드프레스 기본 보안 강화 방법

1. wp-include, wp-content 폴더 하위에서는 PHP 파일을 실행하지 못하도록 조정한다.

아파치 서버의 경우에는 가상호스트 마다 Directy Directive 를 이용해서 wp-include 폴더와 wp-content 하위 폴더에서 php 파일을 직접 실행하지 못하도록 조정하는 것이 좋다. (물론 다른 웹서버도 가능한 방법으로 해당 폴더 하위에서 php 파일이 직접 호출되지 않도록 하는 것이 좋다)

여기서 직접 호출이라 함은, 해당 폴더 하위에 있는 php 파일을 URL로 호출하는 경우를 말한다. (http://aaa.aaa.com/wp-content/plugins/aaaa/assets/test.php 와 같은 호출시 동작하지 않도록 방지하는 것을 말한다)

이렇게 하면, 플러그인이나 워드프레스 업로드 폴더에 PHP 파일에 취약점이 있는 경우나, 해킹을 목적으로한 PHP파일의 업로드가 되었다 하더라도 직접 실행되지 않도록하여 웹쉘 해킹을 방지할 수 있다.

* 단, 특정 플러그인의 경우에 PHP 파일을 직접 호출하는 경우가 종종있다. 이런 경우에는 해당 파일만 예외처리를 하거나 아예 해당 플러그인 사용을 포기하거나, 해당 플러그인 개발자에게 처리방법을 변경해달라고 요구하시는 것이 좋다. 개발자를 귀찮게 하는 것은 시간이 오래 걸릴수 있으니, 다른 플러그인으로 대치가 가능한지 우선 알아보는 것이 좋다.

2. 관리자 아이디를 admin 으로 지정하지 않는다.

혹시 워드프레스 관리자 아이디를 admin 으로 지정하여 사용하시는지 확인해 보시기 바란다. 만약 그렇다면, 관리자 아이디를 필히 변경하시기 바란다. 대다수의 사용자들이 admin이라는 관리자 아이디를 사용하기 때문에 무차별 대입공격을 통해서 관리자 아이디를 탈취하려는 시도가 계속된다.

관리자 아이디를 변경하는 것은 변경하는 방법을 찾아보거나, DB를 수정하여 확인 가능하다. 워드프레스 사이트내에서는 변경하는 방법을 제공하지 않고 있다.

* 이 경우에는 지속적으로 관리자 페이지에 접속시도를 하지 못하도록 플러그인을 이용해서 제한을 하거나, 웹서버에서 wp-login.php 파일을 단시간내에 반복해서 접속하지 못하도록 제한을 하는 것이 좋다. 플러그인은 iTheme Security 를 추천한다.

3. 테이블 prefix 명을 wp_ 가 아닌 다른 것으로 변경한다.

모든 공격의 기본은 기본값을 사용한다는 전제로 시작된다. 워드프레스를 최초 설치할때 테이블 prefix 를 wp_ 가 아닌 다른 것으로 변경하는 것이 좋다. 웹쉘에 공격을 당했다 하더라도 prefix가 다른 경우에는 DB까지 공격당하지 않을 수도 있다. 일부 웹쉘의 경우에는 기본 테이블명을 기반으로 쿼리로 공격을 하기도 한다. 이미 워드프레스 설치가 완료된 경우에는 변경 방법을 찾아보기 바랍니다.

4. 하위 폴더를 추가로 만들어서 사용한다.

http://aaa.aaa.com/ 로 된 사이트가 있다고 하면, http://aaa.aaa.com/wp-admin 으로 접속하는 것이 아니라, http://aaa.aaa.com/wp/wp-admin 으로 접속하도록 index.php 파일을 수정하고, 웹서버에서는 하위폴더를 임의로 만들어서 해당 폴더로 접속하도록 하고, home_url 과 site_url 을 변경하여 사용한다.

보통 카페24에서 워드프레스 자동 설치 서비스를 이용하면, 이 옵션은 선택이 가능하다. 가능하다면, /wp/wp-admin 으로 접속하도록 설치하는 옵션을 이용하는 것이 좋다.

5. 워드프레스 업그레이드를 잊지 말자.

워드프레스 업그레이드를 잊으면 안된다. 워드프레스는 버전업을 할때마다 마이너 업데이트를 지속적으로 진행하고 있다. 보안이슈도 많이 보완을 해나가고 있다. 혹시라도 아직도 3.x 버전대의 워드프레스를 사용하고 있는가? 최신 버전으로 빨리 업데이트 하기 바란다. 또한, 업그레이드가 불가능하도록 사이트를 커스터마이징했는가? 유감이지만, 업그레이드를 한 뒤에 재 작업을 하거나, 커스터마이징 내용을 포기할수 밖에 없다.

6. 테마 & 플러그인 업그레이드를 잊지 말자.

최근 발생한 레볼루션 슬라이더와 메일폼 등의 유명 플러그인의 보안취약점을 타겟으로 한 웹쉘공격이 유행중이다. 특정 테마의 경우에도 보안 이슈가 있어 각종 공격에 취약했다. 가능한 최신 버전의 테마와 플러그인을 사용하도록 노력하자. 또한, 플러그인 제작사나 테마 제작사에서 제공하는 업그레이드가 있다면 가능한 최신 버전으로 설치하여 유지하도록 해야 한다.

* 테마의 경우에는 번들로 포함된 플러그인이 있을 수 있다. 번들로 설치된 플러그인은 업그레이드 알림이 나타나지 않는다!! 레볼루션 슬라이더로 발생된 보안 문제는 번들로 설치된 레볼루션 슬라이더가 업그레이드 안된 상태로 방치되어 발생된 것이다. 보통 테마에 번들로 설치된 플러그인들은 테마 업그레이드시에 같이 업그레이드 되어 포함되어 있다. 매번 버전을 확인하여 최신 버전으로 재설치해서 유지해주어야 한다.

7. 비밀번호는 가능한 자주 길고 특수한 비밀번호로 변경하자.

비밀번호를 1111 이나 asdf1234 와 같은 것으로 사용하고 있는가? 의외로 저런 간단한 암호를 사용하는 사람들이 많다고 한다. 그런데 해킹을 하려는 공격자도 이런 것을 잘 알고 사람들이 많이 사용하는 비밀번호 패턴을 저장하여 해당 패턴을 가지고 공격을 한다. 보통 80%정도는 비밀번호 패턴으로도 뚤리는 편이라고 하니, 비밀번호에 신경을 안쓰신 분들이라면 이번 기회에 좀 더 신경을 써야 할것이다.

비밀번호를 만들기 어렵다면 비밀번호를 생성해주는 사이트의 서비스를 이용해보라. 아주 짧은 시간안에 어려운 비밀번호를 무작위로 생성해준다.

또한, 자주 변경하는 것이 좋다. 보통 최소한 1달에 1회정도는 변경해주는 것이 좋다. 비밀번호는 무작위 공격으로 공격하는 경우 경우에 따라서 특정 시간안에 공격에 성공할수도 있다. 다만 자주 비밀번호를 변경하는 경우 공격이 성공할 확률이 줄어든다.

8. 주기적으로 권한을 체크하자.

권한을 준 사용자가 있다면 주기적으로 체크를 해야 한다. 퇴사자나 사용이 중지된 사용자가 있다면, 해당 권한을 회수해야 한다. 관리가 안되는 사용자가 있다면, 해당 사용자의 계정을 통해서 공격의 빌미를 제공해줄수도 있다.

9. /wp-admin  대신 다른 주소를 사용하자.

보안 플러그인을 사용하거나, 특정 웹서버 규칙을 적용해서 wp-admin 경로를 변경할 수 있다. 가능한 wp-admin 경로를 변경해 보자. 변경이 가능하다면, wp-admin 으로 무차별적으로 암호를 대입하는 공격을 어느정도 방어할 수 있다.

10. 보안은 신경쓰는 만큼 강화할 수 있다. 보안 관련 뉴스에 귀를 기울여라.

구글 뉴스 검색에 보면, 메일링 서비스를 신청할 수 있다. 특정 키워드에 해당되는 내용을 요약해서 매일 매일 메일로 보내주는 서비스가 있다. 여기에 키워드로 “워드프레스”, “wordpress” 로 등록해놓으면, 워드프레스 관련 소식을 매일 매일 이메일로 정리해서 받을 수 있다. 이렇게 하면, 워드프레스 관련 소식을 발빠르게 접할수 있고, 보안 이슈가 있다면 가장 빠르게 확인할 수 있다. 보안 이슈가 있다면 확인하고 어떻게 조치를 할지 판단하여 적용하면 된다. 빠르게 대처한다면 큰 혼란이 없이 해당 보안 이슈를 해결할 수 있다.

댓글