【注】*NIX 下很重要的概念是「一切皆文件」;以下仅以 *NIX 家族的起源 UNIX 作为分析对象。
專 欄 ❈汤英康,Python程序员,负责设计和开发大数据监控平台的相关产品。 PyCon China2016 深圳 讲师。 博客:http://blog.tangyingkang.com/ ❈— Daemon场景 考虑如下场景:你编写了一个python服务程序,并且在命令行下启动,而你的命令行会话又被终端所控制,python服务成了终端程序的一个子进程。因此如果你关闭了终端,这个命令行程序也会随之关闭。 要使你的python服务不受终端影响而常驻系统,就需要将它变成守护进程。 守护
capabilities将系统root权限按功能单元划分,使用者按需打开/关闭相关权限,比基于UID的权限控制方式更精细。
在使用Linux的过程中,经常会遇到各种用户ID(user identifier, UID)和组ID(group identifier, GID),Linux也是通过对这些ID的管理实现的自主访问控制(discretionary access control, DAC)。
以下是对用户和组信息的举例。 /etc/shadow 中的口令信息为加密存储,不举例。
4 最小权限原则 最小权限原则(最早由 Saltzer 和 Schroeder 提出): 每个程序和系统用户都应该具有完成任务所必需的最小权限集合。 限制代码运行所需的安全权限,有一个非常重要的原因,就是降低你的代码在被恶意用户利用时,造成的损失。如果你的代码仅仅使用最小权限来执行,恶意用户就难以使用它造成损失。如果你需要用户使用管理员权限来执行代码,任何代码中的安全缺陷,都会通过利用该缺陷的恶意用户,潜在造成更大的损失。 编写特权程序时的问题: 程序需要该权限吗? 如果程序不需要任何特殊权限来
国外的Qualys 研究团队在 sudo 发现了堆溢出漏洞,sudo是一种几乎无处不在的非常实用程序,可用于大型 Unix 类操作系统(类似与windows的UAC功能,但是功能更加强大,它还允许用户使用其他用户的安全权限运行程序,不仅限于管理员哟)。
在我们编程实现一些系统操作的时候,往往要求我们执行操作的进程拥有足够的权限方可成功操作。比如,我们使用 ExitWindows 函数实现关机或重启操作的时候,就要求我们的进程要有 SE_SHUTDOWN_NAME 的权限,否则,会忽视不执行操作。这时,我们唯一能够做的,就是按照要求,提升我们进程的权限。
ptrace 函数原型 : ptrace 函数实际上是由一系列的函数组成 , 具体调用哪个函数 , 要根据第一个参数确定 ;
阅读本文,你可以初步了解 Windows 上的 UAC 用户账户控制机制。本文不会涉及到 UAC 的底层实现原理和安全边界问题。
原文地址:http://www.myhack58.com/Article/60/61/2013/37209.htm
Linux的用户在登录(login)之后,就带有一个用户身份(user ID, UID)和一个组身份(group ID, GID)。在Linux文件管理背景知识中,我们又看到,每个文件又有九位的权限说明,用来指明该文件允许哪些用户执行哪些操作(读、写或者执行)。 (参考Linux文件管理背景知识) 一般来说,Linux的用户信息保存在/etc/passwd中,组信息保存在/etc/group中,文件的每一行代表一个用户/组。早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在则多以暗码(
在 Windows 系统中,管理员权限和非管理员权限运行的程序之间不能使用 Windows 提供的通信机制进行通信。对于部分文件夹(ProgramData),管理员权限创建的文件是不能以非管理员权限修改和删除的。
在枚举/结束系统进程或操作系统服务时,会出现自己权限不足而失败的情况,这时就需要提升自己进程到系统权限,其实提升权限的代码很简单的,看到过的最经典的应该是《WINDOWS核心编程》第四章中操作进程给出的那个函数了,如果我们真的不了解它的操作也不要紧,因为只要在你需要的地方调用下面这个函数就是了,以下是它的代码:
BI~C|h1h2h3|“<>olul|超断ΣV表|Linux内核总是根据进程的有效用户ID和有效组ID来决定一个进程是否有权访问某个文件。因此,在编写调整用户ID的程序时,在读写一个文件之前必须明确检查其用户是否原本就有对此文件的访问权限。为了实现这种确认,需要使用access函数。一般形式为; #include<unistd.h> int access(const char *pathname,int mode);其中,pathname是希望检验的文件名(包含路径),mode是欲检查的访问权限,如下所示R_OK 检验调用进程是否有读访问权限 W_OK 检验调用进程是否有写访问权限 X_OK 检验调用进程是否有执行访问权限 F_OK 检验规定的文件是否存在access检查用户对一个文件的权限情况,根据mode的值检查调用进程对文件pathname是否具有读、写、或执行的权限。若进程实际用户具有mode所指出的权限,access返回0.否则返回-1.例如: access("test",06); access("test",F_OK); 分别用来检查实际用户对test文件是否具有读写权限和test文件是否存在。
BI~C|h1h2h3|“<>olul|超断ΣV表|Linux内核总是根据进程的有效用户ID和有效组ID来决定一个进程是否有权访问某个文件。
Linux权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限:属主、属组以及其他人,通过这样的机制来限制哪些用户或用户组可以对特定文件进行相应的操作。
在入侵过程中,令牌盗窃和用户冒充可以提供很大帮助,节省我们大量时间并帮助我们尽可能保持隐秘,仅使用 Microsoft Windows 操作系统本身提供的功能和工具。
通过 注入工具 , 将 libbridge.so 注入到远程进程 后 , 远程进程中 , 会 为 libbridge.so 动态库分配一块内存 , 并将其运行起来 ;
一个程序被加载到内存当中运行,那么在内存内的那个数据就被称为进程(process)。进程是操作系统上非常重要的概念,所有系统上面跑的数据都会以进程的类型存在。
在默认情况下,Windows 系统中启动一个进程会继承父进程的令牌。如果父进程是管理员权限,那么子进程就是管理员权限;如果父进程是标准用户权限,那么子进程也是标准用户权限。
大家好,又见面了,我是你们的朋友全栈君。 OpenProcessToken 的操作
在Linux操作系统中,mkfifo是一个非常重要的命令,它用于创建命名管道(named pipe),也称为FIFO(First In First Out)文件。命名管道是一种特殊的文件类型,允许不同进程之间进行通信,是进程间通信(IPC)的一种重要方式。在数据处理和分析中,mkfifo命令可以帮助我们实现进程间的数据交换和共享,极大地提高了数据处理的效率和灵活性。
Linux是一种安全操作系统,它给普通用户尽可能低的权限,而把全部的系统权限赋予一个单一的帐户–root。root帐户用来管理系统、安装软件、管理帐户、运行某些服务、安装/卸载文件系统、管理用户、安装软件等。另外,普通用户的很多操作也需要root权限,这通过setuid实现。
在后台运行的进程不一定是守护进程!一个进程要成为守护进程,必须做到以下两点:
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是 Linux 的一个安全子系统。SELinux 主要作用是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。对资源的访问控制分为两类: DAC和MAC.
这是创建守护进程的第一步。由于守护进程是脱离控制终端的,因此,完成第一步后就会在Shell终端里造成程序已经运行完毕的假象。之后的所有工作都在子进程中完成,而用户在Shell终端里则可以执行其他命令,从而在形式上做到了与控制终端的脱离,在后台工作。
从这一讲开始,我们讨论 Linux 系统和应用安全。我们知道,在开发一个应用的过程中,需要涉及代码、操作系统、网络和数据库等多个方面。所以,只是了解代码安全肯定是不够的,我们还需要了解常见的基础环境和工具中的安全机制,学会通过正确地配置这些安全机制,来提升安全保障。
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们在Linux的概念与体系,多次提及进程的重要性。Python的os包中有查询和修改进程信息的函数。学习Python的这些工具也有助于理解Linux体系。 进程信息 os包中相关函数如下: uname() 返回操作系统相关信息。类似于Linux上的uname命令。 umask() 设置该进程创建文件时的权限mask。类似于Linux上的umask命令,见Linux文件管理背景知识 get
守护进程作为一种常驻进程服务,很常见,例如 PHP-FPM, NGINX,REDIS,都需要一个父进程来支持整个服务。但是用 PHP 编写守护进程不多见,今天就来用 PHP 来实现一下。
虽然主题是 Windows 内核提权,但实际上还是对之前文章的一个总结,这篇文章中所用到的东西全都是前几篇文章所提到的知识点,所有的操作都是之前文章中所讲述过的,以下所有的实验都是在 Win10_x64_20H2 上进行的。
SEAndroid 是一套安全机制,实现的主要目的是为了是Android系统更安全。 SELinux是被设计为一个灵活的可配置的MAC机制。 SEAndroid 是将SELinux 移植到Android 上的产物,可以看成SELinux 辅以一套适用于Android 的策略。
总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。
函数umask为进程设置权限掩码。并且返回之前的掩码值。它是为数不多的没有出错返回的函数。函数原型和依赖的头文件如下所示:
at命令是一个计划命令,可以在规定时间完成一些操作,这个命令调用system权限。
1 前置概念 关于Windows Access Token Windows Access Token(访问令牌),它是一个描述进程或者线程安全上下文的一个对象。每个用户登录计算机都会产生一个AcessToken以用于创建进程和线程,用户注销以后会将主令牌切换成模拟令牌,也就是授权令牌和模拟令牌,不会清除令牌,只有重启才会。 两种类型的Token Delegation token(授权令牌):用于交互会话登录(例如本地直接登录、rdp login 、psexec ) Impersonation token
在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题。 这里通过遇到的问题来理解docker容器用户uid的使用,以及了解容器内外uid的映射关系。
看到不少朋友在后渗透阶段的时候比较没有思路,我决定自己出一套提权的总结,归纳我所学习的。 提权,这里说的提权实际上指的是纵向的提权,从webshell权限到system权限 0x01 引言 通常,我们在渗透过程中很有可能只获得了一个系统的Guest或User权限。低的权限级别将会使我们受到很多的限制,所以必须将访问权限从Guset提升到User,再到Administrator,最后到SYSTEM级别。 渗透的最终目的是获取服务器的最高权限,即Windows操作系统中管理员账号的权限,或LINUX操作系统中r
在Cobalt Strike中,输入“help”命令会将Beacon的命令及相应的用法解释都列出来,输入“help 命令”会将此命令的帮助信息列出来,如图所示。
SO 注入的前提必须有 root 权限 , 有了 root 权限后 , 才能调用 ptrace 相关函数 ;
SELinux(Security-Enhanced Linux)是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
上一篇我们讲了 Linux 系统的启动流程,本文讲解一下 Andorid 系统的启动流程。
本文实例讲述了PHP使用Redis实现防止大并发下二次写入的方法。分享给大家供大家参考,具体如下: PHP调用redis进行读写操作,大并发下会出现:读取key1,没有内容则写入内容,但是大并发下会出现同时多个php进程写入的情况,这个时候需要加一个锁,即获取锁的php进程有权限写。
大多时间都在linux下工作,虽说不算系统管理员,也免不了要处理许多系统相关的东西。对linux还算熟悉,偶尔也在公司客串系统管理员的角色。于是就免不了要写许多自动化脚本的东西,来方便系统日常管理了。 bash脚本挺让人恶心的,属于dirty and quick一类。而Python语法清新可人,Python与系统的交互也极其便利,写自动化脚本再合适不过。 在此就分享些自己在写自动化脚本时中意的Python工具: 1、sh sh is a full-fledged subprocess replacemen
在 SELinux 出现之前,Linux 上的安全模型叫 DAC,全称是 Discretionary Access Control,翻译为自主访问控制。
默认情况下,容器中的进程以 root 用户权限运行,并且这个 root 用户和宿主机中的 root 是同一个用户。听起来是不是很可怕,因为这就意味着一旦容器中的进程有了适当的机会,它就可以控制宿主机上的一切!本文我们将尝试了解用户名、组名、用户 id(uid)和组 id(gid)如何在容器内的进程和主机系统之间映射,这对于系统的安全来说是非常重要的。说明:本文的演示环境为 Ubuntu 16.04(下图来自互联网)。
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
提到CPU利用率,就必须理解时间片。什么是CPU时间片?我们现在所使用的Windows、Linux、Mac OS都是“多任务操作系统”,就是说他们可以“同时”运行多个程序,比如一边打开Chrome浏览器浏览网页还能一边听音乐。
领取专属 10元无门槛券
手把手带您无忧上云