본문 바로가기

보안/칼리 리눅스

웹쉘 툴 weevely

https://www.kali.org/tools/weevely/

 

weevely | Kali Linux Tools

weevely Usage Example Generate a PHP backdoor (generate) protected with the given password (s3cr3t). root@kali:~# weevely generate s3cr3t [generate.php] Backdoor file 'weevely.php' created with password 's3cr3t' root@kali:~# weevely http://192.168.1.202/we

www.kali.org

칼리 리눅스에 기본적으로 내장되어 있는 툴인 weevely는

웹쉘 해킹을 유용하게 이용할수 있도록 하는 툴이다.

weevely 장점

[그림1] 생성된 웹쉘 파일 소스

weevely로 생성한 웹쉘 파일의 소스를 확인하면 자체적으로 인코딩을 시켜놓은 것을 확인 할 수 있다

이렇게 되면 탐지시스템을 우회를 할수도 있다

[그림2] weevely 사용중 패킷

weevely를 사용중에 패킷을 확인 해보면 명령을 내리는 패킷 또한 인코딩이 된 상태로 명령을 내리는 것을 확인 할수 있다.

 

환경 설정

bwapp 을 통하여 실습을 진행한다

[그림3] Unrestricted File upload

Unrestricted File Upload을 선택을 해서 파일업로드 취약점 실습환경에 접속 한다.

실습

[그림4] weevely를 통한 웹쉘 생성

weevely 툴을 이용해서 웹쉘을 생성 할 것이다

generate 라는 옵션을 통해 웹쉘을 생성 옵션을 이용하고

비밀번호 , 생성위치 및 생성파일 이름 순서대로 입력을 하면 된다.

[그림5] 생성한 파일 실습환경에 업로드

생성한 파일을 실습 환경에 업로드를 하고 업로드가 성공이 되었다면 'The image has been uploaded here' 라는 문구를 확인 할수 있다.

[그림6] 업로드 한 웹쉘 확인

업로드 완료된 웹쉘에 들어가면 화면에는 아무것도 안뜬다

대신 URL을 통해 웹쉘이 업로드 된 경로를 확인한다.

[그림 7] 웹쉘에 접속

weevely 툴을 통해 세션에 접속을 시도한다

절대 경로 , 비밀번호 순서로  입력을 하면 된다

[그림7]에 아래에서 2번쨰 문구에 의하면 파일시스템에 접속하거나 명령어를 실행하면 그때 세션이 연결된다

명령어들은 help  명령어를 통해 명령어들을 확인할 수 있다.

[그림8] audit_etcpasswd 명령어 실행

audit_etcpasswd를 통해 /etc/passwd 파일을 확인할수 있다.

 

 

더 많고 편리한 작업을 위해서 리버스 커넥션(reverse connection)을 할 것이다.

[그림9] 포트 열어두기

nc 툴을 이용하여 공격자의 포트를 열어둔다

[그림10]back_reversetcp 명령어

backdoor_reversetcp 명령어를 통해 ip와 포트 입력으로 공격자에게 연결을 유도한다.

[그림11] 연결 성공

리버스 커넥션 연결에 성공하였다.

반응형