
1 dbg 2024-03-08 19:05:42 +08:00 via Android Linux rookit |
2 fredcc 2024-03-08 19:06:30 +08:00 via Android 木马的基本功能,一般是替换系统的 netstat 和 ss 文件实现 |
3 ho121 2024-03-08 19:08:12 +08:00 via Android iptables |
4 pagxir 2024-03-08 19:10:50 +08:00 via Android 用 raw socket 就看不到 |
5 idontnowhat2say 2024-03-08 19:11:45 +08:00 ebpf |
6 PTLin 2024-03-08 20:09:08 +08:00 对于 ss 这种用 Netlink 的 epbf lsm 到 socket_create 应该就行 |
7 0x20H 2024-03-09 20:23:48 +08:00 我记得见到过一次用 iptables 规则写的敲门技巧,大概就是默认情况下某个端口是关闭的,通过 ping X 次服务器触发 iptables 规则开放这个端口,再 ping X 下触发规则关闭端口。这是对外的,扫描器规则一般无法触发。 对内 netstat/ss 这种可以替换,或者 alias 写个同名函数,过滤掉要隐藏的端口,但都不保险。 持久化的话没必要让木马一直活动吧,或者没必要用这种需要络连接的方式吧,其他方法呗 |
8 s82kd92l 2024-03-09 20:30:58 +08:00 黑产? |
9 dode 2024-03-10 10:09:47 +08:00 命名空间,docker 主机模式网络 |
10 lrh3321 2024-03-10 11:46:47 +08:00 raw socket DPDK 或者弄个独立的网络命名空间/虚拟机 |
11 bfdh 2024-03-10 21:41:19 +08:00 rootkit +1 |
12 skyrim61 2024-03-11 11:26:53 +08:00 类似于上面的这些技巧, 哪里可以学习的到? |
13 tomychen 2024-03-12 15:07:56 +08:00 strace -o netstat.log netstat -antp 会发现 netstat 会去/proc/net/tcp(6) 读当时网络连接 至于隐藏就是 hook 了,至于 ring3 还是 ring0 ``` open("/proc/net/tcp", O_RDONLY) = 3 read(3, " sl local_address rem_address "..., 4096) = 600 write(1, "tcp 0 0 0.0.0.0:22 "..., 101) = 101 write(1, "tcp 0 0 127.0.0.1:25"..., 101) = 101 write(1, "tcp 0 196 192.168.10.6"..., 101) = 101 read(3, "", 4096) = 0 close(3) = 0 ``` read 进来,write 输出 hook 任保一个 syscall 都可以达到屏蔽输出的需求 |