■ Kioprix_Level 1.1
- [실습 환경]
- Virtual Box(Kali Linux) - 공격자
- DC-1 - 공격대상
- [공격 목표]
- root 쉘 획득
- [공격 순서]
- nmap을 이용해 공격 대상 IP 확인.
- port 스캔.
- 취약점 조사.
- 취약점을 이용해 쉘 획득.
■ 1. nmap을 이용해 공격 대상 IP 확인
nmap을 이용해 범위 내에서 포트가 열려있는 장비들을 출력해 공격 대상 IP를 확인한다.
■ 2. port 스캔.
nmap을 이용해 범위 내에서 포트가 열려있는 장비들을 출력해 공격 대상 IP를 확인한다.
result.txt 파일을 확인 해 보면 위와 같이 열려있는 port 목록을 볼 수 있다. 여기서 80번 port가 열려있다고 나와있으니 웹에서 해당 페이지를 열어보자.
■ 3. 취약점 조사.
웹을 열어 해당 IP로 들어가보니 역시 80번 port가 열려있고 위와 같은 웹 페이지를 확인할 수 있었다. Drupal을 이용해 만든 웹 사이트이다. Drupal은 wordpress와 같이 웹 페이지를 쉽게 만들어주는 엔진이다. drupal 취약점을 알아보자.
msfconsole에 들어가서 drupal 취약점을 알아봤다. 여러 취약점이 나왔는데 2번 취약점을 공격할 것이다. 바로 use 명령어로 해당 모듈을 장착하고 show options를 이용해 필요한 옵션이 뭐가 있는지 확인한다.
해당 모듈을 사용하기 위해 RHOSTS가 필요하니 set rhosts 명령어를 이용해서 공격 대상 IP를 넣어준다.
필요한 option을 모두 넣어주고 run 명령어를 이용해 실행 시키면 meterperter을 획득한 것을 볼 수 있다. 여기서 shell 명령어를 입력하면 shell을 획득할 수 있고 위와 같이 python -c ‘import pty;pty.spawn(“/bin/sh”)’ 명령어를 입력하면 쉘을 보다 더 편하게 볼 수 있다. id 를 확인 해 보면 지금은 root 권한이 아닌 일반 사용자 권한이다. 우리의 목표인 root 권한을 획득하러 가보자.
저번 공격 때 사용한 linprivchecker.py를 이용해 취약점을 찾아 볼 것이다. 공격자 PC에서 웹 서버를 열어 해당 파일을 피해자 PC에서 다운 받을 것이다.
피해자 PC에서 tmp로 이동한 다음 wget을 이용해 linprivchecker.py 파일을 가져오자.
linprivchecker.py 파일을 가져왔으면 실행시켜보자. 실행 시켜보면 취약점에 대한 정보를 확인할 수 있다.
정보를 내려서 쭉 보면 SUID/SGID로 시작하는 부분을 볼 수 있다. 이 의미는 해당 명령어를 실행할 때는 사용자라도 root 권한으로 실행 시킨다는 것이다.
■ 4. 취약점을 이용해 root 쉘 획득.
이 부분에서도 find 명령어를 이용해 공격할 것이다.
위와 같이 입력해보자. 입력하면 root 권한을 획득한 것을 볼 수 있다.