【大白分享】渗透安全之Linux系统入侵排查思路方式
  

山东_朱文鑫 27744人觉得有帮助

{{ttag.title}}
本帖最后由 山东_朱文鑫 于 2023-6-12 22:21 编辑

大家好,我是大白,伟大的事业,需要决心,能力,组织和责任感。依旧感谢各位小伙伴的一路支持与陪伴。

今天继续分享大白的渗透安全系列篇章,本篇作为渗透安全的基础篇总结针对Linux系统作为受害机的排查思路,同样还是对于好多小伙伴来说,这个更加偏向于安服,总体来说确实更加偏向于安服但是对于安全知识的了解以及更加层次的学习甚至使用都比较重要,我们可以一同研习一下渗透攻防的“魅力”。

*本篇章将本着学习的态度进行分享,严禁用于个人非法行为以及黑产获取!!!!

本篇继上一篇Windwos系统的排查思路我们继续分享其它系统的排查思路,本篇主要是对Linux系统的排查思路进行整合分享。


1.1 账号安全

    基本使用:

  1. 1、用户信息文件/etc/passwd
  2. root:x:0:0:root:/root:/bin/bash
  3. account:password:UID:GID:GECOS:directory:shell
  4. 用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
  5. 注意:无密码只允许本机登陆,远程不允许登陆

  6. 2、影子文件/etc/shadow
  7. root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
  8. 用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
复制代码
  1. who     查看当前登录用户(tty本地登陆  pts远程登录)
  2. w       查看系统信息,想知道某一时刻用户的行为
  3. uptime  查看登陆多久、多少用户,负载
复制代码

    入侵排查:

  1. 1、查询特权用户特权用户(uid 为0)
  2. [root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
  3. 2、查询可以远程登录的帐号信息
  4. [root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
  5. 3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
  6. [root@localhost ~]# more /etc/sudoers | grep -v "^#\|^[        DISCUZ_CODE_2        ]quot; | grep "ALL=(ALL)"
  7. 4、禁用或删除多余及可疑的帐号
  8.     usermod -L user    禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
  9.     userdel user       删除user用户
  10.     userdel -r user    将删除user用户,并且将/home目录下的user目录一并删除
复制代码


1.2 历史命令

    基本使用:

  1. 通过.bash_history查看帐号执行过的系统命令
  2. 1、root的历史命令
  3. histroy
  4. 2、打开/home各帐号目录下的.bash_history,查看普通帐号的历史命令

  5. 为历史的命令增加登录的IP地址、执行命令时间等信息:
  6. 1)保存1万条命令
  7. sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
  8. 2)在/etc/profile的文件尾部添加如下行数配置信息:
  9. ######jiagu history xianshi#########
  10. USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
  11. if [ "$USER_IP" = "" ]
  12. then
  13. USER_IP=`hostname`
  14. fi
  15. export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
  16. shopt -s histappend
  17. export PROMPT_COMMAND="history -a"
  18. ######### jiagu history xianshi ##########
  19. 3)source /etc/profile让配置生效

  20. 生成效果: 1  2018-07-10 19:45:39 192.168.204.1 root source /etc/profile

  21. 3、历史操作命令的清除:history -c
  22. 但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。
复制代码

入侵排查:

  1. 进入用户目录下
  2. cat .bash_history >> history.txt
复制代码

1.3 检查异常端口

    使用netstat 网络连接命令,分析可疑端口、IP、PID

  1. netstat -antlp|more

  2. 查看下pid所对应的进程文件路径,
  3. 运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
复制代码

1.4 检查异常进程

    使用ps命令,分析进程

  1. ps aux | grep pid
复制代码

1.5 检查开机启动项

基本使用:

    系统运行级别示意图:



查看运行级别命令 runlevel

系统默认允许级别

  1. vi  /etc/inittab
  2. id=3:initdefault  系统开机后直接进入哪个运行级别
复制代码

开机启动配置文件

  1. /etc/rc.local
  2. /etc/rc.d/rc[0~6].d
复制代码
例子:当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可。

  1. root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
复制代码
此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的。

入侵排查:

  1. 启动项文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/
复制代码


1.6 检查定时任务

基本使用

    1、利用crontab创建计划任务

基本命令

crontab -l 列出某个用户cron服务的详细内容

Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root

crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)

crontab -e 使用编辑器编辑当前的crontab文件

如:/1 * echo "hello world" >> /tmp/test.txt 每分钟写入文件

    2、利用anacron实现异步定时任务调度

入侵排查

重点关注以下目录中是否存在恶意脚本

  1. /var/spool/cron/*
  2. /etc/crontab
  3. /etc/cron.d/*
  4. /etc/cron.daily/*
  5. /etc/cron.hourly/*
  6. /etc/cron.monthly/*
  7. /etc/cron.weekly/
  8. /etc/anacrontab
  9. /var/spool/anacron/*
复制代码

1.7 检查服务

服务自启动

    第一种修改方法:

  1. chkconfig [--level 运行级别] [独立服务名] [on|off]
  2. chkconfig –level  2345 httpd on  开启自启动
  3. chkconfig httpd on (默认level是2345)
复制代码

    第二种修改方法:

  1. 修改/etc/re.d/rc.local 文件  
  2. 加入 /etc/init.d/httpd start
复制代码

    第三种修改方法:

使用ntsysv命令管理自启动,可以管理独立服务和xinetd服务。

入侵排查

1、查询已安装的服务:

RPM包安装的服务

  1. chkconfig  --list  查看服务自启动状态,可以看到所有的RPM包安装的服务
  2. ps aux | grep crond 查看当前服务

  3. 系统在3与5级别下的启动项
  4. 中文环境
  5. chkconfig --list | grep "3:启用\|5:启用"
  6. 英文环境
  7. chkconfig --list | grep "3:on\|5:on"
复制代码

源码包安装的服务

  1. 查看服务安装位置 ,一般是在/user/local/
  2. service httpd start
  3. 搜索/etc/rc.d/init.d/  查看是否存在
复制代码

1.8 检查异常文件

    1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性

    2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?

​ 可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前访问过的文件

    3、针对可疑文件可以使用stat进行创建修改时间。

1.9 检查系统日志

    日志默认存放位置:/var/log/

    查看日志配置情况:more /etc/rsyslog.conf



*本篇章将本着学习的态度进行分享,严禁用于个人非法行为以及黑产获取!!!!

以上就是本次的渗透安全之Linux系统入侵排查思路方式讲解分享,还是尽可能缩小业务的暴露面对平常的使用进行规范才能尽可能的缩小中毒的概率,感谢大佬们的参阅,此贴先到这里后续会带上更加实用的帖子,感谢大家!

励志分享超清壁纸语句~~:



诚信者,天下之结也。——《墨子》

好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!

打赏鼓励作者,期待更多好文!

打赏
45人已打赏

易逝的信仰 发表于 2023-6-13 17:15
  
每天学习一点点,每天进步一点点。
伊利丹·怒风 发表于 2023-6-13 17:22
  
每天学习一点点,每天进步一点点。
韩_鹏 发表于 2023-6-14 08:33
  
感谢辛苦整理,感谢无私分享
暴躁的钢索 发表于 2023-6-14 08:39
  

每天学习一点点,每天进步一点点。
嘀嘀柠柠 发表于 2023-6-14 08:55
  
仰慕大神的知识储备量。。。。学习了
暗夜星空 发表于 2023-6-14 10:02
  
每日学习打卡
天青色 发表于 2023-6-14 10:02
  
楼主分析的很详细,不错的实战经验,小白用户一看就懂,非常好的技术干货帖,顶一个!
好懒 发表于 2023-6-14 10:08
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
浮云终日行 发表于 2023-6-14 10:11
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
产品连连看
新版本体验
GIF动图学习
自助服务平台操作指引
标准化排查
运维工具
2023技术争霸赛专题
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
安全攻防
SDP百科
设备维护
深信服技术支持平台
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人