Linux提权之Sudo 70种提权方法(下)

转载自己的个人网站:https://www.huangmj.com/

目录​​​​​​​

47. sudo pico

48. sudo pkexec

49. sudo python3

50. sudo rvim

51. sudo scp

52. sudo screen

53. sudo script

54. sudo sed

55. sudo service

56. sudo socat

57. sudo ssh

58. sudo ssh-keygen

59. sudo strace

60. sudo systemctl

61. sudo tcpdump

62. sudo tee

63. sudo timedatectl

64. sudo tmux

65. sudo vi

66. sudo wall

67. sudo watch

68. sudo wget

69. sudo zip

70. sudo xxd


47. sudo pico

条件:
pico和nano很相似,所以提权方式也很相似,但它两却是不同的编辑器,从功能上和使用场景上有那么一点差别
 


利用流程:
 


Ctrl+r 读取文件
 


Ctrl+x 执行命令
 


reset 将环境重置,确保是一个干净的环节
; 并列执行的命令
1>&0 2>&0 对输入输出做一个规划,错误输出也要重定向
 


获得一个提权后的shell环境

48. sudo pkexec

条件:
pk 是Policykit 策略套件,是一种服务,用于管理系统范围内的策略,并允许非特权进程通信,以进行特权操作
exec 遇到过很多,都指的是执行的意思
pkexec 执行权限操作的一个命令,能够执行用户指定的程序
 


利用流程:
pkexec 直接指定我们所需要的提权语句

49. sudo python3

条件:
 


利用流程:
-c 可以直接在命令行中调用python代码,使用os库执行系统命令

50. sudo rvim

条件:
rvim 是vim编辑器的特定版本,r=restricted 限制的意思,相比于vim,rvim限制了一些命令,防止执行对系统有危害的命令
 


利用流程:
-c 让rvim在启动后执行指定的命令或vim脚本
: 告诉rvim执行系统命令,这里我们用python写一个提权脚本
 

看到命令提示符中有#号,提权成功

51. sudo scp

条件:
scp=secure copy 用于在Linux下远程文件复制,用于ssh安全远程文件复制的工具
 


利用流程:
-S 指定ssh程序,我们可以指定提权逻辑
x y: 因为我们是要提权,就随便指定本地文件和远程文件

52. sudo screen

条件:
screen 终端复用工具,和tmux很相似
 


利用流程:
启动screen会话
 


按空格或回车键结束
 


看到命令提示符中有#号,提权成功

53. sudo script

条件:
script 本来就是启动新的shell会话,记录shell所有的命令记录
 


利用流程:
单纯从提权角度,直接执行script命令就行,但从渗透测试来说,我们不希望它记录我们的提权过程的命令让蓝队获取,同时还会显示头和尾,所以要做一些调整
 


-q 把刚刚的头和尾给静默掉
/dev/null 同时把script操作记录结果对掉
这才是我们渗透测试时正确的方式

54. sudo sed

条件:
sed 是一个强大的文本处理工具,用于对文本进行读取、处理和编辑
 


利用流程:
-n 用于不自动打印,因为默认sed会打印每一行内容,使用后,sed只会打印你告诉他打印的那一行
sed自有的命令达到启动新会话的命令,其中:1是第一行,e是执行命令,执行exec启动一个新的bash,然后对于输出重定向到输入,形成一个信息流,最后因为sed要读取哪一个文件,否则会报错,但他执行什么,其实无所谓,我们目的就是为了启动一个bash,而不是为了读取什么

55. sudo service

条件:
service 用于管理Linux系统中的服务,他可以将可执行文件作为服务启动
 


利用流程:
作为渗透来说,那我们肯定希望他的可执行文件是启动一个新bash
../../ 因为service在寻找可执行文件的时候,他是在path指定的环境变量中进行搜索,所以要返回上两级,这样能确保在这个搜索范围内肯定能找到到bash这个路径

56. sudo socat

条件:
socat 多功能的网络工具,用它来建立双向的数据传输通道
 


利用流程:
stdin 标准输入

57. sudo ssh

条件:
 


利用流程:
-o ProxyCommand='' 指定代理服务器连接到远程主机,再提权,
x 代表指定的一个远程主机,因为我们并不需要他进行连接,只是想启动shell,这个参数只要不是空着就行
; 为了避免ssh试图让我们的提权逻辑成为通道,完成代理服务,同时也为了避免ssh在进行密钥交换的时候,无法与主机通信导致错误,这时候我们就需要在他前面执行一些东西,加一个“;”,实际“;”前面就是指的一个空命令,空命令执行成功后面才会执行我们提权逻辑,这是bash语句中的逻辑

58. sudo ssh-keygen

条件:
 


利用流程:
引入需要的库
生成一个静态无返回值的函数
函数体写入提权逻辑
 


c语言共享库的编译
-shared 指定shared关键字
-fPIC 指定文件位置的无关参数
-o 输出 共享库文件 源文件
 


 


-D 指定一个动态连接库,所以我们要按照动态连接库的方式构造一个文件,写入一个提权逻辑,并按照动态连接库的逻辑进行编译
提示说不能打开共享库文件,但事实上文件就在这个目录下,这里就涉及到一个环境变量,当程序需要加载共享库时,系统会优先在“LD_LIBRARY_PATH”这个变量中查找库文件,如果这个路径在这个环境变量里会找到,不在则认为没有这个共享库。所以我们1、直接把当前路径加到这个环境变量里,2、直接明确指定这个共享库的位置
 


这里选择2,直接明确指定这个共享库的位置

59. sudo strace

条件:
strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。 strace常用来跟踪进程执行时的系统调用和所接收的信号。
 


利用流程:
-o 输出
输出不要,但却调试和追踪的我们指定的bash命令
 

60. sudo systemctl

条件:
systemctl 是systemd主要命令行工具,systemd是现代很多发行版的初始Linux系统,负责引导系统和管理系统运行的级别,systemctl允许启动、重启、禁止、停止启用系统服务、查看状态系统,或者查看和控制系统日志等等
 


利用流程:
systemctl的提权有很多,这里演示最常用的一种
直接运行systemctl
 


显示信息类似Linux中的常用编辑器,它的提权方式也很相似
 


用“!”告诉系统命令启动新的bash会话
 


可以看到命令指示符中已经有“#”号

61. sudo tcpdump

条件:
tcpdump 用于监听网络流量或者是捕获网络流量的工具
 


利用流程:
提权路径,提权时可以用到tcpdump这样一个功能,就是它可以将网络流量捕获,并且把数据包传递给一个脚本进行处理,那传递给什么样的脚本,我们就可以在里面加戏,就可以把提权的逻辑加进去
先准备提权的脚本,写入提权逻辑,并给上执行权限,事实上这里用mkfifo也是一样的,这里演示不同的,做一个差异化用mknod
 


同时,在kali本地建立一个监听
 


回到靶机进行执行提权
-ln 告诉tcpdump使用数字形式显示ip的地址和端口号,不进行反向解析
-i 指定网卡
-w 将捕获的数据包直接丢掉
-W 1 限制每个文件的大小为1,并在达到限制后进行切换,因为具体捕捉多少内容,对我们没有任何意义,所以就按它的语法结构给到他参数就行了
-G 1 在一秒后轮换到下一个文件
-z 指定数据包处理的脚本,就是含有提权逻辑的这个脚本
-Z root 以root权限进行操作
 


kali获得反弹shell,并通过python反射实现交互提升

62. sudo tee

条件:
tee 命令,它能将输入中读取的数据写入到文件的同时,输出到标准输出中
 


利用流程:
提权路径,也就是说这个用户有root的写权限,比如可以将新用户写到passwd中
用openssl passwd功能生成一个密码为123456的hash值,然后用我们本地kali中passwd的组成形式,修改构造一个新用户具有root权限的字段
 


然后在靶机中用我们构造具有root权限的用户进行追加、登陆进行操作
tee -a 对原文件不进行覆盖
 

63. sudo timedatectl

条件:
 


利用流程:
list-timezones字命令 列出时区
 


用“!”告诉timedatectl下面执行系统命令启动新的bash会话
 


可以看到命令指示符中已经有“#”号

64. sudo tmux

条件:
tmux 终端复用工具,和screen很像
 


利用流程:
直接执行,因为它本身就是通过启动新的shell实现端口复用的
 


看到命令提示符中有#号,提权成功

65. sudo vi

条件:
 


利用流程:
启动vi编辑器,在其中用“:”号执行命令模式
 


看到命令提示符中有#号,提权成功
 


也可以直接在命令行操作:
-c 执行命令

66. sudo wall

条件:
wall是广播消息的命令,可以发送一条信息到所有打开的终端窗口,这是一种系统中进行通讯的方法,常用于系统管理员告知所有用户系统即将进行的操作,比如重启或者通知,用wall就能够读取广播消息的文件,而有sudo权限就可以读取任何文本文件
 


利用流程:
使用wall命令读取敏感信息
--nobanner 不显示头信息
 


拿到root的密码hash值
 


在kali中暴力破解hash值
 


回到靶机中进行登陆

67. sudo watch

条件:
watch是一个在Linux系统上周期性执行命令,并显示结果的程序,它默认每两秒执行一次指定的命令
 


利用流程:
-x 在命令行输出每次执行的命令,基于提权目的,肯定想让它执行bash命令
-c 是bash执行命令选项
reset 将环境重置,确保是一个干净的环节
; 并列执行的命令
1>&0 2>&0 对输入输出做一个规划,错误输出也要重定向

68. sudo wget

条件:
wget 下载命令
 


利用流程:
先用mkdump生成临时文件,并给上执行权限
 


echo 写入提权逻辑
-e 启用“\”转译符,这是echo命令所要求的
#!/bin/bash 使用/bin/bash环境,
/bin/bash 启用新的bash
1>&0 把标准输出重定向到标准输入
 


--use-askpass 当用密码的时候,他会调用一个程序来获取密码
0 是我们随便代表指定的下载东西,确保wget可以正常执行就行

69. sudo zip

条件:
zip 压缩工具
 


利用流程:
zip <压缩后的文件名称> <指定压缩文件>
-T 用zip自己的命令检测压缩文件的完整性
-TT 它是你指定一个程序去检查压缩包的完整性,这样我们就可以执行我们自己加入提权逻辑的程序
bash # 加一个“#”号表示后边的注释掉,内容忽略,因为我们只想让它启动一个bash而已

70. sudo xxd

条件:
xxd 是一个将二进制的文件转换成十六进制或反向操作的工具
 


利用流程:
在渗透测试过程中,就可以用它对于一些原本我们无法读取的文件进行编码和反向解码
xxd -r 反向解码


在kali中暴力破解hash值
 


回到靶机中进行登陆

​​​​​​​

相关推荐

  1. linux 总结_linux

    2024-04-08 18:52:01       14 阅读
  2. MySQL方式

    2024-04-08 18:52:01       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 18:52:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 18:52:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 18:52:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 18:52:01       18 阅读

热门阅读

  1. Vue常见简写 “:“ , “@“ , “#“

    2024-04-08 18:52:01       13 阅读
  2. postcss安装和使用

    2024-04-08 18:52:01       12 阅读
  3. 2024笔试-微众银行-数据开发

    2024-04-08 18:52:01       15 阅读
  4. 基于springboot+vue的心血管疾病防控数据可视化

    2024-04-08 18:52:01       13 阅读
  5. 链表学习练习力扣

    2024-04-08 18:52:01       11 阅读
  6. python标准库与模块-1

    2024-04-08 18:52:01       11 阅读
  7. spring boot-日志

    2024-04-08 18:52:01       13 阅读
  8. 排序算法——快速排序

    2024-04-08 18:52:01       14 阅读
  9. Django创建app

    2024-04-08 18:52:01       14 阅读
  10. Spring-Boot社区论坛

    2024-04-08 18:52:01       14 阅读