渗透测试的本质是信息收集,我们可以将内网信息收集大致分为5个步骤,即本机信息收集、域内信息收集、登录凭证窃取、存活主机探测、内网端口扫描。
进入内网后,首先需要对当前网络环境进行判断:
本机信息包括操作系统、权限、内网IP地址段、杀毒软件、端口、服务、补丁更新频率、网络连接、共享、会话等。
如果是域内主机,操作系统,应用软件,补丁、服务、杀毒软件一般都是批量安装的。
1.查询网络配置信息
ipconfig/all
systeminfo | findstr /B /C"OS 名称 " OS版本”
假如是英文版本就改为 Name 和· 版本就行
查看系统体系结构
echo %PROCESSOR_ARCHITECTURE%
利用wmic 命令,将结果输出到文本文件
wmic product get name,version
利用powersHELL 命令,收集软件的版本信息
powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"
查询本机服务信息
wmic service list brief
tasklsit
wmic process brief
wmic startup get command ,caption
schtasks /query /fo LIST /v
net statistics workstation
执行如下命令,查看本机用户列表
net user
net localgroup administrator
查看当前在线用户
query user || qwinsta
net sesssion
netstat -ano
systeminfo
使用wmic命令查看安装在系统的补丁
wmic qfe get Caption ,Description ,HotFixID,InstalledOn
net share
wmic share get name,path,status
route print
arp -a
1.关闭防火墙
windows server 2003及之前的版本:
windows server 2003及之后的版本:
1 | netsh advfirewall set allprofiles state off Copy |
2.查看防火墙配置
2 | netsh firewall show config Copy |
3.修改防火墙配置
windwos server 2003 及之前的版本,允许指定程序全部连接
3 | netsh firewall add allowedprogram c:\nc.exe "allow nc" enable Copy |
windows server 2003之后的版本:
1 | 允许指定程序进入,命令如下: 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" 允许3389端口放行: netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow Copy |
4.自定义防火墙日志的存储位置
4 | netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log" |
2.查看防火墙及配置
netsh firewall show config
reg query "HKEY_CURRENT_USER\Software\Microsoft\windows\CurrentVersion\INternet settings"
REG QUERY “HKEY_LOcal_MACHINE\SYSTEM\CurrentControLset\Control\Terminal Server \WinStations\RDP-TCP" /v PortNUmber
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL SetAllowTSConnections 1
为了简化操作,可以创建一个脚本,在目标机器上完成流程、服务、用户账户、用户组、网络接口、硬盘信息、网络共享信息、操作系统、安装的补丁、安装的软件、启动时运行的程序、时区等信息的查询工作。
1.下载地址:http://www.fuzzysecurity.com/scripts/files/wmic_info.rar
2.点击下载文件,然后生成了out.html
Empire 提供了用于收集主机信息的模块。输入命令”usemodule situational_awareness/host/winenum “
1.查看当前权限
whoami
2.获取域SID
whoami/all
3.查询指定用户的详细信息
执行以下命令,查询当前用户的详细信息
net user xxx /domain
1.使用ipconfig命令
ipconfig/all
nslookup hacke.testlab
2.查看系统详细信息
systeminfo
3.查询当前登录域及登录用户信息
net config workstation
4.判断主域
net time /domain
内网存活主机探测是内网渗透测试中不可缺少的一个环节。可在白天和晚上分别·进行探测。
NetBIOS是局域网程序使用的一种程序编辑接口(API),为程序提供了请求级别服务的统一的命令集,为局域网提供了网络及其他特殊功能。
nbtscan是一个命令行工具,用于扫描本地或远程tcp/ip网络上的开放NEtBIos名称服务器。
除了利用NEtBIos探测内网,还可以利用icmp协议探测内网。
for /L %I in (1,1,254) Do @ping -w l -n 1 192.168.1.%I findstr "TTL="
1.arp-scan工具
arp -a
2.Empire 中的arpscan 模块
3.NIshang 中的invoke-Arpscan.ps1脚本
ScanLine是一款经典的端口扫描工具,可以在所有版本的windoWS 操作系统中使单个文件,用,体积小,仅使用单个文件,同时支持TCp/udp扫描
端口的banner信息 ,端口上运行的服务,常见应用的默认端口
Telnet 协议是tcp/ip协议族的一员,是Internet远程登陆服务的标准协议和主要形式。
首先得开启服务
telnet 192.168.1.1 22
S扫描是2007年古老的扫描器,不建议使用了。
如果通过扫描发现了端口,可以使用客户端连接工具或者nc,获取服务端的Banner信息。获取Banner信息后,可以在漏洞库中查找对应cve编号的POc、exp、在exploitDB、seebug等平台上查看相关的漏洞利用工具,然后到目标系统中验证漏洞是否存在,从而有针对性地进行安全加固。
nc -nv 127.0.0.1 22
文件共享服务端口(21、22、69、2049、139、389)
远程连接服务端口(22、23、3389、5900、5632)
Web应用服务端口(80、443、8080、7001、7002、8089、9090、4848、1352)
数据库服务端口(3306、1433、1521、5432、6379、5000、9200)
邮件服务端口(25、110、143)
网络常见协议端口(53、67、68、161)
2.Nmap主机扫活
本文是通过阅读《内网渗透攻防》来学习内网知识,从0到1。本人也是一个萌新小白,不会的百度或者google,希望会的大佬勿喷,希望可以和大家一起遨游内网!