ssh 日志发现从本机暴力登录本机

86 天前
 Muslanet

服务器是本地服务器,ip 为内网 192.168.12.12,已关闭密码登录,22 端口改成了高位。 查看/var/log/auth.log 每三分钟 Invalid user openbravo from 192.168.12.12 port 49136,一直换用不同的用户名和端口

尝试找是否有恶意软件: 1.watch -n 1 'netstat -tnp | grep sshd',确实看到了一个转瞬即逝的进程,截图使用那个 pid 当然已经太晚了查不到该进程。 可以看到的是: tcp6 0 192.168.12.12:22 192.168.12.12:51128 ESTABLISHED 3399110/sshd: [acce 最后那个显示不全,仅用 netstat 发现就是不全,线索就到这了。

2.问 chatgpt 让使用 auditd 审计日志 auditctl -a exit,always -F arch=b64 -S connect -k ssh_attempt

过段时间再有 ssh 暴力登录,来查看审计结果 ausearch -i -k ssh_attempt

type=PROCTITLE msg=audit(2024 年 02 月 12 日 15:17:57.721:3187) : proctitle=auditctl -a exit,always -F arch=b64 -S connect -k ssh_attempt 
type=SOCKADDR msg=audit(2024 年 02 月 12 日 15:17:57.721:3187) : saddr={ saddr_fam=netlink nlnk-fam=16 nlnk-pid=0 } 
type=SYSCALL msg=audit(2024 年 02 月 12 日 15:17:57.721:3187) : arch=x86_64 syscall=sendto success=yes exit=1068 a0=0x4 a1=0x7fffb7ca6b50 a2=0x42c a3=0x0 items=0 ppid=2374156 pid=2374157 auid=bahtyar uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts4 ses=2818 comm=auditctl exe=/usr/sbin/auditctl subj=unconfined key=(null) 
type=CONFIG_CHANGE msg=audit(2024 年 02 月 12 日 15:17:57.721:3187) : auid=bahtyar ses=2818 subj=unconfined op=add_rule key=ssh_attempt list=exit res=yes

没有捕获到信息,有尝试监听 tcp 建立连接,还是无果。

不是搞安全的,对这一块真是没办法了,谷歌也没找有类似案例,真是哭死。。。直接从内部从登录。另外使用 Fail2ban 黑名单本机 ip 无效,使用 uwf ,uwf 服务没开是不是要换 iptable 啊,有无专业点的老哥给点意见,怎么揪出来这个恶意软件,虽然目前还没被攻破,但是总是不放心

4107 次点击
所在节点    信息安全
14 条回复
xqzr
86 天前
frp 类🤔
restkhz
86 天前
192.168.12.12 上面跑了什么服务?这样看 12.12 可能已经沦陷了。
赶快把 12.12 隔离开来重点分析 12.12 上面服务的日志吧,一步步理清楚发生了什么,如果还有日志的话。
Andrue
86 天前
你最近加过服务的话可能是服务内有漏洞,或者是对应服务专用账户被扫出来爆破了
可以先禁止除你维护账户以外的所有账户 ssh 登录,并限制你维护账户使用密钥登录看看
LeeReamond
86 天前
楼主密码挺强啊,我记得本地暴力密码的带宽是很大的。。。
huangsijun17
86 天前
@LeeReamond #4 第一行就写了“已关闭密码登录”。
Muslanet
86 天前
@restkhz 都是些本地不重要的 docker 服务和一些影视资源,不会有啥损失,而且一时半会不会被攻破,已经持续至少一个月了,主要是想揪出来是哪个进程
Muslanet
86 天前
@Andrue 想用排除法试试来着,应该是某个服务,一个一个停看看吧,就是服务有点多,挺费事
Muslanet
86 天前
@LeeReamond 状况持续挺久了,一直没发现,问题不大
leaflxh
86 天前
auditctl -a exit,always -F arch=b64 -S connect -k ssh_attempt
这条命令的作用是,记录所有使用过名为"connect"的系统调用的进程(如果你写过套接字编程的话应该熟悉,这是一个用于客户端建立 TCP 连接的函数)。同时这个系统调用是 64 的

如果你的端口是 23456 ,那么在本机执行 ssh -p 23456 root@192.168.12.12

然后 ausearch -i -k ssh_attempt | grep -A 10 23456

应该会有如下的输出

type=PROCTITLE msg=audit(02/12/2024 11:44:41.827:58) : proctitle=ssh -p 23456 ssh@192.168.1.22
type=PATH msg=audit(02/12/2024 11:44:41.827:58) : item=0 name=/var/run/nscd/socket nametype=UNKNOWN cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(02/12/2024 11:44:41.827:58) : cwd=/root
type=SOCKADDR msg=audit(02/12/2024 11:44:41.827:58) : saddr={ saddr_fam=local path=/var/run/nscd/socket }
type=SYSCALL msg=audit(02/12/2024 11:44:41.827:58) : arch=x86_64 syscall=connect success=no exit=ENOENT(No such file or directory) a0=0x3 a1=0x7fff16e548f0 a2=0x6e a3=0x938a8774 items=1 ppid=34556 pid=34879 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts3 ses=129 comm=ssh exe=/usr/bin/ssh subj=unconfined key=ssh_attempt
----

说明能成功记录审计数据,同时最后一个参数 exe=/usr/bin/ssh 指明了调用这个"系统调用"的进程,所在的本地文件位置

如果没有的话,可能你的系统不是 64 位的
serafin
86 天前
每三分钟尝试一次大概率是内网穿透类的服务。如果是本地至少每秒 300 次尝试爆破啊。有 frp 或 Cloudflare tunnel 类似的服务吗?
Muslanet
86 天前
@serafin 上述所有操作基于 zerotier 远程操作的,netstat 查看通过 zerotier 建立的 ssh 的 session 目的端和源端都是 zerotier 的虚拟地址,并不是本机 ip ,然后 cloudfalale tunnel 确实有在用,但我想这个隧道全都是绑的固定端口,也没法访问暴力破解那种一直换端口吧?
yumusb
86 天前
虽然目前还没被攻破--
有没有可能目前已经被攻破了,黑客在发起内网扫描。或者说,你通过软件映射了 ssh 出去?
adoal
86 天前
来自于自己的尝试……大概率是用户态的 L4 端口映射
kenvix
86 天前
经验上说,这种情况一般是有端口映射的客户端程序,例如 frpc 。然后服务端例如 frps 被扫了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1015418

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX