刚刚学习了GO的DNS代理服务器编写,这个服务器本来是用来隐藏CS的,但是由于跟着书上的实验没成功,就在本地环境真实的测试了一下我们真实情况下使用DNS上线CS的方法,并且简单分析了其流量特征。
首先我们需要准备一个域名,我这里就使用我的博客域名进行haochen1204.com进行实验。我的域名是在阿里云买的,解析也在阿里云做的,所以这里就还是使用阿里云。正常情况下我们最好在国外购买域名并且进行解析,原因你懂的。
首先,我们创建两条NS记录以及一条A记录,NS记录指向我们的A记录所指向的子域名,A记录指向我们的CS服务器。
A记录想必大家肯定都知道是干嘛的,他对应了我们的域名与服务器IP地址。而NS记录的作用则是用来记录域名服务器记录,用来指定该域名由哪个DNS服务器来解析。也就是说我们请求时,首先通过ns记录知道了DNS服务器为cs.haochen1204.com,然后通过cs.haochen1204.com知道了解析服务器的地址为xxxx,而这个地址则是我们的CS地址。
我们尝试使用dig获取我们的DNS信息,会发现他的地址为0.0.0.0。(!!!以上子域名在测试完成后已删除,并未实际使用!!!)
然后我们在CS中编辑监听器,并生成使用该监听器的木马。
在经过漫长的等待后,会出现一个黑色的电脑,然后再经过漫长的等待,我们可以看到我们的靶机已上线。(这个东西是真的慢,大家耐心等待。。。)这里建议使用Stageless,也就是beacon,因为这个才是一个完整的木马,前面那个首先需要与CS通信,把完整的木马下载下来,本来这个速度就十分慢,再下载就更慢了。
再经过漫长的等待,终于上线了。。。
然后我们尝试执行命令。
首先,我们可以看到心跳流量,是通过A记录,在我们的NS记录的子域名上再加子域名进行的。
在我们输入命令后,类似于txt api.xxx post.xxx这类的都是cs在传输数据的特征。