當前位置:
首頁 > 新聞 > 偽裝在系統PAM配置文件中的同形異義字後門

偽裝在系統PAM配置文件中的同形異義字後門

* 原創作者:fnpimr43017,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


0x00. 前言


受到FreeBuf早前相關同形異體字攻擊文章的啟發,故有此文。


目前主流的Linux發行版本都支持Unicode,這也給了利用同形異義字迷惑系統管理員的後門有了可乘之機。 本文通過案例描繪此類漏洞是如何實現的。


0x01. 同形異義字後門案例


我們看一下 ssh 的 pam 認證模塊



注意第一行

@ include common-auth


我們再看一下

common-auth



注意紅框圈的那一行

auth [success=1 default=ignore] pam_unix.so nullok_secure

pam_unix.so

是用於校驗用戶的的賬戶和密碼是否正確,如果賬號密碼正確,則直接返回,不執行下一行,否則執行下一行。

auth requisite pam_de?y.so

關於

requisite

的含義解釋如下:



因為

pam_deny.so

模塊會返回失敗, 加上這行的控制標記是requisite,所以系統會直接拒絕用戶登錄。


我們知道與

pam_deny.so

模塊對應的就是

pam_permit.so

, 如果我們能把

auth requisite pam_de?y.so

更改為

auth requisite pam_permit.so

則任意密碼都可以登錄成功,但這裡也有個問題


pam_permit.so 很容易被管理員發現啊,畢竟pam_permit.so 和pam_deny.so 看起來就不一樣嘛


所以這裡要用到本文所述Unicode 的同形異義字來將pam_permit.so 偽裝起來,使其看起來像pam_deny.so


1、先把 pam_deny.so 備份



2、然後利用 Unicode 同形異義字 將 pam_permit.so 偽裝成 pam_deny.so

root@kali:~# cp /lib/x86_64-linux-gnu/security/pam_permit.so /lib/x86_64-linux-gnu/security/pam_de$"u578"y.so

偽裝後的 pam_de?y.so , 紅圈所示, 不留心仔細觀察,很難分辨真偽


3、然後修改 /etc/pam.d/common-auth 中的 pam_deny.so 為 偽裝的pam_de?y.so

root@kali:~# perl -i -pe"s/deny/dex{578}y/" /etc/pam.d/common-auth


查看一下修改後的common_auth (紅框所示)



不仔細觀察,不好辨真偽


4、修改後,登錄測試,看看能否可以實現任意密碼登錄


隨便輸入密碼


點擊『確定』



成功登錄


我們看一下登錄日誌 ( /var/log/auth.log )



我們可以看出,雖然 pam_unix.so 認證失敗,但是 最終還是登錄成功(因為偽裝的 pam_de?y.so 起了作用)


0x02. 總結


雖然偽裝的 pam_de?y.so 和真正的 pam_deny.so 看起來一樣,但實際上是不同的兩個文件,要區分它也很簡單, 總結以下方法:



1、直接使用 file 或者 locate 命令查看 pam_deny.so 是否存在



2、系統安裝後給所有的文件做 hash, 然後對比 hash


3、查看登錄日誌 (比如 /var/log/auth.log )


如果發現 pam_unix 認證失敗,仍能登錄成功,則必須警惕 pam_deny.so 是否已經被調包


4、如果發現任意密碼均可登錄,則要警惕 pam_deny.so 是否已經被調包

* 原創作者:fnpimr43017,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

有關Petya勒索軟體,你想知道的都在這裡
我是如何輕鬆拿到Google $1337現金獎勵的
各國被黑客泄露的信息都是真的嗎?揭秘真相森林中的重重謊言

TAG:FreeBuf |

您可能感興趣

CSV配置文件的優化策略
LAMP建站時配置文件寫法實例
SSM框架整合裡面的一些配置文件
什麼是LOG調色法?如何使用ACR插件配置文件完成一鍵調色?
MySQL-默認配置文件
C 配置文件存儲 各種序列化演算法性能比較
Linux 中網路相關的那些配置文件
MyBatis配置文件詳解
快速自定義Cordova插件(-配置文件)
有黑客試圖將Windows 10 設置應用的配置文件武器化
Mybatis配置文件
配置文件|logstash配置文件詳解
華為P30系列機型配置文件曝光 屏幕解析度確定
技術分享:屬性配置文件詳解
華為P30系列用戶代理配置文件被曝光?
Creo/Preo軟體自學第二篇:部分配置文件在config中路徑的設置
運維之路-完整的ELK搭建全過程和配置文件
Jenkins配置文件路徑改動導致管理員許可權開放漏洞
SpringMVC工程的web.xml以及其他配置文件
意法半導體推出新一代智能物品安全晶元,配備歐洲市政設施認證保護配置文件