分类目录: 奇趣见闻

困扰了快1个月的家用宽带网络卡顿问题-Linux病毒实战手记

最近一段时间家里领导反馈网络经常慢,之前还没太在意,上周反馈给电信,电信小哥直接给换了光猫。观察了几天,仍然间歇性的卡顿。尝试换路由器,换光猫拨号,都没有彻底解决。今天发现homenas流量异常,经常跑出大于电信宽带规格的带宽,家里宽带规格是300Mb的,上行更是只有50Mb的,怎么能跑出1000Mb带宽的数据量,很像是局域网的访问行为,这个带宽看起来很像家用磁盘的规格。压根没往外网流量上面想。查各种监控,都只有带宽和流出数据量的统计,找不到哪个进程或者业务。尝试atop,ntop,iftop,netdata,nethogs各种监控,都看不到流量哪里来的,更别说netstat了。最后只能tcpdump持续抓包,找到了一些线索。

​大量从本机发出去的syn包,syn flood攻击,只是我的nas是攻击方,被拿来做“肉鸡”了。只发出了syn包,netstat看不到连接,还是我敲命令的时候,攻击已经停了,应该是前者,攻击的时候,登录在控制台界面也看不到连接。发现所有的网络统计工具都不显示只发了syn包的连接。syn攻击在工作中经常听到,但是很少有机会去实地解决,前端的防护设备帮挡住了,没想到在家用设备上面遇到了。

​进一步找系统日志,有提示被攻击,应该是对端回应syn的包被系统识别为攻击请求直接拒绝了。
mmexport1713540039729

mmexport1713540042770

mmexport1713540047007

mmexport1713540048592
​第一天就先查到这里了,担心NAS上面的数据被破坏,也先保家里的网络,关机收工。留下了几个疑点:
​1,能跑出80MB上行带宽,远大于5MB,说明电信在这种攻击报文的带宽统计有缺陷,拦不住。当然syn包是否都出了光猫,发到了目标端,还是存疑的;
​2,操作系统能拦截外面进来的攻击行为,不知道有没有拦截本机外发攻击包的行为;
​3,根因应该是nas上面docker滥装,没有考证安全性,被留了后门,或者某个软件有已知的漏洞,被利用了。空了再找吧。

​第二天上午,小心翼翼的开启NAS,继续分析头一天的抓包和系统日志。

试图从日志搜索攻击目标端的IP地址是什么时候注入的,无果。然后逐行分析日志,将重复的UFW日志过滤掉。可以发现有两条Cron的日志一直在打印:

image

这条 /.mod的日志特别显眼,之前就看到过这个日志,没有联想到系统的异常流量,因此觉得就是系统的例行任务。现在仔细看这个文件,是放在根目录的,之前没去分析过这条记录的含义,没注意放在根目录。一般可执行的命令怎么会放在根目录?赶紧去根目录找这个文件,使用ls命令,居然是返回的空,没见过这种,大概率是修改了文件属性之类的,继续使用stat命令,就发现异常了。文件是3月30号创建的。考虑这个文件每分钟都在执行,那我手动执行一次也无妨。使用strace跟踪执行过程,发现这个可执行文件会去打开/usr/lib/libgdi.so.0.8.2这个文件,然后看起来是直接执行这个文件。这是so文件,怎么会可执行呢?病毒无疑了。后面去打开这个文件,才发现是一个脚本。比我想象的简单多了,相当于分析了一下shell脚本执行时的strace,:-(

看到这里震惊了,Linux系统出现病毒文件,并且还能对外发起syn flood攻击。一下子就明了了。这个so文件也是3月30号创建的,然后也尝试执行了一下,strace日志比较复杂,有大量的网络操作。剩下的就没细看了,直接Google,找到了非常接近的介绍:Linux.Siggen.5802,按照这里给的列表,逐一确认是否病毒文件,逐一删除,并清理掉病毒生成的Cron任务。

最后还想找到3月30号系统是如何安装上这个病毒的,找了系统日志,没有发现太大的异常,不知道跟下面这个是否有关系,好像早先折腾过UI界面的桌面环境,不知道是不是当时下载了非标的安装包带入的:

image

不管了,这个也一并卸载了。

最后网络终于恢复宁静了。总结一下,就是syn flood包把光猫或者路由器的带宽和连接资源耗尽,然后NAS自己的网络也占满,最终导致终端上网异常。我是在NAS上面部署了dnsmasq作为局域网的解析,因此有时候还表现为终端能用聊天软件,而不能打开网页。

其实中途,一度怀疑新买的Wifi6路由器不稳定,考虑弄一个二手的企业路由器拨号看看,找到了tplink r473g,还打开了调试模式,登录到路由器的shell里面,尝试用top+nc,把实时的top命令结果传出来,最终也确实有所发现,就是当网络异常时,路由器的CPU是满的,然后CPU用在soft irq上面,就是在不停的响应网络中断,看到这里也没什么头绪。当时就想在路由器上面抓包,但是busybox系统没有默认带这个,也没有curl等命令能把抓包数据传出去,难度有点大,就先放弃了,直到这周五发现HomeNAS经常有流量尖峰,才朝着HomeNAS上面去定位流量异常的这个方向走。最早是考虑局域网内的终端访问NAS带来的,逐个排查是哪个终端导致的,甚至二分法逐一关闭容器,都无果。最终还是抓包+系统日志找到了问题。HomeNAS上面,一般是用docker,很少安装不明二进制包,偶尔安装不明的来源的docker镜像。docker里面搞破坏应该很少能破坏宿主机。目前看来,这个病毒做得还不算绝,没有动系统文件,估计也怕jc抓。计算机世界的病毒跟自然界一样,都是希望跟宿主和谐共处,薅一点资源生存。以前只听说黑客利用系统漏洞,做一些攻击,也一直认为Linux很安全,没什么病毒。第一次经历Linux系统被植入病毒木马,上了重要的一课。

附:一些定位过程中的命令
接收远端日志:(nc -l 12599 -k >> router_log.txt &)
路由器跟踪top:(top –n 1 –d 3 |nc –v 22.22.22.3 12599 &),具体的循环任务忘记了,路由器的top没有打印时间,需要定时增加时间信息输出。
持续抓包:(tcpdump -i eno1  ‘not port 6870 and not port 22 and not port 443’ -s 96 -w all.cap -C 300 &)
iftop持续跟踪系统连接:(while :; do echo `date`>>iftop_all.txt; iftop -t -BNPn -s 10 -o 10s -i eno1 2>/dev/null >> iftop_all.txt; done &)
使用ntopng监控系统网络事件,使用iftop命令监控,跟Prometheus+Grafana的结果差不多,仅仅多了基于连接的统计结果。但是这种半连接过程的数据没有统计。

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:WEB网络, 数码硬件, 移动互联 | 标签: , , , |

印度出差记

大概有一年多没有更新博客了。这一年多时间里,可能经历了职业生涯里面最繁忙的一段时间,不知道还会持续多久,慢慢的都习惯了。

带着艰巨的任务,到印度班加罗尔出差40多天,每天仍然像在国内一样的“战时”状态。今天是国内的中秋小长假,国内无人加班,也可以安静的在这边休息一天。有幸在这个据称为亚洲硅谷的地方工作一段时间,感受一些异国风情,还是很不错的。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 3票) Loading ... Loading ... | 同时归档在:生活札记 | 标签: , , |

北京出差杂记

来北京出差有几周了,很久没更博客,写一篇记录下这次出差的一些感受。不知道为啥这次到北京跟上次去深圳的感觉不一样。上次去深圳是有一种变化特别大的感觉,无论是跟成都还是跟以前自己待了那么就的深圳比,有点不认识的感觉。深圳园区之间以前宽阔的马路,因为两边都立起了大树显得窄了很多,路面规整了很多,当然马蹄山还是老样子。可能是因为在那边呆了很多年有一点点变化就感觉变化特别大。而这次来北京,是第一次,居然没什么异样的感觉,也可能是节奏紧张,一下飞机,赶往办公区,晚饭还没吃,住处还没找,就开始写材料,开会讨论,也没有觉得特别生疏。接下来每天上班的感觉就跟在成都一样,甚至感觉不到是在千里之外的帝都上班,只在深夜下班到酒店时就会想着家人了。心态应该跟工作的内容有关系,做的是熟悉的内容,熟悉的模式,感觉不到差异,也可能是心态成熟了。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 5票) Loading ... Loading ... | 同时归档在:生活札记 | 标签: , , , |

[转]处理器微结构史话

转载自:破布的博客

【注:这是经过小幅修改扩充的版本,刊登在中科院计算所计算机体系结构国家重点实验室的内刊《体系结构国重快讯》上,与《弯曲评论》上已刊登的版本小有不同,带来阅读不便表示抱歉。】

1945 年8月6日与9日,广岛和长崎两座日本本土城市先后在惊天动地的原子弹爆炸中被毁灭,核武器由此首次步入公众视野。全世界都被那两朵巨大蘑菇云的威力所震 慑。这两道重击也直接摧毁了日本最后的抵抗意志,一周后的8月15日,日本宣布无条件投降,在人类历史上写下最惨痛一页的第二次世界大战终于结束。核武器 横绝古今沛然莫御的威力,使得它成为战后制衡国际局势的一大王牌,对它的研究和制造在战后仍然未曾停息。而我们这一系列连载故事的主角,盈盈栖息于指尖之 上,不过毫厘见方的微型处理器,和这两朵摧枯拉朽的蘑菇云其实有着千丝万缕的联系。

Atomic_bombing_of_Japan 
(图注:两次原子弹爆炸的照片,来自维基百科。)

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 11票) Loading ... Loading ... | 同时归档在:数码硬件, 架构设计 | 标签: , , , , |

1995年乔布斯接受采访的视频

机遇,远见加上一些执着,“世界都在手中”,改变一个时代的计算机、商业和管理奇才。这段视频因为当年母带从伦敦运往美国途中遗失,也被称为《遗失的访谈》。在2011年,时隔16年才得以面世,值得一看。

注:微信需要在QQ浏览器等打开才能全屏播放。

| 1 分2 分3 分4 分5 分 (4.90- 10票) Loading ... Loading ... | 同时归档在:数码硬件, 移动互联 | 标签: , |

快播关闭在线服务器,“在线点播”时代终结

 zhuguang

快播在昨晚发出公告,以下为快播至用户书全文:

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.50- 10票) Loading ... Loading ... | 同时归档在:移动互联 | 标签: , |

Google声明没有名为“贾彦斌”的员工

谷歌官方博客官方微博今晚发表声明称,将追究冒充谷歌中国移动开发部总经理的微博ID“贾彦斌”持有人的责任。

声明全文如下:

阅读全文 »

| 1 分2 分3 分4 分5 分 (3.89- 9票) Loading ... Loading ... | 同时归档在:移动互联 | 标签: , , |

Solar Impulse 2可做环球航行的全太阳能飞机

第一代 Solar Impulse 虽然单靠太阳能横越了整个美国,不过中间是有停站,作太阳能和可再生能源使用的推广,而且第一代 Solar Impulse 本身的定位只是一部「空中实验室」,给 Solar Impulse 的团队为太阳能飞行和单靠太阳能的环球飞行一个小牛试刀的机会。而它的第二代——Solar Impulse 2 则是怀着环球航行的雄心壮志问世。

阅读全文 »

| 1 分2 分3 分4 分5 分 (3.50- 8票) Loading ... Loading ... | 归档目录:奇趣见闻 | 标签: , |

如何使用1M的内存排序100万个8位数

今天看到这篇文章,颇为震撼,感叹算法之“神通”。借助于合适的算法可以完成看似不可能的事情。

最早这个问题是在Stack Overflow网站上面给出的(Sorting numbers in RAM):

Sorting numbers in RAM 

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.00- 5票) Loading ... Loading ... | 同时归档在:算法数据结构 | 标签: |

一次与“伟大的墙”插肩而过的经历

刚刚发现所有文章的图片都无法加载,原以为我的WordPress程序存在漏洞被黑了,后来使用curl命令直接获取图片也不行。检查后台的访问日志,发现只要是2013年的日志的图片都无法加载,可以看到服务端是正确接收到了请求,并且已经向客户端返回200 OK,只是在传输图片数据时无法接收。

image

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 3票) Loading ... Loading ... | 同时归档在:建站技术, 移动互联 | 标签: , |
返回顶部