1.Enumeration

: Port Scan

 

 

OpenSSH 8.2p1 Ubuntu

ISC BIND 9.16.1

Vanilla Bootstrap 4.2.1 theme

 

 

 

공략 순서)

1. dig 명령어로 타깃 IP와 연관된

도메인 식별 (reverse lookup)

2. 타깃의 모든 호스트들 조회를 위한

DNS Zone transfer 작업 수행

 

 

 

1) PTR(Pointer Record) Reverse lookup

DNS PTR(Pointer Record)가 활성화되어있는 경우

입력한 IP 주소와 연결된 도메인 이름을 제공받을 수 있기 때문에

이 PTR record의 활성화 여부 확인을 위한

reverse lookup을 시도한다.

> 제공한 IP와 연결된 domain name : matrimony.off

 

 

2) Zone Transfer (DNS query type AXFR)

: Zone Transfer는 DNS 서버 간에

DNS 레코드를 전송하는 메커니즘으로

특정 서버의 DNS 정보를 다른 서버로

전달할 수 있다는 특징이 있다.

AXFR은 DNS Zone Transfer 작업을

수행하는 데 사용되는 프로토콜!

 

보통 zone transfer request에는

별도의 인증 절차가 요구되지 않아

도메인 하위 모든 리스트 목록은

누구나 조회가 가능하고

 

대상 DNS 서버 설정에 조회를 허용한

별도의 IP 설정이 되어있는 경우는

요청 불가.

 

 

> CNAME 레코드에 다른 호스트가 있다.

prod99.matrimony.off

 

둘 다 hosts 파일에 저장 후

 

둘 다 접속해 보면

 

prod99.matrimony.off

> Marital projectworlds

 

 

 

2. Exploitation

Register를 진행하면

SQL 에러가 발생하고

 

다른 정보로 다시 회원가입을 시도하면

성공!

 

 

알려진 exploit을 찾아

공격을 시도하면

 

침투 성공은 아니고

RCE를 편하게 해주는 쉘!

 

nc, bash로 리버스 쉘 생성이 안되고

ssh 키를 복사해 로그인을 시도해야 한다.

 

 

Kali

id_rsa_public 키를

타깃 사용자 /.ssh/authorized_keys로 넣어준 뒤

 

 

ssh로 로그인을 시도하면

진짜 침투 성공!

 

 

 

3. Privilege Escalation

: SUID 확인

 

: 네트워크 설정 확인

> docker

 

IP 대역을 살펴보면

 

 

docker의 IP 대역 확인이 가능하고

 

ssh로 접속해 보면

sam은 비번이 필요하나

root는 정상 접속이 가능하다.

 

 

docker.sock 접근이 가능한지 확인

 

> docker.sock 사용이 가능한 경우

새로운 컨테이너 생성이 가능하고

아무 디렉터리나 마운팅 시킬 수 있다.

 

 

: 타깃 호스트에서 docker 컨테이너 import

호스트 docker 경로에서 파이썬으로 웹 서버 오픈 후

 

 

docker에서 받아

 

 

실행 권한 주고

 

 

새 컨테이너 생성에 사용할

사용 가능한 images 확인

 

> 두 개가 존재하고 아무거나 사용해도 된다.

 

 

 

새 컨테이너를 생성 후 /root 폴더를 마운팅

(첫 번째 이미지 사용함)

 

 

정상적으로 마운팅 되었으나

서버를 장악한 상황은 아니기 때문에

 

ssh pub 키를 /mnt/.ssh에

authorized_keys로 복사 후

ssh로 로그인을 시도하면

끝!

 

728x90

+ Recent posts