所以,我想以管理员模式(UAC)运行一个程序
经过一些挖掘我发现了这个:
import os
import types
from traceback import print_exc
from sys import argv, executable
def isUserAdmin():
if os.name == 'nt':
import ctypes
# WARNING: requires Windows XP SP2 or higher!
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
print_exc()
print "Admin check failed, assuming not an admin."
return False
elif os.name == 'posix':
# Check for root on Posix
return os.getuid() == 0
else:
raise RuntimeError, "Unsupported operating system for this module: %s" % (os.name,)
def runAsAdmin(cmdLine=None, wait=True):
if os.name != 'nt':
raise RuntimeError, "This function is only implemented on Windows."
import win32api, win32con, win32event, win32process
from win32com.shell.shell import ShellExecuteEx
from win32com.shell import shellcon
python_exe = executable
if cmdLine is None:
cmdLine = [python_exe] + argv
elif type(cmdLine) not in (types.TupleType,types.ListType):
raise ValueError, "cmdLine is not a sequence."
cmd = '"%s"' % (cmdLine[0],)
# XXX TODO: isn't there a function or something we can call to massage command line params?
params = " ".join(['"%s"' % (x,) for x in cmdLine[1:]])
cmdDir = ''
showCmd = win32con.SW_SHOWNORMAL
#showCmd = win32con.SW_HIDE
lpVerb = 'runas' # causes UAC elevation prompt.
# print "Running", cmd, params
# ShellExecute() doesn't seem to allow us to fetch the PID or handle
# of the process, so we can't get anything useful from it. Therefore
# the more complex ShellExecuteEx() must be used.
# procHandle = win32api.ShellExecute(0, lpVerb, cmd, params, cmdDir, showCmd)
procInfo = ShellExecuteEx(nShow=showCmd,
fMask=shellcon.SEE_MASK_NOCLOSEPROCESS,
lpVerb=lpVerb,
lpFile=cmd,
lpParameters=params)
if wait:
procHandle = procInfo['hProcess']
obj = win32event.WaitForSingleObject(procHandle, win32event.INFINITE)
rc = win32process.GetExitCodeProcess(procHandle)
#print "Process handle %s returned code %s" % (procHandle, rc)
else:
rc = None
return rc
def test():
rc = 0
if not isUserAdmin():
print "You're not an admin.", os.getpid(), "params: ", argv
#rc = runAsAdmin(["c:\\Windows\\notepad.exe"])
rc = runAsAdmin()
else:
print "You are an admin!", os.getpid(), "params: ", argv
rc = 0
x = raw_input('Press Enter to exit.')
return rc
if __name__ == "__main__":
if not isUserAdmin():
runAsAdmin()
要求用户提供管理员权限。许可,但我有两个主要问题:
1.用户需要给程序权限。(渗透测试有问题)
2.每次程序运行时,用户都需要给程序权限。(这很可疑)
有没有办法绕过这个?
附言。 Windows 7 且无法直接访问
最佳答案
假设您有权访问运行此脚本的计算机,那么您可以按照此链接中的说明进行操作...
它将允许标准用户以管理员身份运行特定应用程序。我已经在其他应用程序上成功使用了本指南,但从未在 python 脚本上使用过。可能适合您。
关于Python windows提权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31480571/
B-3:Linux系统渗透提权任务环境说明:服务器场景:Server2204(关闭链接)用户名:hacker密码:123456使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交;Flag:2283/tcp使用渗透机对服务器信息收集,并将服务器中主机名称作为flag提交;Flag:KipZ1eze使用渗透机对服务器信息收集&
目录前言一、SQLServer基础1.SQLServer2012安装启动navicat远程连接2.SQLServer概念数据库的组成数据库中常用对象默认库介绍3.T-SQL语言创建数据库创建表插入数据基础语法总结4.sqlserver权限新建用户并赋予权限权限总结二、Sqlserver手工注入环境搭建注入手法1.联合查询2.报错注入3.布尔盲注4.延时注入三、SQlserver提权getshellxp_cmdshell执行系统命令sp_oacreate执行系统命令使用CLR执行系统命令数据库差异备份写webshell日志差异备份写webshell前言本文详细的介绍了SqlServer安全基础,
目录内网渗透之提权篇Webshell数据库提权MySQLUDF提权启动项提权MOF提权SQLServerxp_cmdshell提权sp_oacreate提权CLR执行系统命令DB_owner权限LOG备份提权DB_owner权限差异备份提权shell反弹命令的一些收集关于WIndows系统的反弹shell命令的一些收集 关于Linux系统的反弹shell命令的一些收集对于Windows系统的提权内核溢出漏洞提权方法一:手动执行命令方法二:msf后渗透模块 方法三:WindowsExploitSuggester方法四:PowerShell中的Sherlock脚本Windows错误配置提权系统服务
靶机地址:https://app.hackthebox.com/machines/Stocker枚举使用nmap枚举靶机nmap-sC-sV10.10.11.196机子开放了22,80端口,我们本地解析一下这个域名echo"10.10.11.196stocker.htb">>/etc/hosts去浏览器访问这个网站发现只是一个单一的网页,并没有其他的功能,插件也很少现在扫一下目录和子域名,但是目录并没有扫到什么有用的东西但是扫描到一个子域名./gobustervhost-w/usr/share/seclists/Discovery/DNS/bitquark-subdomains-top1000
所以,我想以管理员模式(UAC)运行一个程序经过一些挖掘我发现了这个:importosimporttypesfromtracebackimportprint_excfromsysimportargv,executabledefisUserAdmin():ifos.name=='nt':importctypes#WARNING:requiresWindowsXPSP2orhigher!try:returnctypes.windll.shell32.IsUserAnAdmin()except:print_exc()print"Admincheckfailed,assumingnotanad
权限提升:网站后台权限提升简称提权,由于操作系统都是多用户操作系统,用户之间都有权限控制,比如通过Web漏洞拿到的是Web进程的权限,往往Web服务都是以一个权限很低的账号启动的,因此通过Webshell进行一些操作会受到限制,这就需要将其提升为管理甚至是System权限。通常通过操作系统漏洞或操作系统的错误配置进行提权,也可以通过第三方软件服务,如数据库或FTP等软件的漏洞进行提权。目录:网站后台权利提升的架构:网站后台已知程序:第一步:进入一个网站,查看网站的搭建程序类型,再看看网上有没有类似的网站源代码.第二步:下载类似的网站源代码,查看网站的后台链接.(后台链接:可以查看代码,也可以使
文章目录一、使用非root用户启动docker容器二、验证非root用户启动容器的安全性本系列之前的文章中使用root用户安装docker,并在root用户下启动docker守护进程,容器也是在root用户下启动运行的。那么问题就出现了:我们的容器服务进程都是root用户权限,使用数据卷的方式想挂载哪个目录就挂载那个目录;想修改挂载目录下的哪个文件,就修改哪个文件。那么我们本文带大家使用非root用户来启动docker容器,是否就安全了呢?我们先不说答案,让我们一起来通过实验,来解答我们的疑问。一、使用非root用户启动docker容器为了提升安全性,我们考虑一种方案:使用非root用户启动d
HacksudoThor作者:jasonhuawen靶机信息名称:hacksudo:Thor地址:https://www.vulnhub.com/entry/hacksudo-thor,733/识别目标主机IP地址(kali㉿kali)-[~/Desktop/Vulnhub/HacksudoThor]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:192.168.56.0/24|ScreenView:UniqueHosts3CapturedARPReq/Reppackets,from3hosts.Totalsize:180_
Windows权限提升—令牌窃取、UNC提权、进程注入等提权1.前言2.at本地命令提权2.1.适用范围2.2.命令使用2.3.操作步骤2.3.1.模拟提权2.3.2.at配合msf提权2.3.2.1.生成木马文件2.3.2.2.设置监听2.3.2.3.设置反弹2.3.2.4.查看反弹效果3.sc本地命令提权3.1.适用范围3.2.命令使用3.3.操作步骤4.ps提权4.1.适用范围4.2.下载链接4.3.命令使用4.4.操作步骤4.4.1.下载psexec.exe工具4.4.2.执行psexec.exe工具5.进程迁移注入提权5.1.前提条件5.2.pinjector.exe进程注入5.2.
HacksudoSearch识别目标主机IP地址(kali㉿kali)-[~/Desktop/Vulnhub/HacksudoSearch]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:192.168.56.0/24|ScreenView:UniqueHosts3CapturedARPReq/Reppackets,from3hosts.Totalsize:180_____________________________________________________________________________IPAtM