偶然习得一篇关于Linux下HIDS的绕过方式,遂来学习一下。刨除大哥的各种猜想与正确失败的验证,只把结论显示出来: 1.日志类,登陆/ssh爆破:/var/log/securt 通过不断尝试发现,发现安全设备是通过/var/log/securt
这个文件来实现报警的。只要写成执行文件,后台运行。就可以绕过了日志了。Shell脚本如下命令:写成sh,后台执行 While: do sed –i ‘/ip /d’ /var/log/securt done 结论:因为安全设备因为可用性或者运行负荷不能完美实时地抓取日志,只要你改的比他读的快,安全设备便追不上你,各类日志都是同理,iptales,ssh,甚至一些中间件也是同理。 2.history日志ssh root@localhost –T /bin/bash
发现真的成功了,执行命令不记录。 结论:在no tty
模式下执行命令是不记录的 3.反弹shell报警 新上传的bash可以绕过history记录
反弹shell(一个可交互的真shell)的时候是需要fork出来的子进程 execve /bin/bash 的,但是这样一般会引发告警,此时就有个需求,不让execve内核hook监控知道我执行的是 /bin/bash ,这里总结一下大概有如下方法: 1. 最简单的把/bin/bash拷贝一份,然后执行,但是一般会云查,所以最好修改一下/bin/bash的内容 2. 给/bin/bash 创建软链接,使用 ln -s ,或者 cp -s ,然后执行符号链接。 3. memfd ,这个syscall一般都会监控,而且会对内存的数据当做文件采集。 4. fexecve , 此方法本质上调用的依然是 execve,只不过路径传入的是 /proc/self/fd/%fd 5. 使用加载器,32位执行 /lib/ld-linux.so.2 /bin/bash , 64位执行 /lib64/ld-linux-x86-64.so.2 /bin/bash 6. 内存加载ELF文件,项目有ulexecve
之前面试的时候,面试官问的一个问题需要阅读SharpSQLTools的源代码,其中真正执行恶意payload的地方是在这个DLL中,备份一下
钓鱼场景下,如何快速的搜集密码是一个需要我们特别关注的事情。收集了一些软件供我们使用 ripgrep递归地搜索目录中的文件以查找正则表达式匹配的内容 akawaka似乎非常简单的一个小程序,没有什么正则匹配,就是单纯的关键词搜索 感觉足够这两款软件,回来依次尝试一下