攻防演练总结【通过】

一. 从文件上传到getshell。

发现目标点:前台-留言板
上传测试:

  1. 上传jpg。返回200 url:http://ceshi.com/2020-6-7/1592796160.jpg

  2. 上传txt。内容:123 Success

  3. 上传Jsp。 内容:123 Success
    等等。目的测试目标可解析文件。
    全是200.心里一激动。感觉又怪异。访问jsp ,出现123.心里想着shell到手。

    再次测试:

  4. 上传jsp冰蝎马, 返回200 。url:http://ceshi.com/2020--6-7/1592796558.jsp
    心里激动,shell到手。 访问一下试试,页面 404。 ~~~~
    猜想:

  5. 内容检测。

  6. 返回数据包有问题。实际没有上传成功。

继续测试:
5. 针对内容检测fuzz,主要针对特殊字符。<%@%>等。(一般马都有)

  • <%任何字符%>。 404
  • <%123> 404
  • <123%> 200
  • 经过不断的fuzz,发现上传jsp开头不能使用%。

思路:找到不带%%的jsp马。.继续fuzz。

6.这里先找不带%%的jsp命令执行马。

  • 使用不带%%的jsp马,一马平川,上传 返回200.访问200.webshell到手
  • 命令执行,突然发现不能带空格的命令。
  • 使用拼接等发现也没有办法执行。

7.继续fuzz。使用混淆试试,之间都是正常字符测试。
之前的测试数据包:

					123qwe
					<%%>
			返回404.
			使用混淆。
				<此处是乱码>
				<%正常jsp命令执行木马%>

返回200.
可以正常命令执行。

Ps:第一个没有带%%的木马,白嫖后太急了,没看代码,之后看代码才发现,带空格的命令需要用@连接。[email protected] 即可执行~~~emmm

image

二. 继上文,不完整的内网探测。架设目标当前内网地址10.10.10.1/24(DMZ区)

  1. 从上文拿到了webshell,命令执行。
    简单执行几个命令。

  2. ipconifg/arp/netstat -ano。 探测内网的基本网络环境 –存在多层内网

  3. net time 探测一下是否存在域控环境。 --当然内网无域控

  4. tasklist 查看进程。 存在vmtools.Exe --vm虚拟化的云/未发现杀软

  5. powershell。 可运行。

  6. 针对目前的环境powershell可运行,考虑直接远控。CS上线。(方法很多,简单最好)

Cs:
attacks---web Drive-by---scripted web delivery 生成powershell 。

利用命令执行powershell.exe 。 滴滴 cs上线。

3.一些坑(x86的系统,有点蒙)

  • 稳定性不强,cs一直卡住,5分钟才能执行一个命令。一顿以为是被发现了。~
  • 怀疑是x86 的powershell问题,上传了一个exe文件,发现快多了。但是还是不是太稳定。
  • 最后cs注入进程分派给msf一个session。发现msf 最稳定。

4.简单的内网测试—为啥简单,半路被发现了。关战了。。。

  • cs -mimikatz -读取admin- hash—ntlm—md5解密---成功解密
  • cs -socks代理到vps,Proxifier代理到本地。全流量到本地,有点坑,只加载了mstsc.exe 到本地。(前期因为cs不稳定,尝试各种稳定的远控,浪费了很多时间,导致后面被发现的原因之一)
  • mstsc登陆。看一下网络连接。发现数据库网段和其他网段
	10.10.10.1:123 ---10.10.20.1:3306(重点)
	10.10.10.1:233 --- 172.10.1.1:98
	10.10.10.1:333 --- 10.254.1.1
 查看本地的mstsc,没有发现连接记录。
 查看浏览器,没有发现利用价值。
 Tracert ,探测出网网段。

当前:DMZ区。
目标:云/数据库网段。
目标区域:管理区或者业务区。说明最少跳一下,才有收获。

  • 当前网段,为了发现更多敏感网络。探测发现存活机器数10多台,密码通用,登陆几台看看,网络连接等,未发现更多的东西。停止,换姿势。
  • 数据库网段,arp探测。发现近10台机器。
  • 目标是寻找云平台,常规思路:

网段探测80端口,找web 登陆接口。手里没有好的抓取title的脚步,直接上的Advanced IP Scanner。 扫描了数据库网段。抓取web title。运气好,密码还是通用。
简单的看一下,没有收获。

然后,cs掉了。然后,关站了~~我。。。

image

三:失败的注入点—未getshell(Mysql)

目标点:后台-爆破用户名-登陆后台-某处搜索框存在sql注入。
  1. sqlmap直接注入。发现存在报错注入和延时注入。
  2. 思考如何获取权限:
    a) 常规
  • 网站绝对路径、web目录可写、支持into outfile

b) udf执行系统命令

  • 知道lib/plugin目录 支持into outfile
  1. 尝试getshell:
  • 当前dba ---true
  • 使用sql-shell 获取当前数据库路径。 E:\Program Files (x86)\Mysql\data
  1. 寻找网站绝对路径
  • 网站报错,未发现,统一404优化报错页面
  • 通过数据包,发现resin1.0.6进行resin路径猜测。
    i. 找打resin后台,未爆破成功
    ii. 寻找resin历史漏洞,都不存在。
    iii. 进行resin路径猜测
  1. E:\ resin.

  2. C:\ resin

  3. E:\ \Program Files (x86)\resin

  4. 把上述resin 路径加上版本号等等,也未果。放弃~

  5. 尝试udf执行系统命令(也是第一次用)

  1. 寻找高权限用户。
  • 直接sqlmap读取用户名密码,发现最开始的几个全部都是NULL,其余未发现admin用户。
  • 换思路,使用sql-shell读取尝试
    i. Select *from id,pwd limit 1;读取成功
  • 登陆
    i. 好几个数据库管理。
    ii. 未发现利用点
  1. 关于这里的文件上传(怕表哥说后台上传点都没有)

image

四:总结

文件上传失败总结:

  1. 第三方图床。没啥用
  2. Flash上传,访问url: http://1.1.1.1/1.jsp?id=12345678。 不解析
  3. 上传至数据库,
url:http://1.1.1.1/1.jsp?2j3i4h2h1h5h?token=12345?url=http://1.1.1./1.jsp? 2j3i4h2h1h5h?url=http://1.1.1.1/xxxxxxx  

也不解析。
4. 白名单。10个上传9个白名单~,绕不过
5. 目标模版统一。一通百通,一不同百不同
6. 参数访问。不解析
7. 内容检测绕过。

整体流程总结:
攻防演练准备—被选中目标提交目标网站—正式开始。
目标网站是别人挑选的---应该都是很安全的网站---直接打目标打不动。

本次用到的渗透思路:

  1. 越来越多的演练,都是C段入手,目标实在打不动。
    a) 这次获取的C段shell还是不少,有点坑是要不就是阿里云。要不就是直接被关站。
    b) C段内网快速找到目标。
    i. 内网本地nslookup ,查看目标网站是否为内网地址解析。--未发现
    ii. 内网网段,快速探测web端口,获取titile值,进行对比。

  2. 子域名问题
    a) 目标站点:www.ceshi.com (测试官网)
    子域名: a.ceshi.com (测试子域名)
    子域名ip:1.1.1.1:80 (测试子域名)
    发现漏洞存在点 1.1.1.1:90 (不是测试子域名资产,另一套系统)
    假设获取 1.1.1.1:90 数据库 原则上没用
    假设获取 1.1.1.1:90 getshell。证明是目标资产,比如内网找到目标子域名数据裤才可。
    b) 资产子域名,三级子域名不可。

  3. 旁站,没有可圈可点的地方,略过。

最后:
菜鸟的基本素质:演练三天,总结一周。
别人0day-getshell,我只会明文爆破用户。

  • 通过
  • 未通过

0 投票者