反弹shell检测增强思考

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路

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多维检测技术详解_云安全中心(态势感知)-阿里云帮助中心 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

信安成长日记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值