相信如果是一个简历上写了HW比赛相关的大家在面试中经常会遇到这个问题。
其实在面对大量的内网安全监控设备,想要100%避免防守方的检测几乎是不可能的,只能尽可能的减少
流量检测是什么实现的?
对于HTTP流量,其实就简单了,流量检测明文传输的一切流量,主要特征有header的相关字段,url是否特征,body是否有特征等。
对于HTTPS流量,如果能解开,那么就和HTTP检测效果是一样的。如果解不开的话,就会进行一定概率的猜测,如数据包大小是否异常,数据包频率是否过高,通信的域名,通信的IP,以及证书相关信息进行检测。
对于TCP流量,一般是通过数据帧的规则进行匹配的,比如FRP等流量未进行魔改之前都有特定的数据包。
对于DNS,则根据请求长度或者敏感字符来进行匹配。
对于ICMP协议比较难检测,可以通过检测是否符合原本的ICMP来进行比对。
Webshell
所有的Webshell都是有特征的,不过随着攻防对抗的不断变化,webshell的特征不断的被弱化,很多时候只有弱特征。通过抓包的方式或者进行一定程度的魔改可以bypass掉大量的流量检测。
比如有些流量的正文body请求长度固定能被16整除,那么就可以判定为疑似的特征。
如果要修改一些流量特征,需要对加密方式进行修改。
之前写过一篇简短的文章在bypass知识库里,可以简单看下。也可以burp抓包自己分析下。
cs检测
默认心跳包,服务器证书加密,HTTPS,自定义http头,以及内容(可用cs的profile),CND上线等等等。
cs目前是玩的比较花的了。
FRP
TLS-enable以及一些其他的字符串特征,包括其他的一些开源的隧道工具,都有自己的特征,可能是一些无关紧要的字符串,如果想研究的话可以使用wireshark等抓包工具仔细抓包分析下。
内网横向工具
内网横向工具是最难进行bypass的,一般内网横向恶意流量威胁检测的话都是基于时间频率来进行判别的。
使用SYN的模式扫描能bypass少数,但是不够明显。
除此之外,如果是检测SMB,WMI这些类型协议的话,的确没什么好的办法。但是如果是针对psexec,wmiexec的工具的话,可以尝试魔改,或者使用一些冷门的工具。
例如psexec会去连接\hostname\admin$,这个属于高危操作。
另寻僻路?
对于一些小内网,或者口子比较多的点的话,可以采用不规避流量的方式采用速战速决的方式。
扫描可以不用50,100 直接用上300,500 速度越快越好,甚至可以在20、30分钟之内就快速刷完内网提交报告。
多个口子的话,可以一个口子的数据包发得杂乱一点,另外一个口子的频率就下降一点,这点需要多人分工合作比较好。
当然这只是一种思路,至于可行性就要自己研判了