정보 수집
먼저 실습 머신의 아이피를 알아내기 위해 호스트스캔을 해보자
이번 실습 머신의 아이피는 192.168.206.133 임을 알아냈다
포트 스캔을 통해 열려있는 포트와 서비스를 확인해 보자
nmap -sCV -p- 192.168.206.133
되게 많은 포트가 열려 있음을 확인할 수 있다
위의 사진을 보면 79번 포트가 열려 있는 것을 볼 수 있다
79번 포트는 finger프로토콜로써 tcp를 사용하여 유저에 대한 정보를 공유하는 데 사용되는 포트이다
우리는 해당 포트를 이용하여 다른 유저를 알아낼 수 있다
해당 포트를 사용한 유저스캔은 metasploit을 사용하여 finger_users라는 도구를 사용하면 된다
해당 도구를 사용하면 다음과 같은 화면이 출력된다
해당 기기에는 이러한 유저들이 있음을 확인할 수 있다
여기서 실제 로그인이 가능한 유저를 찾아내야 한다
로그인 가능한 유저를 알아내기 위해 먼저 nc명령어를 통해 79번 포트와 연결을 해보자
그 후 아까 얻은 사용자의 이름을 입력하게 되면 해당 유저의 정보를 확인할 수 있다.
user라는 로그인 가능한 유저가 있음을 확인할 수 있다.
nmap 결과를 통해 111번 포트가 열려 있음을 확인했었다
111번 포트는 nfs 서비스를 위한 포트로써 네트워크를 통해 파일을 공유하고 동기화하는 서비스이다
시스템에서 nfs가 적용되어 있는 파일을 확인하기 위해서는 해당 명령어를 입력하면 확인할 수 있다
showmount -e [ip주소]
/home/vulnix 파일에 nfs 서비스가 설정되어 있음을 확인할 수 있다
해당 경로의 파일을 내 pc의 파일에 동기화를 시키기 위해서는 다음 명령어를 입력하면 된다
mount 192.168.202.133:/home/vulnix [내 파일 경로]
파일 경로를 /tmp/test로 지정한 후 디렉터리 확인을 위해 들어가 보자
권한이 거부가 되어 있는 것을 확인했다
권한을 확인해 보면
nobody로 지정된 유저의 파일임을 알 수 있고 other 유저는 파일에 대한 권한이 아무것도 없음을 확인할 수 있다
exploit
아까 79번 포트에서 user라는 유저가 있음을 확인했었다
해당 유저의 이름으로 비밀번호 브루트포싱을 해보자
브루트포싱을 위해 hydra라는 툴을 사용해 주었다
hydra -l [username] -P [비밀번호 단어 리스트] [ip주소] [통신 종류]
user의 비밀번호는 letmein임을 알아냈다
ssh 접속을 해보자
성공적으로 쉘을 얻었다
Post-Exploit
먼저 /etc/passwd를 확인해 보자
아까 nfs에서 봤던 vulnix 유저를 확인할 수 있다
해당 유저의 uid가 2008임을 확인했으니 내 피시에서 uid가 2008인 유저를 만든 후 해당 파일을 확인해 보자
해당 파일에는 기본적인 파일만 있음을 확인할 수 있다
해당 계정으로 로그인하기 위해 ssh키를 만들어 접근해 보자
먼저 홈디렉터리에 .ssh라는 디렉터리를 만든 후 ssh-keygen 명령어를 사용해 ssh키를 만들어 주었다
그 후 만들어진 공개키를 authorized_keys라는 파일로 변경 후 개인키를 사용할 수 있도록 /tmp파일로 옮겨 주었다
다시 root로 돌아간 후 해당 개인키를 사용해 ssh 접속을 해보자
ssh vulnix@[ip주소] -i [개인키 이름]
vulnix 계정으로 접속을 성공적으로 하였다
해당 계정으로 접속 후 sudo -l 명령어를 입력해 보면
/etc/exports 파일에 sudoedit 명령어를 사용할 수 있다고 한다
해당 파일은 nfs 설정을 위한 파일로서 nfs를 서비스할 파일을 정할 수 있는 파일이다
해당 파일에 들어가 보자
아까 showmount를 통해 봤던 파일의 경로를 확인할 수 있다
여기에 root의 홈디렉터리를 지정한 후 아까와 동일한 방식으로 .ssh를 만들어 접속을 하게 된다면 root쉘을 획득할 수 있을 것이다
root의 홈 디렉터리를 경로로 지정해 보자
경로 설정을 한 후 머신은 재시작이 되어야 한다
해당 머신은 재시작 후 내 피시에서 해당 경로를 다시 mount 해보자
아까와 동일한 방법으로 ssh키를 만든 후 해당 개인키를 사용해 ssh로 접속을 하게 되면
root 쉘을 획득하는 데 성공하게 된다
'Hacking > Hacking Beginner Class (normaltic)' 카테고리의 다른 글
[해킹 비기너 클래스] Drill Course 4주차 정리 (Local File Inclusion) (1) | 2023.10.12 |
---|---|
[해킹 비기너 클래스] Drill Course 3주차 정리 (WordPress exploit) (0) | 2023.10.05 |
[해킹 비기너 클래스] Drill Course 2주차 정리 (2) | 2023.09.21 |
[해킹 비기너 클래스] Drill Course 1주차 Practice (0) | 2023.09.19 |
[해킹 비기너 클래스] Drill Course 1주차 정리 (1) | 2023.09.15 |