本文主要是介绍linux各种姿势权限提升超超超细致教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
权限提升
提权划分
- 水平提升:由一个程序权限(普通)用户可以进入到另外一个普通用户的权限
- 垂直提权:由一个程序权限(普通)用户进入到root用户权限
信息收集
- 什么发行版本?什么版本?
cat /etc/*-release
(通用性强)
cat /etc/issue
发行版本:是如 kali linux ,centos,ubuntu,Amazon Linunx等
版本:是指 如kaili linux 2023.3.3 后面的2023.3.就是版本
当前靶机的发行版本是debian 版本号为10
- 内核版本?架构是32位还是64位?
uname -mrs
(通用性强)
m 查看架构
r 查看内核版本号
s 查看内核是什么系统
cat /proc/version
(可以看到gcc的版本)
gcc 是指编译器
- 查看环境变量?PATH变量?
cat /etc/profile
查看全局环境变量
cat ~/.bash_profile
查看当前用户环境变量
echo $PATH
查看指定环境变量值
export name
将name设置为全局变量
set name
将name 设置为局部变量
set
查看局部变量
env
查看全局变量
PATH 环境变量劫持提权,因为PATH环境变量是按照路径顺序执行命令,当黑客把恶意脚本改成你常用的命令并且,把路径改到最前面,那么久会发生环境变量劫持。
- 查看有那些服务在运行?以什么身份运行?(重点关注root身份运行的程序,可以通过当前程序存在的漏洞直接拿到root权限)
ps aux |grep root
ps -ef | grep root
top
实时查看当前计算机运行的程序(需要root权限),这里可以使用pspy64来执行不需要root权限
cat /etc/services
查看服务文件
- 系统安装了什么应用?这些应用的版本是什么?这些应用是否在运行?
dpkg -l
(Debian 发行版)查看安装包
rpm -qa
(centos 发行版)查看安装包
-
查看有没有错误的配置服务?查看配置文件是否包含有漏洞的插件?
cat /etc/apache2/apache2.conf
apache服务
cat /etc/my.cf
mysql数据库
cat /httpd/conf/httpd.conf
apache主配置文件
ls -aRl /etc | awk '$1 ~ /^.*r.*/'
查看当前目下可以读的文件
ls -aRl /etc | awk '$1 ~ /^.*w.*/'
查看当前目下可以写的文件 -
有哪些任务计划?那些定时任务具有写入权限?重点关系统任务计划配置文件(/etc/crontab)的内容?检查root用户的任务计划?
ls /etc/cron*
查看cron目录中的内容
/etc/cron.dauly
每天执行
/etc/cron.hourly
每小时执行
/etc/cron.monthly
每分钟执行
/etc/cron.weekly
每周执行
/etc/cron.vearly
每秒执行
查看我们具有写入权限的脚本
find /etc/cron* -perm -0002 -type f -exec ls -la {} ; -exec cat {} 2>/dev/null ;
图花圈处表示没有可以写入的脚本
查看系统任务配置文件内容:
cat /etc/crontab 2>/dev/null
下图代表没有内容
检查root用户的任务计划(普通用户是没有权限查看的)
-
检查文件中有无明文用户或密码?
grep -i -r user /etc 2>/dev/null
通过user关键字搜索在这可以把 user 换成 password
-
查看网络配置情况?
ifconfig
查看网络配置情况
ip a
cat /etc/network/interface
查看网络是dhcp获取还是手动配置
ip r
查看网关
cat /etc/resolv.conf
查看dns服务器地址
hostname
查看主机名
cat /etc/networks
查看路由信息
11. 查看网络连情况?那些服务是开机运行的?
netstat -antup
查看网络连接
netstat -antpx
查看socket的路径
lsof -i
列出网络进程打开的文件
lsof -i :80
查看80端口是否开启
systemctl list-unit-files
列出任务列表
systemctl list-unit-files | grep enabled
列出开机启动任务列表
- 你是谁?谁在登录?谁曾经登录过?还有谁?你能做什么?
last
查看最近的登录信息
w
查看当前在线用户
cat /etc/passwd |cut -d : -f1
列出用户名
grep -v -E "^#" /etc/passwd |awk -F: '$3 == 0 {print $1}
列出管理员用户
-v 反向匹配
-E 支持扩展正则表达式
awk -F : "($3 == "0"){print}" /etc/passwd
列出管理员用户
cat /etc/sudoers
sudo授权文件
sudo -l
查看当前用户的授权列表
sudo -u 用户名
已什么用户执行命令
这篇关于linux各种姿势权限提升超超超细致教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!