作業7 題目 : Apparmor 的阻擋是針對檔案路徑去做進行阻擋的,也就是說動用你的頭腦就可發現繞過的方法,請在開啟強制模式下並且不修改及編譯程式的情況下試著繞過看看。
解答 : 其實這題難度不高,因為 Apparmor 判斷的方式是依照路徑去做比對,也因為目前的規則沒有下任何 regex 的 wildcard 形式,所以相當容易繞過。重點在於要有權限可以修改該路徑中任一個資料夾的名稱即可,也可以透過改檔名的方式進行繞過。
mkdir anything_you_want ;
cp a.out anything_you_want/ ;
echo 1233 > anything_you_want/test.txt ;
# 因為改動了 a.out 的路徑位置,導致無法套用對應的 apparmor 規則
./anything_you_want/a.out ;
mv a.out a1.out
# 因為改成 a1.out 的檔案名稱,導致無法套用對應的 apparmor 規則
./a1.out ;