我的C++学习过程-编写的域渗透小工具
0x01. NetLocalGroupGetMembers
功能:查询目标服务器本地管理组的成员
0x02. NetLocalGroupEnum
功能:返回指定服务器上的所有本地组
0x03. NetGroupGetUsers
功能:返回指定服务器指定组的所有成员
查询域里的各个组里的成员,IP必须是域控IP
0x04. NetUserEnum
功能:查询目标服务器所有用户,包括隐藏用户
0x05. wnetaddconnection2a
功能:建立IPC连接,可以将目标共享目录映射到本地磁盘
0x06. WNetCancelConnection2
功能:删除IPC连接
0x07. EnuDomainUser
功能:枚举域用户
1. 介绍
适用于:当前边界机器权限是工作组机器,通过nltest或者nbtscan等工具发现内网有域环境,并且找到域控IP,但是没有域用户的权限下渗透思路。
前提条件:能够和域控建立空连接
实现原理:域管默认都会有administrator用户,通过windows api查出administrator域管的SID,然后遍历SID范围,枚举出域成员(域用户和域机器)。
SID范围:域用户和域机器的SID一般是1000以上,所以使用工具的时候遍历1000以上的SID
2. 工具使用
使用帮助:
C:\Users\Administrator\Desktop>EnuDomainUser.exe
Usage: EnuDomainUser.exe <DC-IP> <domainname\username> <start Sid> <end Sid> <t_num>
EnuDomainUser.exe \\192.168.52.2 hack\administrator 1000 2000 100
EnuDomainUser.exe \\域控IP 域名\域用户名<默认administrator> 起始Sid 末尾Sid 多线程数目
使用demo:
EnuDomainUser.exe 192.168.52.2 hack\administrator 1000 2000 100
参数解释:
192.168.52.2 是域控IP
hack 是域名
administrator 是域管默认用户
1000 是遍历SID的起始
2000 是遍历SID的末尾-可以设置高一点,例如10000,20000等
100 是多线程的数目
0x08. BlastDomainUserPwd
功能:爆破域用户密码
1. 介绍
通过IPC连接->爆破域用户的密码
结合EnuDomainUser工具或者kerbrute工具获取域用户名列表,然后进行爆破
如果被360杀,改一下exe名字即可
设计思路:
-
如果能够和域控建立空连接,则用EnuDomainUser工具枚举遍历出所有域用户名
-
如果不能够和域控建立空连接,则用kerbrute工具爆破域用户名
当获取到一批域用户名后,开始尝试域用户密码的弱口令爆破
域用户密码有强度要求,则尝试爆破强弱口令。例如:P@ssw0rd、1qaz@WSX等
2. 工具的使用
Usage: BlastDomainUserPwd.exe <domainComputerIp> <domainUser.txt> <password> <t_num>
BlastDomainUserPwd.exe \\192.168.52.29 domainUser.txt password 100
BlastDomainUserPwd.exe \\域机器IP 域用户名字典 尝试爆破的密码 多线程数目
域用户名字典格式规范:域名\域用户名
domain\user
运行实例: BlastDomainUserPwd.exe \\192.168.52.2 domainUser.txt 1qaz@WSX 3
成功爆破出的域用户密码保存在当前目录的success.txt文本里
0x09. SchtaskBackDoorWebshell
功能:计划任务维持webshell
1. 适用场景:
护网中被防守方发现webshell,并清除出去,漏洞也被修复,然后网站恢复后不能再上传webshell时,通过计划任务重写webshell。
2. 条件:
管理员权限,因为创建计划任务得需要管理员权限
3. 使用方法:
xxxx.exe c:\wwww\upload\1.jsp
4. 实现过程:
将c:\wwww\upload\1.jsp内容复制到c:\windows\temp\tempsh.txt里,然后创建了一个计划任务,执行的命令是c:\windows\system32\cmd.exe /c copy c:\windows\temp\tempsh.txt c:\wwww\upload\1.jsp
,每半小时触发一次。
5. 视频展示:
0x10. regeditBypassUAC
功能:过uac执行exe,编译好的exe只适用于win10,win7不行
1. 具体过程
2. 视频演示
0x11. delegationVul
功能:检测内网域的约束委派
1. 约束委派利用
2. 视频演示
3. 基于资源的约束委派利用
4. 视频演示
0x12. 360SafeBrowserDecrypt
功能:
直接在目标机器上运行,但是不免杀
360SafeBrowserDecrypt.exe
将目标的机器id和assis2.db数据库拖回到本地解密
查机器id:
reg query "HKLM\SOFTWARE\MICROSOFT\CRYPTOGRAPHY" /v "MachineGuid"
查360安全浏览器安装目录:
reg query "HKCR\360SeSES\DefaultIcon"
默认的assis2.db数据库目录:
C:\Users\xxxxxxx\AppData\Roaming\360se6\User Data\Default\apps\LoginAssis
本地运行:
360SafeBrowserDecrypt.exe xxx-xxx-xxx-xxx assis2.db
结果显示:
有收藏夹的url和保存密码的url
分析文章: