linux等保思路与例题
例题
最近在做玄机的靶场,对这方面没怎么接触过,于是决定做一下顺便学习一下
这里可以用change更改命令来查看:change -l xiaoming
也可以用shadow中存储的信息grep出来:cat /etc/shadow|grep xiaoming
其中:
-
第一个字段是用户名。
-
第三个字段是上次密码更改的日期(从 1970 年 1 月 1 日起的天数)。
-
第四个字段是两次更改密码的最小天数。
-
第五个字段是两次更改密码的最大天数。
-
第六个字段是密码到期前提醒天数。
-
第七个字段是密码过期时间(从 1970 年 1 月 1 日起的天数)
默认的密码配置策略文件在/etc/login.defs中,可以cat /etc/login.defs|grep PASS来查看
当然也可以用上面那个change -l xiaoming来查看,一样的
很简单,不解释(才不会告诉你我忘记了ssh是用大写V查看)
图忘记截了,不过是一个可读可写可执行的755权限,肯定是不符合原来的644和600的
ls -l /etc/passwd /etc/shadow
在linux中可以有很多个用户,每个用户都会分配一个权限,也就是uid,可疑用户就是用户名跟所拥有的uid权限明显不对应的情况
一般情况下,先检查/home和/root目录下的shell:
cat /etc/passwd|grep home
然后也可以直接检查root权限:
awk -F: '$3 == 0 {print $1}' /etc/passwd
发现在home目录下有两个用户是有root权限但是用户名不对的:yunwei wangwei
检查sudoers中哪些用户具有sudo权限:
sudo grep "ALL" /etc/sudoers
systemctl status syslog
查看syslog的状态:
是谁!把zhangsan删掉了!!!!!!
张三都没有登陆过,怎么就记录su时间了(真服了)
做过渗透的小伙伴都很熟悉吧,第一步就是uname -a,所以我连图都懒得截了
开放端口netstat -a
题目中开放了小皮,也给了对应账密,那就上去看看有啥网站。
上去之后发现有三个网站,其中在5566网站下有一个hack文件夹很可疑,里面一个index是经典一句话,一个隐藏的.hacker.php是md5的连接密码
很明显上面那个就是flag,已经做完了
因为题目说是docker起的,主包刚删掉了navicat,所以这部分没做
但是我知道命令:
SELECT user, host FROM mysql.user WHERE authentication_string = '';
INSTALL PLUGIN validate_password SONAME 'validate_password';
SHOW VARIABLES LIKE 'validate_password_length';
SHOW VARIABLES LIKE 'max_connect_errors';
直接跳到18:只能检查一下docker容器内的信息了
那就直接./fscan -h 127.0.0.1
在6379,8848都有漏洞,一个是poc一个是弱密码,还有个11211的未授权,不过不知道为啥这个不认
都数据了,肯定是找poc那个nacos的洞,这个是jwt绕过,用一个大于当前时间的时间戳加上固定的key生成伪造的jwt(网址:JSON Web Tokens - jwt.io)
刚做到最后这里,金币不够了,环境直接把我踢出去了,气死我了!!!!
看到了大佬的漏洞文档:逗号CMS 5.05版本任意代码执行漏洞分析文档.docx - 蓝奏云
然后就是改html然后抓包改url绕过过滤就可以直接执行了嘻嘻,高级
总结
总结一下,整个等保流程其实很多都跟渗透流程差不多,不过是倒序,渗透是先网站处打进去之后先维权做一下马的隐藏,然后再检查内核和shadow/passwd的权限看看能不能提权,最后是尝试内网横向(当然这个例题没有内网也就没有横向)
对比于渗透,等保就是加入了检查,先检查用户各种密码的保存时间、过期时间、提醒时间,以及对应敏感文件的权限和危险用户权限,然后再检查用到的各种接口、数据库和内核是否存在漏洞(如ssh,mysql),再就是看开放端口有哪些有风险,并用各种一把梭工具进行自我测试攻击。