反弹shell检测增强思考

文章探讨了如何劫持Bash的内置命令,分析了这些命令是否通过so库执行,以及不同平台的函数劫持方法。提到监控.bash_history文件来跟踪终端操作,并讨论了pdb在函数地址查找中的作用。文章还提到了eBPF在网络安全监测中的应用,并列举了多种相关技术资源。

思路

1.我们有内置bash命令,可以用enable查看,而想劫持这些命令,我们有如下研究和思考流程
2.bash的内置命令,是否走so库,也就是是否走动态链接库,因为如果对于这些命令直接静态编译到程序中是无法劫持的,但是应该会走so(对于windows都走ntdll.dll,也就是操作系统会通过一个so库做api导出,之后最后走syscall调用具体服务,应该不会自己内置syscall在bash的代码中),也就是我们要确认如下

2.1 bash内置命令是否走so库

2.2 如果不走so则无法劫持

劫持函数调用的方法

1.如果是对于so或dll劫持,只需要劫持导入函数即可,实现其导入函数,也就是替换掉对应的dll或者so文件,

2.如果不是导入劫持,而是程序中函数劫持,windows,需要直接取函数地址,之后替换,或需要在内存中搜索函数特征,之后进行inline劫持

监控.history方法

可以尝试监控.bash_history,这个方法对于bash有用,zsh可能会存在其他路径,并且要用netlink监控,inotify不会返回相应fd节点

pdb与其关系

对于劫持函数其实仅仅是劫持函数地址,也就是知道函数在哪里,有没有pdb,既地址对应什么函数,函数名,其实没什么关系,导入导出表劫持,或内存劫持,对其都没关系

最终结果

验证了所有bash内置的命令,都不走so库

参考资料

api - What is the Linux Equivalent of Kernel32.dll? - Stack Overflow

GDB调试实战给程序传递启动参数 (cha138.com)

bash命令审计,记录终端操作指令 | HI~ 杨小样 (yoncan.github.io)

Index of /gnu/bash

黑盒测试某安全设备监控报警的绕过 (f5.pm)

基于 eBPF 的开源项目 eCapture 介绍:无需 CA 证书抓 https 网络明文通讯 | IT瘾 (itindex.net)

perf-tools/uprobe_example.txt at master · brendangregg/perf-tools (github.com)

[原创] ELF Hook总结与代码实现-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com (kanxue.com)

理解glib和glibc(libc.so.6)_ubuntu libc.so.6_zhojiew的博客-优快云博客

namhyung/uftrace: Function graph tracer for C/C++/Rust (github.com)

Index of /gnu/bash

c++ - Trace libc and system call function calls on Linux? - Stack Overflow

How to Make Static Linked Elf File to Load Ld_Preload .So - ITCodar

shell - How can I access the history buffer in sh? (not in Bash) - Unix & Linux Stack Exchange

自动化反弹Shell防御技术 - 腾讯云开发者社区-腾讯云 (tencent.com)

如何利用AgentSmith-HIDS检测反弹shell - 开发者头条 (toutiao.io)

【机器学习】基于机器学习的反弹shell命令识别_Coder_preston的博客-优快云博客

云安全中心反弹Shell多维检测技术详解_云安全中心(态势感知)-阿里云帮助中心 

Linux 反弹 shell 是一种攻击技术,攻击者利用漏洞或恶意代码将远程 shell 注入受害者的系统,从而获取对系统的控制权。为了检测 Linux 反弹 shell,可以采取以下几种方法: 1. 监控网络活动:使用网络监控工具,如 tcpdump 或 Wireshark,检查网络流量是否存在异常连接或未知的传出连接。特别关注与反弹 shell 相关的常见端口(如 4444、31337)。 2. 检查系统进程:使用 ps 或 top 命令检查正在运行的进程列表,查找不明确的、不信任的或异常的进程。特别关注与反弹 shell 相关的常见进程名称(如 netcat、nc、socat)。 3. 检查系统文件:使用查找命令(如 find)或相关工具,检查系统文件是否存在未知的、可疑的或异常的文件。特别关注与反弹 shell 相关的常见文件名和路径(如 .bashrc、.bash_profile、.ssh/authorized_keys)。 4. 检查系统日志:查看系统日志文件,如 /var/log/auth.log 或 /var/log/secure,检查是否存在异常登录尝试或认证失败记录,以及与反弹 shell 相关的异常日志。 5. 使用专业工具:使用专门的安全工具,如 LOKI、Lynis、AIDE 等,来扫描系统并检测可能的反弹 shell 活动。这些工具可以自动化检测系统中的恶意活动和异常行为。 请注意,这些方法可以帮助您发现潜在的反弹 shell 活动,但不能保证绝对的安全。建议您定期更新系统、安装最新的安全补丁,并采取其他安全措施来确保系统的安全性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信安成长日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值