渗透测试的本质是信息收集,我们可以将内网信息收集大致分为5个步骤,即本机信息收集、域内信息收集、登录凭证窃取、存活主机探测、内网端口扫描。最常见的两个问题就是:
我是谁? -- whoami
我在哪? -- ipconfig/ifconfig
当获取一台主机的管理员权限的时候,我们总是迫不及待想要去深入了解一下。
本机信息收集
1.查询账户信息:
对当前主机的用户角色和用户权限做了解,判断是否需要进一步提升权限。
win:whoami、net user 用户名
linux:whoami、id、cat /etc/shadow、cat /etc/passwd
2.查询网络和端口信息
根据目的主机的IP地址/网络连接/相关网络地址,确认所连接的网络情况。
win:ipconfig、netstat -ano ARP表:arp -a 路由表: route print 查看dns缓存记录命令:ipconfig/displaydns linux:ifconfig、netstat -anplt ARP表:arp -a / 路由表:route -n 查看登录日志获取登录来源ip
3.查询进程列表
查看本地运行的所有进程,确认本地软件运行情况,重点可以关注安全软件。
win:tasklist
linux: ps、 top
4.查询系统和补丁信息
获取当前主机的系统版本和补丁更新情况,可用来辅助提升权限。
win:systeminfo,查询系统信息/补丁安装情况。 wmic qfe get Caption,description,HotfixID,installedOn //查询补丁信息,包含说明链接/补丁描述/KB编号/更新时间等信息 wmic qfe list full 查询全部信息 Linux: 通过查看内核版本 uname -a 或者使用rpm -qa来查询安装了哪些软件包
5.凭证收集
服务器端存有敏感信息,通过收集各种登录凭证以便扩大战果。
Windows: 本地密码Hash和明文密码/抓取浏览器密码/服务端明文密码
linux:history记录敏感操作/shadow文件破解/mimipenguin抓取密码/使用Strace收集登录凭证/全盘搜索敏感信息
域内信息收集
搜集完本机相关信息后,就需要判断当前主机是否在域内,如果在域内,就需要进一步收集域内信息
1.判断是否有域
一般域服务器都会同时作为时间服务器,所以使用下面命令判断主域
运行 net time /domain 该命令后,一般会有如下三种情况: 1.存在域,但当前用户不是域用户,提示说明权限不够 C:Users>bypass>net time /domain 发生系统错误 5 拒绝访问。 2.存在域,并且当前用户是域用户 C:UsersAdministrator>net time /domain \dc.test.com 的当前时间是 2020/10/23 21:18:37 命令成功完成。 3.当前网络环境为工作组,不存在域 C:UsersAdministrator>net time /domain 找不到域 WORKGROUP 的域控制器。
2.查找域管理员
net user /domain //获取域用户列表 net group /domain //查询域内所有用户组列表 net group “Domain Admins” /domain //查询域管理员用户 net group "Domain Controllers" /domain //查看域控制器 net localgroup administrators /domain //查询域内置本地管理员组用户
3.找到域控
一般来说,域控服务器IP地址为DNS服务器地址,找到DNS服务器地址就可以定位域控。
nslookup/ping 域名,解析到域控服务器IP地址