黑客攻防实战
去年秋天,黑客我帮一个做电商的攻防朋友排查服务器异常。他告诉我,实战后台每天凌晨三点左右会多出几个管理员账号,黑客删掉之后第二天又冒出来。攻防我登上去看了一眼,实战发现`/var/log/auth.log`里有一条被注释掉的黑客定时任务记录,路径指向`/tmp/.hidden/update.sh`。攻防那个目录是实战空的,但`crontab -l`里干干净净,黑客`systemctl list-timers`也没有可疑项。攻防最后是实战在`/etc/cron.d/`下找到一个叫`0hourly`的文件,内容伪装成系统更新脚本,黑客实际上每晚会从某个境外IP拉一个二进制文件执行。攻防 这就是实战典型的“留后门”手法。攻击者拿到权限后不会大张旗鼓,而是把恶意代码塞进系统正常的调度机制里。很多人查入侵只看`ps aux`和`netstat`,但现在的恶意进程会伪装成`[kworker/0:1]`这种内核线程名,端口也不一定监听——它可能只是定时回连C2服务器。 说到回连,我见过最隐蔽的一种是走DNS隧道。有个客户的数据库服务器频繁向外发起DNS查询,域名看起来像`a1b2c3.update.microsoft.com`这种。乍看是Windows更新,但服务器是CentOS。抓包发现查询的子域名是base64编码的数据,每次查询携带几十字节,积少成多就把数据传出去了。这种流量防火墙基本不拦,因为53端口是放行的。 防御这块,我的经验是别迷信单一工具。WAF能挡SQL注入,但挡不住逻辑漏洞;EDR能监控进程行为,但攻击者用PowerShell无文件攻击时,很多EDR反应不过来。真正有用的做法是建立基线——你知道服务器正常时CPU、内存、网络连接数是什么样,一旦偏离就能察觉。我习惯在每台机器上跑一个轻量脚本,每五分钟记录一次`ss -tunap`和`lsof -i`的输出,存到本地再同步到日志服务器。有次就是靠这个发现某台机器突然多了个到罗马尼亚的443连接,而业务根本用不到那个地区。 还有一点,别忽略物理层。我参与过一次红队演练,目标公司网络隔离做得很好,外网进不来。但我们发现他们办公区有个没锁的弱电间,里面交换机上插着一台树莓派,连着4G网卡。那台树莓派就是之前某次“施工”时留下的,已经跑了三个月,专门做内网横向。所以攻防不只是敲键盘,有时候一把螺丝刀比零日漏洞管用。 说到零日,其实大部分入侵用的都是已知漏洞。某次应急响应,我在Web目录下找到个`shell.php`,内容就一行``。问开发,说是两年前为了调试方便传上去的,后来忘了删。就这一个文件,攻击者拿到了数据库密码,然后通过`xp_cmdshell`提权到系统。所以打补丁、删测试文件、最小权限原则,这些老生常谈的东西才是真防线。花哨的攻击链往往建立在基础疏忽之上。 最后提一个细节:日志。很多人只开`access.log`,不开`error.log`,或者开了不轮转。我见过攻击者往`error.log`里写PHP代码,然后通过本地文件包含漏洞执行。日志文件本身也是攻击面。我的做法是日志目录只允许特定用户写入,且用`chattr +a`追加模式,连root都不能直接删改。这样即使攻击者进来,想擦脚印也得费点劲。 攻防是动态的,今天管用的方法明天可能就失效。但核心逻辑没变:攻击者要进来,要留驻,要外传数据。你在每个环节加一点阻力,他就得多花十倍成本。大多数攻击者会转向更容易的目标。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-