成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

追溯和如何檢測Linux上的庫注入

系統 Linux
庫注入在 Linux 上不如 Windows 上常見,但它仍然是一個問題。下來看看它們如何工作的,以及如何鑒別它們。

[[270183]]

庫注入在 Linux 上不如 Windows 上常見,但它仍然是一個問題。下來看看它們如何工作的,以及如何鑒別它們。

盡管在 Linux 系統上幾乎見不到,但庫(Linux 上的共享目標文件)注入仍是一個嚴峻的威脅。在采訪了來自 AT&T 公司 Alien 實驗室的 Jaime Blasco 后,我更加意識到了其中一些攻擊是多么的易實施。

在這篇文章中,我會介紹一種攻擊方法和它的幾種檢測手段。我也會提供一些展示攻擊細節的鏈接和一些檢測工具。首先,引入一個小小的背景信息。

共享庫漏洞

DLL 和 .so 文件都是允許代碼(有時候是數據)被不同的進程共享的共享庫文件。公用的代碼可以放進一個文件中使得每個需要它的進程可以重新使用而不是多次被重寫。這也促進了對公用代碼的管理。

Linux 進程經常使用這些共享庫。(顯示共享對象依賴的)ldd 命令可以對任何程序文件顯示其共享庫。這里有一些例子:

  1. $ ldd /bin/date
  2. linux-vdso.so.1 (0x00007ffc5f179000)
  3. libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f02bea15000)
  4. /lib64/ld-linux-x86-64.so.2 (0x00007f02bec3a000)
  5. $ ldd /bin/netstat
  6. linux-vdso.so.1 (0x00007ffcb67cd000)
  7. libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f45e5d7b000)
  8. libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f45e5b90000)
  9. libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f45e5b1c000)
  10. libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f45e5b16000)
  11. /lib64/ld-linux-x86-64.so.2 (0x00007f45e5dec000)
  12. libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f45e5af5000)

linux-vdso.so.1 (在一些系統上也許會有不同的名字)是內核自動映射到每個進程地址空間的文件。它的工作是找到并定位進程所需的其他共享庫。

對庫加載機制加以利用的一種方法是通過使用 LD_PRELOAD 環境變量。正如 Jaime Blasco 在他的研究中所解釋的那樣,“LD_PRELOAD 是在進程啟動時加載共享庫的很簡單且非常受歡迎的方法。可以將此環境變量配置到共享庫的路徑,以便在加載其他共享對象之前加載該共享庫。”

為了展示有多簡單,我創建了一個極其簡單的共享庫并且賦值給我的(之前不存在) LD_PRELOAD 環境變量。之后我使用 ldd 命令查看它對于常用 Linux 命令的影響。

  1. $ export LD_PRELOAD=/home/shs/shownum.so
  2. $ ldd /bin/date
  3. linux-vdso.so.1 (0x00007ffe005ce000)
  4. /home/shs/shownum.so (0x00007f1e6b65f000) <== 它在這里
  5. libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1e6b458000)
  6. /lib64/ld-linux-x86-64.so.2 (0x00007f1e6b682000)

注意,僅僅將新的庫賦給 LD_PRELOAD 就影響到了運行的任何程序。

通過設置 LD_PRELOAD 指定的共享庫首先被加載(緊隨 linux-vdso.so.1),這些庫可以極大程度上改變一個進程。例如,它們可以重定向系統調用到它們自己的資源,或對程序運行的行為方式進行意想不到的更改。

osquery 工具可以檢測庫注入

osquery 工具(可以在 osquery.io下載)提供了一個非常獨特的查看 Linux 系統的方式。它基本上將操作系統視作一個高性能的關系數據庫。然后,也許你會猜到,這就意味著它可以用來查詢并且生成 SQL 表,該表提供了諸如以下的詳細信息:

  • 運行中的進程
  • 加載的內核模塊
  • 打開的網絡鏈接

一個提供了進程信息的內核表叫做 process_envs。它提供了各種進程使用環境變量的詳細信息。Jaime Blasco 提供了一個相當復雜的查詢,可以使用 osquery 識別出使用 LD_PRELOAD 的進程。

注意,這個查詢是從 process_envs 表中獲取數據。攻擊 ID(T1055)參考 Mitre 對攻擊方法的解釋

  1. SELECT process_envs.pid as source_process_id, process_envs.key as environment_variable_key, process_envs.value as environment_variable_value, processes.name as source_process, processes.path as file_path, processes.cmdline as source_process_commandline, processes.cwd as current_working_directory, 'T1055' as event_attack_id, 'Process Injection' as event_attack_technique, 'Defense Evasion, Privilege Escalation' as event_attack_tactic FROM process_envs join processes USING (pid) WHERE key = 'LD_PRELOAD';

注意 LD_PRELOAD 環境變量有時是合法使用的。例如,各種安全監控工具可能會使用到它,因為開發人員需要進行故障排除、調試或性能分析。然而,它的使用仍然很少見,應當加以防范。

同樣值得注意的是 osquery 可以交互使用或是作為定期查詢的守護進程去運行。了解更多請查閱文章末尾給出的參考。

你也能夠通過查看用戶的環境設置來定位 LD_PRELOAD 的使用。如果在用戶賬戶中使用了 LD_PRELOAD,你可以使用這樣的命令來查看(假定以個人身份登錄后):

  1. $ env | grep PRELOAD
  2. LD_PRELOAD=/home/username/userlib.so

如果你之前沒有聽說過 osquery,也別太在意。它正在成為一個更受歡迎的工具。事實上就在上周,Linux 基金會宣布打造了新的 osquery 基金會以支持 osquery 社區。

總結

盡管庫注入是一個嚴重的威脅,但了解一些優秀的工具來幫助你檢測它是否存在是很有幫助的。

擴展閱讀

重要的參考和工具的鏈接:

 【編輯推薦】

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2016-11-17 12:24:09

Linux壞道

2020-11-14 11:27:00

LinuxLUNSCSI

2015-09-10 09:18:33

2010-08-28 15:28:17

2010-09-28 15:53:41

Java ME

2011-08-22 16:03:30

linuxVPS備份數據庫

2013-12-19 15:01:03

LinuxLinux進程

2013-11-06 15:35:49

LinuxLinux進程

2022-07-10 21:20:11

C語言Linux

2014-08-15 13:34:06

Linux

2009-10-09 15:20:12

2013-01-11 16:31:27

2010-07-14 10:41:58

Perl線程

2019-08-14 09:42:06

LinuxElasticsearKibana

2020-06-09 15:35:46

Linux符號鏈接

2018-08-06 09:30:00

LinuxPbcopyPbpaste

2022-09-19 08:45:52

Telnet系統Linux

2023-05-10 15:41:40

區塊鏈食品安全

2014-05-12 10:57:41

TermRecord終端會話

2020-03-20 18:19:05

UbuntuLinuxNetbeans
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品性做久久久久久 | 91精品国产91久久综合桃花 | 91麻豆精品国产91久久久更新资源速度超快 | 精品视频在线播放 | 日日草夜夜草 | 粉嫩在线 | aaa在线| 人成在线视频 | 欧美精品在线播放 | 久久午夜视频 | 中文字幕一区二区三区四区五区 | 久久99深爱久久99精品 | 99riav国产一区二区三区 | 亚洲视频在线看 | 国产亚洲精品a | a在线视频| 国产精品视频导航 | 亚洲精品乱码久久久久久按摩观 | 孕妇一级毛片 | 亚洲成人精品在线 | av影音资源 | 国产精品色 | 国产一区二区在线播放视频 | 中文字幕一区在线观看视频 | 五月天激情综合网 | 一区网站| 亚洲区一 | 国产精品久久精品 | 在线观看黄色电影 | 久久久久国产一区二区三区 | 欧洲一区二区三区 | 91精品中文字幕一区二区三区 | 91精品国产91久久久久久密臀 | 中国美女一级黄色片 | 中文字幕亚洲一区二区三区 | 天天干狠狠操 | 国产高清视频在线播放 | 久久久久久久久蜜桃 | 欧美电影免费观看高清 | 久久精品中文字幕 | 精品久久久久久久 |