일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- load of sqlinjection
- Los
- Samba
- root권한
- 내부침투
- sql
- 모의해킹
- 취약점 스캔
- 취약점분석
- SQLINJECTION
- 암호해독
- 메타스플로잇
- Metasploit
- 해킹툴
- 칼리리눅스
- web hacking
- 취약점
- 해킹도구
- Kioptrix
- 침투테스트
- 스캔
- 스캐닝
- 해킹
- Hacking
- 권한상승
- 시스템 해킹
- SQL Injection
- smb
- 포트스캔
- CTF
- Today
- Total
감자 텃밭
[모의해킹] basic pentestion 1 본문
vulnhub에서 제공하는 취약한 시스템인 basic pentestion 1을 사용하여, 침투테스트를 실습해 보았다.
수집정보
1. OpenPort : 21, 22, 80
2. ProFTPD 1.3.3c, OpenSSH 7.2p2, Apache/2.4.18 사용
3. word press 를 사용하는 웹 사이트, 리눅스 커널 4.10.0, /etc/passwd 파일 world write설정 등등
1. 정보수집 단계
공격 pc의 ip는 172.30.1.x 이므로, Netdiscover 툴을 사용하여 같은 네트워크 대역대에 존재하는
공격 타깃 pc의 ip를 조사했다.
1.32로 추정되며, Nmap을 통해 열린 포트, 운영체제 및 각종 서비스들에 대한
사전 조사를 진행했다.
위와 같이 정보들을 확인했다.
확인한 정보는 아래와 같다.
- ProFTPD 1.3.3c 버전 사용
- Open SSH 7.2p2 사용
- Apache/2.4.18 사용
- 리눅스 커널 4.x 또는 5.x 사용
- 호스트 네임으로 vtcsec를 사용
우선 각각 정보들에 대해 공개된 취약점이 존재하는지 확인해 보았다.
proftpd 같은 경우 백도어 취약점이 존재하는 거 같다. 이는 우선 skip 했다 (추후 시스템 장악 후 후속 공격으로 백도어로 추가 공격이 가능하기 때문)
username Enumeration 즉 사용자 이름을 열거하여 획득할 수 있는 듯하다
그 다치 크리티컬 하진 않기에 우선 넘어갔다.
따로 아파치에 대한 취약점은 존재하지 않으나, 80 웹 포트가 열려있으니 웹 접속을 시도해 보았다.
웹 페이지는 정상적으로 렌더링 되지만, 특정 디렉터리나 파일 및 타 경로는 몇몇 추측해 봤으나, 존재하지 않았다.
2. 취약점 스캐닝 단계
dirbuster을 통해 숨겨져 있는 경로, 디렉터리, 파일 등을 진단했다.
secret라는 경로가 존재하며, wp-x 가 존재하는 걸 보니 wordpress를 사용하는 거 같다.\
숨겨진 페이지를 찾았으며, 예상대로 wordpress로 만들어진 사이트이다.
그럼 wordpress의 취약점을 스캔해 보자,
wpscan --url 172.30.1.32 -e u
출력 결과를 살펴보면 admin이라는 계정이 존재한다.
그렇다면 계정을 알아냈으니, password를 알아내보자.
wpscan --url http://172.30.1.32/secret --usernames admin --passwords /usr/share/wordlists/metasploit/http_default_pass.txt
admin 계정을 알아냈으며, 관리자 계정으로 접근하여 해당 관리자 전용 페이지를
한번 살펴보았다.
우선 사용 중인 워드프레스 버전과 돌아가고 있는 테마등을 알아냈으며, 좀 더 살펴보았다.
위와 같이 스크립트 파일을 업로드할 수 있는 부분을 수정이 가능하다는 것을 찾아냈다.
이로써 해당 내용을 리버스쉘 코드로 변겨 후 호출하면 시스템 내부로 침투가 가능하다.
변경 후 해당 파일을 업데이트시킨 후
공격자 pc에서 서버를 열고 기다리며, 해당 피해자의 pc로 리버스 웹 쉘 경로로 접근을 시도했다.
3. 타깃 시스템 침투 후 권한 획득
접속 경로는 wordpress 디렉터리 구조를 참조하자
우선 해당 시스템에 내부로 진입하였으나
계정이 www-data 즉 일반 사용자 계정이며, dump shell이다. 즉 웹 서버 내부와의 연결은 맺었을 뿐 정상적인 쉘이 아니므로, 몇몇 명령어 사용 제한이 있다. 우선 터미널을 열어 쉘을 획득해 보자.
python -c 'import pty; pty.spawn("/bin/bash")'
관리자 권한으로 권한 상승을 하기 위해 우선
해당 시스템에 커널 취약점 및 설정 문제가 존재하는지 확인해 보자.
해당 시스템의 커널 버전을 확인해 보니 4.15.0으로 확인되었다.
4. 권한 상승 단계
우선 해당 커널 시스템 자체의 취약점이 존재하는지 확인해 보자.
유용한 공격코드가 보여 해당 모듈을 사용해 보았다.
공격자 pc에서 아파치 웹 서버를 실행시킨 후
내부침투에 성공한 타깃 pc에서
wget을 통한 파일을 받아왔다.
이 외에도 시스템 설정 미흡으로 인한
취약점이 존재하는지 확인해 보았다.
이전과 동일하게 아파치 웹 서버에 unix-privesc-check 스크립트를 저장 후 타깃 pc에서 불러왔다.,
위와 같이./etc/passwd 파일이 world write 설정이 되어있다고 한다
확인해 보았더니 정말 소유 그룹 및 소유자 외에 other에게도 일기와 쓰기 권한이 모두 주어져 있다.
그럼 해당 파일을 악의적으로 변경하여
root 계정의 패스워드를 임의의 값으로 생성 후 해당 파일에 덮어쓰기 하면 root로의 접근이 가능할 것이다.
위와 같이 해시 알고리즘, salt, 암호화된 패스워드 규칙에 맞게 생성 후 passwd 파일을 생성 및 조작 후
다시 피해자 pc에서 해당 파일을 불러와 /etc/passwd 파일에 덮어쓰면, 해당 root 계정은
임의로 조작한 패스워드인 root로 접근이 가능하다.
성공적으로 root로 로그인된 걸 확인할 수 있다.
5. 후속 공격 단계
정찰단계에서 proftpd1.3.3 c에서 백도어 공격 모듈을 확인했다.
그럼 지금 관리자계정까지 탈취한 상태이기에 여기서 백도어 리버스 쉘을 넣어도 되지만
이미 존재하는 모듈이 있기에, 한번 사용해 보았다.
익스플로잇에는 성공했지만 세션이 생성되지 않았다고 한다.
해당 코드에서 설명란을 보면
sock.put 즉 "HELP ACIDBITCHEZ"라는 문자열을 보내라고 되어있다.
그럼 희생자 서버에 21번 포트 (FTP)가 열려있으니 접속하여, 해당 명령어를 보내보자.
접속 후 해당 명령어를 치자 root로 권한상승이 된 걸 알 수 있다.
성공적으로 root권한 획득에 성공했다.
※ 내용이 이상하거나 문제가 있을 경우, 또는 설명에 부족한 내용이 있으시면 알려 주시면 감사합니다.
'Pentest > Pentest' 카테고리의 다른 글
[모의해킹] Kioptrix Level1.1 침투 테스트 (0) | 2023.10.09 |
---|---|
[모의해킹] basic pentestion 2 (smb 취약점 악용) (0) | 2023.10.04 |
[모의해킹] tomcat취약점을 통한 침투 및 root권한 획득 (2) | 2021.12.16 |
[모의해킹] Kioptrix 2014 침투 테스트 (1) | 2021.12.12 |
[모의해킹] Kioptrix Level1 침투 테스트 (1) | 2021.12.11 |