当前位置: 首页 > news >正文

利用hfish反控境外攻击源主机

导师给了7个网络安全课题选题,本想和他聊了下思路,他一挥手让我先做出点东西再来聊就把我打发走了……

正好前段时间阿里云到校做推广,用优惠卷薅了一台云服务器,装了hfish先看下情况

没想到才装上没两天数据库就爆了,跑到客服群里问,换mysql+关扫描感知,一通操作性能好多了

稳定下来又观察了一个月,发现针对SSH的爆破攻击最多,发现有两个可以深入的点:

1)使用ssh云端高交互蜜罐可以抓到攻击者的操作,比如上传后门木马文件,下载之后还能放到沙箱看看具体的等级、威胁情况、C2地址等,是一种稳定的情报生产方式,用perl可以加到院里防火墙做提前拦截/阻断;

2)ssh低交互蜜罐会存储大量攻击爆破hfish的密码表,即可形成爆破字典,借此可反扫描攻击来源IP从而反控攻击来源主机!具体原因是,经过分析,蜜罐抓到的很多都是被自动化蠕虫感染的僵尸主机,这些主机之所以被感染是因为存在弱密码,正常主机被蠕虫感染后就会进行相同的恶意行为,所以同理可证,我们用同样的攻击工具和密码本反破解僵尸主机,有大概率能控制它们。

第一个点子让大飞哥帮我写了个脚本,他们公司也用这个蜜罐,第二个需要自己动手

密码表

先通过web界面导出收集的账号密码,

1649768095_6255769f35a1a79437c79.png!small

导出后有3万7条

1649768101_625576a564777a951dad3.png!small

一个有趣的地方,有小白黑客搞错了参数,将爆破的账号密码参数都搞反了,手动修正后去重剩34000

求大飞哥把他们公司装在云上的N个hfish蜜罐收集到的账号密码也导给我了,修正,然后再和34000的合并去重后有了一个九万条的密码表!

扫描地址

这里有点麻烦,先在linux上安装个jq程序,

yum install jq

hfish提供了一个api可以拿攻击来源ip,不过hfish吐出来的是一个大json,用jq程序,我们将其中ip地址取出来,

经过反复测试,执行如下命令最终可以得到一个ip一行的大txt文件,

curl -k -X POST “https://我的蜜罐地址:4433/api/v1/attack/ip?api_key=不告诉你” -d
‘{“start_time”: 0,“end_time”: 0,“intranet”: 0}’ | jq “.data .attack_ip”[] |
sed s/"//g

1649768109_625576ada972eca9d00e1.png!small

最后是激动人心的时刻,我做了一个计划任务,每天从hfsih api接口取前一天的攻击来源地址。

用从github上下载的hydra加载9万个密码表暴力破解,运气好的话每天可以反向控制150台左右的境外ip,有时候运气不好只有40几台,为避免法律风险,这里就不贴图了。

经过抽样分析,大部分主机已经被蠕虫反复感染,

进一步执行netstat -ant 和查看ssh登录记录得到更多攻击来源地址,

再用perl做一个脚本生成csv文件,导入到nrd中生成关系图,不知道为什么nrd老崩溃,但数据已经到手了,可以找导师去了!

生成csv文件,导入到nrd中生成关系图,不知道为什么nrd老崩溃,但数据已经到手了,可以找导师去了!

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

http://www.lryc.cn/news/116288.html

相关文章:

  • 4、Rocketmq之存储原理
  • 在线原型设计工具有好用的吗?就是这10个
  • Vc - Qt - QPainter translate
  • Spark Catalog详解
  • 【Spring专题】手写简易Spring容器过程分析
  • fastadmin自定义键值组件Fieldlist
  • yolov2检测网数据集标注_labelme使用_json2txt格式转换
  • C/C++面试总结
  • Python爬虫的Selenium(学习于b站尚硅谷)
  • springboot 对接 minio 分布式文件系统
  • 前端小练习:案例4.3D图片旋转展示(旋转木马)
  • Linux这17个操作技巧是每个运维工程师应知必会的吧?
  • 音视频基础:分辨率、码率、帧率之间关系
  • Java基础八 - HTTP相关/Cookie/Session/网络攻击
  • 【车道线】TwinLiteNet 复现过程全纪录
  • 七牛云获取qn(url、bucket、access-key、secret-key)
  • 定时任务实现 - Cron表达式知识
  • 【java】抽象
  • Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit
  • 日撸代码300行:第63天(集成学习之 AdaBoosting-1)
  • 抽象父类获取子类的泛型 或接口泛型
  • 题目:2341.数组能形成多少数对
  • NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?
  • vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件
  • python优雅地爬虫
  • mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log
  • vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误
  • View绘制流程-Window创建
  • Jenkins build包时虽然单元测试失败了,但是仍然可以成功build包(最终结束时build success)
  • 【vue3】基础知识点-setup语法糖