导师给了7个网络安全课题选题,本想和他聊了下思路,他一挥手让我先做出点东西再来聊就把我打发走了……
正好前段时间阿里云到校做推广,用优惠卷薅了一台云服务器,装了hfish先看下情况
没想到才装上没两天数据库就爆了,跑到客服群里问,换mysql+关扫描感知,一通操作性能好多了
稳定下来又观察了一个月,发现针对SSH的爆破攻击最多,发现有两个可以深入的点:
1)使用ssh云端高交互蜜罐可以抓到攻击者的操作,比如上传后门木马文件,下载之后还能放到沙箱看看具体的等级、威胁情况、C2地址等,是一种稳定的情报生产方式,用perl可以加到院里防火墙做提前拦截/阻断;
2)ssh低交互蜜罐会存储大量攻击爆破hfish的密码表,即可形成爆破字典,借此可反扫描攻击来源IP从而反控攻击来源主机!具体原因是,经过分析,蜜罐抓到的很多都是被自动化蠕虫感染的僵尸主机,这些主机之所以被感染是因为存在弱密码,正常主机被蠕虫感染后就会进行相同的恶意行为,所以同理可证,我们用同样的攻击工具和密码本反破解僵尸主机,有大概率能控制它们。
第一个点子让大飞哥帮我写了个脚本,他们公司也用这个蜜罐,第二个需要自己动手
密码表
先通过web界面导出收集的账号密码, 导出后有3万7条 一个有趣的地方,有小白黑客搞错了参数,将爆破的账号密码参数都搞反了,手动修正后去重剩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
最后是激动人心的时刻,我做了一个计划任务,每天从hfsih api接口取前一天的攻击来源地址。
用从github上下载的hydra加载9万个密码表暴力破解,运气好的话每天可以反向控制150台左右的境外ip,有时候运气不好只有40几台,为避免法律风险,这里就不贴图了。
经过抽样分析,大部分主机已经被蠕虫反复感染,
进一步执行netstat -ant 和查看ssh登录记录得到更多攻击来源地址,
再用perl做一个脚本生成csv文件,导入到nrd中生成关系图,不知道为什么nrd老崩溃,但数据已经到手了,可以找导师去了!