AWS Cloud School 8th/<Docker> Honeypot 구현하기

Kali linux로 PostgreSQL 공격해보기

Randy, the engineer 2025. 3. 28. 10:56

 

PostgreSQL을 모니터링 하고있는 그라파나.

이제부터 이 평화로운 PostgreSQL 마을을 공격해보겠습니다.

 

Port - Scanning

네트워크를 배우셨다면, TCP 3 way handshake에 대해서 아실겁니다.

여기서 포트 스캐닝 기법 중 SYN scanning이라는 기법을 사용하면 해커가 패킷만 보내고, 서버 측에서 응답이 돌아왔을 때 handshake를 보내지 않아 은밀하게 스캔하는 기술입니다.

근데 이걸 또 탐지하는 보안 기능이 있다고 합니다. 역시 해킹과 보안은 무적의 창과 무적의 방패 같습니다.

 

이 방식을 사용해서 포트가 열려있는지 확인해보겠습니다.

 kali linux와 postgres 컨테이너는 docker swarm으로 연결되어있기 때문에 그냥 도메인으로도 접근할 수 있습니다.

위와 같은 명령어를 입력해서 5432번 포트가 열려있음을 확인했습니다.

 

이 명령어는 특정 포트가 열려있는지 확인하는 방법인데요,

아래의 명령어를 입력하면 특정 도메인의 모든 포트를 살펴보고 제안해줍니다.

 

이렇게 5432번과 9187 tcp 포트가 열려있다는 것을 확인했습니다. 더불어서 5432포트는 postgresql을 위해 열려있다는 것도 확인했습니다.

 

Brute Force Attack

아이디와 비밀번호로 가능한 조합을 txt 파일로 만들어놓으면,

이걸 매우 빠르게 입력해서 로그인 시도를 진행하는 공격입니다.

우리는 이미 아이디와 비밀번호를 알고있으니 txt에 해당 아이디 비밀번호만 적어놓고 접속을 시도해보겠습니다.

 

 

로그인에 성공한 아이디와 비밀번호 조합을 찾았습니다.

 

 

 

postgresql을 설치해서 로그인에 성공했습니다.

이제 1000개의 데이터를 select해보겠습니다.

select * from dummy_table \\watch 0.01

 

이 명령어를 입력하면 0.01초 마다 테이블의 모든 데이터를 조회합니다.

지금 제가 가지고있는 테이블은 데이터가 1000개가 전부라 금방금방 처리하겠지만,

데이터가 몇백만개, 몇천만개가 있는 대형 기업들이 이런 공격을 허용할 경우 데이터베이스가 뻗을 가능성도 있습니다.

 

 

그라파나에서 데이터들이 발작하기 시작했습니다.

 

 

해당 명령어를 종료하자 그래프가 급락하는 것을 볼 수 있습니다.

데이터를 전부 삭제하고 마무리하겠습니다.

굿바이