首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker容器中使用非root用户执行脚本 (

应用容器化之后,docker容器启动,默认使用的是root用户执行命令,因此容器中的应用默认都是使用root用户来运行的,存在很高的安全风险,那么如何能够使用非root的业务用户来运行应用呢,下面我将举一个简单的例子来说明...该例子是容器中使用自建的用户来运行一个简单的shell脚本,并将脚本输出日志持久到容器外部。接下来让我们来看从制作镜像到容器运行的全过程吧。...chown hpf:hpf test.sh RUN chmod 755 test.sh ENTRYPOINT su - hpf -c "/data/scripts/test.sh" --使用所创建的用户来运行脚本...14.04              c69811d4e993       3 weeks ago        188 MB [root@host09 test]# 2、启动容器: 注意,启动容器之前...,需要将宿主机上/data/hepf/log目录的权限,否则容器启动脚本中的日志将没有权限写该目录,我直接将该目录权限修改成777了。

2K10

Linux 启动如何自动执行命令或脚本

我们假定使用的是 Bash 作为登录及注销的主 Shell。如果你使用的是其他 Shell,那么有些方法可能会无效。如果有其他的疑问,请参考对应的 Shell 文档。...启动执行 Linux 脚本 有两种传统的方法可以实现在启动执行命令或脚本: 方法 #1 - 使用 cron 任务 除了常用格式(分 / / 日 / 月 / 周)外,cron 调度器还支持 @reboot...这个指令后面的参数是脚本(启动执行的那个脚本)的绝对路径。...下图说明如何分别使用 cron 任务和 rc.local 运行两个示例脚本(/etc/rc.d/rc.local/home/gacanepa/script1.sh 和/home/gacanepa/script2...Tecmint.com" DIR=/home/gacanepa echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt *启动执行

3.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

如何使用PS2EXE将PowerShell脚本编译为可执行程序

关于PS2EXE PS2EXE是一个可以将PowerShell脚本编译为可执行程序的模块,GUI和Ingo Karstein脚本的支持下,该模块能够生成真正的Windows可执行程序。...除此之外,PS2EXE还支持PowerShell 5.x和图形化前端。...注意事项 有一些人可能会滥用PS2EXE来编译他的计算机病毒脚本,因此越来越多的病毒扫描程序会将使用PS2EXE创建的程序识别为恶意程序并将其删除。因此,希望大家不要将其用于恶意目的。...PowerShell脚本(文件需要是UTF8或UTF16编码) outputFile = 目标可执行文件名称或目录 prepareDebug = 创建调试帮助信息 x86或x64 = 编译运行时32...编译的可执行文件只会在提权上下文中执行 supportOS = 使用最新Windows版本的功能 virtualize = 激活应用程序虚拟化 longPaths = 启用长路径支持 项目地址 https

2K20

如何强制用户Linux下一次登录更改密码

请注意,如果您刚创建了具有默认密码的用户帐户,则还可以使用此技巧强制该用户首次登录更改其密码。 有两种可能的方式来实现这一点,如下面详细描述的那样。...使用passwd命令 要强制用户更改其密码,首先密码必须已过期并导致用户密码过期,则可以使用passwd命令,该命令用于通过指定-e或--expire切换用户密码来更改用户密码用户名如图所示。...检查用户密码到期信息 运行上面的passwd命令后,您可以从chage命令的输出中看到必须更改用户的密码。一旦用户ravi下次尝试登录,他会在访问shell之前提示更改密码,如以下屏幕截图所示。...现在要设置用户的密码过期,通过指定日期为零(0)来运行以下命令,意味着密码自上述日期(即1970年1月1日)以来没有更改过, 所以密码已经过期并且需要在用户再次访问系统之前立即进行更改。...检查密码到期信息 这里有一些额外的用户管理指南。 结论 建议用户出于安全原因,定期更改其帐户密码。

2.4K80

内网渗透|基于文件传输的 RDP 反向攻击

如果我们通过相应的设置,客户端连接远程主机的一瞬间,将远程主机上早已准备好的木马程序复制到客户端主机的启动项中,那么当客户端主机下一次启动便会执行该木程序,客户端主机便可以成功上线。...但要注意的是,只有通过远程登陆的用户才可以远程主机中访问 tsclient,其他远程主机上本地登录的用户是无论如何也无法访问 tsclient 的。...我们的思路是,远程主机的启动项中写入一个 .bat 脚本(run.bat),当一个客户端用户通过远程桌面连接到这个远程主机时,登陆之后会立即执行这个启动项中的 run.bat 脚本。...start.bat 脚本执行后会首先遍历 tsclient 共享,发现 tsclient 共享后就会将自己复制到 tsclient 也就是连接远程主机的客户端主机上的启动项中,然后执行一个 Cobalt...不出预料, Windows 10 连接上 Windows Server 2012 ,run.bat 便会扩散到 Windows 10 的启动项中,当 Windows 10 注销后,管理员再次使用他的

2.8K20

通过计划任务实现持续性攻击

Payload既可以从磁盘上执行,也可以从远程位置下载执行,这些Payload可以是可执行文件、PowerShell脚本或者scriptlets形式。...图*-* 查询调度任务 当目标系统的用户管理员注销,将创建事件ID,并在下次登录执行payload。 ?...图*-* 用户管理员注销获取的Meterpreter 我们也可以使用PowerShell创建计划任务,这些任务将在用户登录时或在特定的时间和日期执行。...如果用户具有管理员级别的权限,就可以使用以下命令来创建一个新的计划任务,该任务将会在系统登录执行。...图*-* 使用Empire列出的Backdoor 计划任务列表 PowerShell的elevated模块提供了一个用户登录执行计划任务的选项。

1.1K30

内网渗透横向移动之使用AnyDesk远程控制

桌面不能被注销 有可能连接上去是黑屏,这个是因为该桌面用户退出远程桌面但没有注销,此时,除非能用winlogon启动anydesk,否则没法使用屏幕 攻击 Windows 假使我们windows上拿到目标的...使用一些提权的powershell脚本脚本弹出了一个新的cmd窗口,但是数据不通过cs,只能通过远程桌面操作,但是不能直接RDP 然后我们可以通过命令让目标下载anydesk powershell (...应用后彻底退出anydesk,退出不选择安装 生成的配置文件将会储存在 C:\Users\你的用户名\AppData\Roaming\AnyDesk ?...拓展: 这几步不是必须,按需操作 连接前可以设置连接的用户名,如果不设置,就会用当前的用户名 ? 有可能会暴露身份 ? 然后通过cs远程执行anydesk,然后攻击机远程连接 ?...,可以使用计划任务执行,如果要使用计划任务,首先要知道当前用户是谁 powershell "(((Get-WmiObject -Class Win32_Process -Filter 'Name=\"explorer.exe

2.9K30

如何限制用户某一间段多次访问接口

要知道,如今很多平台的接口都是可以同时被门户网站,手机端,移动浏览器访问,因为接口是通用的,而为了安全起见,有些接口都会设置一个门槛,那就是限制访问次数,也就是某一间段内不能过多的访问,比如登录次数限制...,一些金融理财或者银行的接口上比较常见,另外一些与用户信息有关的接口都会有一个限制门槛 那么这个限制门槛怎么来做呢,其实有很多种方法,主流的做法可以用拦截器或者注解,那么今天咱们用注解来实现 首先需要定义一个注解...大致的流程就是要获取redis中的调用方法次数,使用incr函数,当key不存在的时候默认为0然后累加1,当累加1大于limit设置的限制次数,则抛出异常,这个地方需要注意,如果是ajax调用的话需要判断是否

1.6K60

WMI利用(权限维持)

那么我们短暂的获取权限后,如何才能将权限持久化,也就是所说的权限维持住呢?...WMI事件中的事件消费者可以分为临时和永久两类,临时的事件消费者只在其运行期间关心特定事件并进行处理,永久消费者作为类的实例注册WMI命名空间中,一直有效到它被注销。...$FinalPayload ###修改Payload,可以指定执行Powershell,或者cmd或者其他命令。...SELECT * FROM __TimerEvent WITHIN 10 WHERE TimerID = 'Trigger' 上线C2 注意:将上述Powershell脚本替换其执行的Payload进行本地执行...运行ps1脚本后成功上线 Mof文件添加事件 注意:笔者测试Mof文件添加事件,编译后的确能够正常添加事件,但是未能执行指定命令。 #PRAGMA NAMESPACE ("\\\\.

1.8K21

权限维持分析及防御

sethc.exe或者“控制面板”中关闭“启用粘滞键”选项 2、注册表注入后门 普通用户权限下可以将后门程序或脚本路径填写到启动项注册表中,当系统管理员登录系统触发后门 这个ATT&CK中的Persistence...当设定的条件被满足,系统将自动启动Powershell进程去执行后门程序,执行后进程将会消失,达到所谓的“无进程” Empire下有WMI相关的模块可以使用 usemodule powershell/...的渗透测试工具 集成了框架、脚本(包括下载和执行、键盘记录、DNS、延时命令等脚本)和各种Payload 存在ASPX的“大马”\nishang\Antak-WebShell目录下 2、Weevely...,依然可以获取 (1)方法一 是使用mimikatz将伪造的SSP注人内存,重启就丢失 //注销用户 ....\mimikatz.exe "privilege::debug" "misc::memssp" exit //注销之后执行命令查看明文密码 powershell.exe cat c:\windows\system32

97310

CVE-2019-8452:Check Point V**本地提权漏洞分析

Internet Logs无论源是什么,无论文件夹中的所有文件的内容如何,都会执行此权限重置。 Windows可以创建硬链接。...Google Update计划任务是一个很好的目标,它运行为SYSTEM,可预测的时间运行(在任何用户登录),并且可执行文件可以修改和写入SYSTEM。...FuzzySecurity的PowerShell-Suite有一个方便的PowerShell脚本,可以NtSetInformationFile直接使用创建硬链接; Native-HardLink。...我们导入该脚本并创建指向Google Update可执行文件的硬链接。 我们现在将看到两个目录中镜像的可执行文件。...我选择用反向shell替换可执行文件,所以我们这样做,注销并重新SYSTEM进入,我们将获得一个具有访问权限的shell 。

55320

Microsoft 本地管理员密码解决方案 (LAPS)

LAPS 是如何工作的? LAPS 解决方案的核心是一个 GPO 客户端扩展 (CSE),它执行以下任务并可以 GPO 更新期间强制执行以下操作: • 检查本地管理员帐户的密码是否已过期。...可以环境中配置扩展权限,这可能允许未经授权的用户访问某些计算机上的 LAPS 密码。有关如何删除扩展权限的其他信息,请参阅 LAPS 操作指南(其中一些位于本文末尾的委派部分。...永久 VDI(相同的计算机名称): 此过程与物理计算机相同,因为用户连接到相同的 VDI 映像,该映像仍然存在(注销不会被破坏)。...这一点, 由于 LAPS 没有(明显的)选项来强制 LAPS 客户端启动更改密码,因此需要运行一个脚本来清除 ms-Mcs-AdmPwdExpirationTime 属性,以便在 LAPS 客户端运行时...可以配置 PowerShell 脚本,在用户注销(或在其他事件期间)清除 ms-Mcs-AdmPwdExpirationTime。VDI 解决方案可以提供此时运行脚本的能力。

3.6K10

如何获取TrustedInstaller权限

TrustedInstaller的Token (此方法成功率高,但需要有基础计算机操作知识) Windows有两种类型的Token: Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录...、远程桌面登录) Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹) 注: 两种token只系统重启后清除 具有Delegation token的用户注销后...结束后,我们需要让系统允许使用 Powershell 脚本,我们输入: Set-ExecutionPolicyUnrestricted 并回车。...接着系统会显示执行策略更改,我们输入”A“并回车确认: 接着,我们导入 NtObjectManager 模块,我们输入: Import-ModuleNtObjectManager 并回车。... Powershell 中依次输入: sc.exestartTrustedInstallerSet-NtTokenPrivilegeSeDebugPrivilege$p=Get-NtProcess-NameTrustedInstaller.exe

6.3K50

进攻性横向移动

用户登录,系统通过将其与存储安全数据库中的信息进行比较来验证用户的密码。当用户的凭据通过身份验证,系统会生成访问令牌。代表此用户执行的每个进程都有此访问令牌的副本。...以另一种方式,它包含您的身份并说明您可以系统上使用和不能使用的内容。不深入研究 Windows 身份验证的情况下,访问令牌引用登录会话,这是用户登录 Windows 创建的。...因此,当用户通过网络登录登录到远程系统用户的凭据将不会出现在远程系统上以执行进一步的身份验证。...执行程序 PsExec来自微软的 Sysinternals套件,允许用户使用命名管道通过端口 445 (SMB) 远程主机上执行 PowerShell。...hta 文件是 Microsoft HTML 应用程序文件,允许 HTML 应用程序中执行 Visual Basic 脚本

2.1K10

技术分享-持久性-WMI事件订阅

WMI-Persistence是另一个 PowerShell 脚本,它可以创建事件过滤器,每次重新启动后 5 分钟内从远程位置执行基于 PowerShell 的有效负载。...有一个 PowerShell 模块可以通过特定时间执行基于 64 编码的有效负载,目标主机上部署 WMI 事件订阅的持久性技术。...新植入物将在设置连接回 C2 服务器。 Metasploit Metasploit 框架包含一个通过 WMI 目标系统上执行持久性的模块。...该模块支持不同的选项,可用于触发要在系统上执行的任意有效负载。默认情况下,配置为系统上创建特定事件 ID (4625) 执行有效负载。...以下模块可以特定的每日时间、登录失败期间和启动 5 分钟内执行有效负载。

2.5K10

无需登录域控服务器也能抓 HASH 的方法

所以我们现在可以使用 Invoke-Mimikatz PowerShell 脚本执行 OverPass-The-Hash 攻击,并使用 storagesvc 用户的权限启动一个新的 PowerShell...控制台: New PowerShell 控制台中,我们可以加载 Invoke-Mimikatz PowerShell 脚本执行 DCSync 攻击: 正如我们在上面的屏幕截图中看到的,我们能够成功执行...现在,我们将加载 Invoke-Mimikatz PowerShell 脚本执行 DCSync 攻击: 正如我们在上面的屏幕截图中看到的,我们能够成功执行 DCSync 攻击并检索 KRBTGT 账户哈希...检测 OverPass-The-Hash 现在让我们运行以下查询来检测执行 OverPass-The-Hash 攻击生成的登录事件。...当我们执行 OverPass-The-Hash 攻击,一个名为“seclogo”的登录进程。 执行 OverPass-The-Hash 攻击,Mimikatz 尝试访问 LSASS 进程。

2.7K10

实用powershell命令

/download/6/F/5/6F5FF66C-6775-42B0-86C4-47D41F2DA187/Win7AndW2K8R2-KB3191566-x64.zip image.png 解压后Install-WMF5.1....ps1上右击“使用PowerShell运行”,安装完成后重启生效,重启后原本PowerShell的图标会变,执行Install-WMF5.1.ps1前首先要运行powershell开启下“允许执行脚本...”,命令是set-ExecutionPolicy RemoteSigned具体情况如下图,执行完这个命令后再执行Install-WMF5.1.ps1 image.png image.png image.png...LogName='Security';Id=4624} //已成功登录账户 Get-WinEvent -FilterHashtable @{LogName='Security';Id=4634} //已注销账户...//检测到系统错误 【获取登录信息】 gwmi Win32_LoggedOnUser //成功登录的记录 gwmi Win32_LoggedOnUser | ft Antecedent //成功登录的用户

2.5K30

3.PS编程入门基础语法

PS > $pocketknife.corkscrew # 调用方法如果没有使用圆括号,方法不会执行但是可以返回方法的基本信息。...(Script) 描述: 做过开发的人都知道写得代码量越大其可读性就越差,解决的最好方式就是脚本融入函数(Function)和类库(Class)的概念。...一旦你创建了一个实现特定功能的函数,也可以下次在其它脚本中使用。 类库:把需要的函数嵌入进类库中,就不用每次执行脚本拷贝函数,并且还可以需要扩充它。...# 3628800 Tips :脚本执行时先加载类库中的函数(加载函数类库和执行脚本类似), 只需要在前面增加一个句号中间有空格。...,'请选择:' ,$selection ,1) Write-Host -NoNewline "您选择的是:" switch($Answer) { 0 {"切换用户"} 1 {"注销"} 2

4.2K30
领券