本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
学安全,上 secshi。安全师,可信赖的网络安全学习平台,以让每个白帽子高效获得可信赖的优质内容为使命。安全师汇聚网络安全技术、黑客技术、web 安全攻防、代码审计、渗透测试、漏洞挖掘、白帽子教程, 沉淀知识, 分享经验!吸引、聚集了 IT 界中大量的领域专家,将高质量的内容透过人的节点来成规模地生产和分享。用户通过分享等交流方式建立信任和连接,打造和提升个人影响力,并发现、获得新机会。
进入到内网后,首先要对自己当前所处的网络环境有一个清楚地判断,收集到有关当前环境足够多的信息,为接下来的渗透做好准备
PS:文中提到的 PowerSploit
包括操作系统,当前用户权限,内网 ip 段,杀毒软件,端口开放情况,系统打的补丁,网络状况,共享文件夹等,如果是域内的主机的话,操作系统、补丁、运行的服务、杀软等一般是域管批量用脚本安装的。
-
查询已安装的软件及版本信息:
wmic product get name,version
PS:在 win10 中,输入wmic /?
会提示 wmic 已弃用,但在 server2012R2,win7 等版本中可以正常使用 -
powershell 中可替代该命令的是
Get-WmiObject
:
Get-WmiObject -class win32_product | Select-Object -property name,version
-
查询进程:
tasklist
,或者:wmic process list brief
常见的杀软进程:
进程名 | 软件 |
---|---|
360sd.exe | 360 杀毒 |
360tray.exe | 360 实时保护 |
ZhuDongFangYu.exe | 360 主动防御 |
KSafeTray.exe | 金山卫士 |
SafeDogUpdateCenter.exe | 安全狗 |
McAfee McShield.exe | McAfee |
egui.exe | NOD32 |
AVP.exe | 卡巴斯基 |
avguard.exe | 小红伞 |
bdagent.exe | BitDefender |
-
查看计划任务:
schtasks /query /fo LIST /v
此处在我的靶机 Server2008R2 中出现了错误:无法加载列资源,这里把编码暂时设置为英文:chcp 437
,之后再改回来:chcp 936
即可
-
查看本地计算机与所连接客户端之间的会话:
net session
对于该指令,一开始我的机器上报错:"发生系统错误 5。拒绝访问",找了一下解决办法,只要以管理员身份运行即可,此处靶机没有回话,所以显示为空
-
查看补丁信息:
systeminfo
,
wmic qfe get caption,description,hotfixid,installedon
-
查看防火墙相关:
-
winserver 2003 之前:
netsh firewall set opmode disable
-
winserver 2003 之后:
netsh advfirewall set allprofiles state off
一般来说不要操作防火墙的开关,风险极大,只需要查看配置即可 -
关闭防火墙:
-
查看代理:
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
连接端口为 16 进制数 0xd3d,转换为 10 进制就是 3389
在攻击机上安装 empire 后,使用usemodule powershell/situational_awareness/host/winenum
即可收集相关信息,注意使用该模块需要拿到管理员权限
-
此时发现域名后,利用 nslookup 命令直接解析域名的 ip,借此来判断 dns 服务器与域控是否在同一主机上
nslookup 域名
-
判断主域:
net time /domain
若是此命令在显示域处显示 WORKGROUP,则不存在域,若是报错:发生系统错误 5,则存在域,但该用户不是域用户 -
利用 ICMP 进行探测:
for /L %I in (1,1,254) DO @ping -2 1 -n 1 192.168.52.%I | findstr "TTL="
我在本地机器中做了小小的修改,让它只扫描 141 到 142 这段 -
利用 empire 中的 arpscan 模块:
usemodule situational_awareness/network/arpscan
,设置 Range(范围) 后即可扫描
-
使用 telnet 进行扫描:
telnet 主机名 22
-
使用 metasploit 进行扫描:
需要用到的是auxiliar/scanner/portscan/ack、ftpbounce、syn、tcp、xmas
等模块 -
PowerSploit 中的 Invoke-Portscan.ps1 脚本,位于 Recon 目录下
-
使用 Nishang 的 PortScan 模块,位于 scan 目录下,上传到主机上执行
扫描到端口后就要获取到其 Banner 信息,接着就可以在漏洞库里查找 poc,这个可以找一下常见的端口的服务来得知
端口号 | 端口说明 | 攻击技巧 |
---|---|---|
21/22/69 | ftp/tftp:文件传输协议 | 允许匿名上传、下载、爆破、嗅探、溢出和后门 |
22 | ssh:远程连接 | 爆破 OpenSSH;28 个退格 |
23 | telnet:远程连接 | 爆破 \ 嗅探、弱口令 |
25 | smtp:邮件服务 | 邮件伪造 |
53 | DNS:域名系统 | DNS 区域传输 \ DNS 劫持 \ DNS 缓存投毒 \ DNS 欺骗 \ 利用 DNS 隧道技术刺透防火墙 |
67/68 | dhcp | 劫持 \ 欺骗 |
80/443/8080 | 常见 web 服务端口 | web 攻击、爆破、对应服务器版本漏洞 |
110 | pop3 | 爆破、嗅探 |
139 | samba | 爆破 \ 未授权访问 \ 远程代码执行 |
143 | imap | 爆破 |
161 | snmp | 爆破 |
389 | ldap 目录访问协议 | 注入攻击 \ 未授权访问,弱口令 |
512/513/514 | linux rexec | 直接使用 rlogin \ 爆破 |
873 | rsync | 未授权访问 \ 文件上传 |
1080 | socket | 爆破:进行内网渗透 |
1352 | lotus Domino 邮件服务 | 爆破:弱口令 \ 信息泄漏:源代码 |
1433 | mssql | 爆破:使用系统用户登录 \ 注入攻击 \ SA 弱口令 |
1521 | oracle | 爆破:TNS \ 注入攻击 \ 反弹 shell |
2049 | nfs | 配置不当 |
2181 | zookeeper | 未授权访问 |
3306 | mysql | 爆破 \ 拒绝服务 \ 注入 \ 提权 |
3389 | rdp | 爆破 \ Shift 后门 |
3690 | SVN 服务 | SVN 泄露 \ 未授权访问 |
4848 | glassfish | 爆破:控制台弱口令 \ 认证绕过 |
5000 | sybase/DB2 | 爆破 \ 注入 |
5432 | postgresql | 缓冲区溢出 \ 注入攻击 \ 爆破:弱口令 |
5632 | pcanywhere | 拒绝服务 \ 代码执行,抓取密码 |
5900 | vnc | 爆破:弱口令 \ 认证绕过 |
6379 | redis | 未授权访问 \ 爆破:弱口令 |
7001/7002 | weblogic | Java 反序列化 \ 控制台弱口令 \ 控制台部署 webshell |
8069 | zabbix | 远程命令执行 \ SQL 注入 |
8080/8089 | JBoss/Resin/Jetty/Jenkins | 反序列化、控制台弱口令 |
9090 | websphere 控制台 | 爆破:控制台弱口令 \ Java 反序列 |
9200/9300 | elasticsearch | 远程代码执行 |
10000 | webmin 控制面板 | 弱口令 |
11211 | memcacache | 未授权访问 |
27017/27018 | mongodb | 爆破 \ 未授权访问 |
50000 | SAP Management Console | 远程执行 |
-
查看域控主机名:
nslookup -type=SRV \_ladp._tcp
-
查看域控制器组:
net group "Domain Controllers" /domain
,netdom query pdc
在大型企业中,域控制器组中的用户会不止一个,这是为了保证主域控故障时可以切换到备用域控制器 -
查询管理员用户组:
net group "Enterprise Admins" /domain
常规渠道有二个,日志与会话,日志是本地机器的管理员日志,可以用脚本或者内置应用 wevtutil 导出来看
psloggedon.exe,netview.exe,PVEFindADUser.exe,powersploit 的 PowerView 脚本,Empire 的 user_hunter 模块等
-
net group "Domain Admins" /domain
-
查询域控制器列表:
net group "Domain Controllers" /domain
-
收集域管理员列表:
net group "Domain admins" /domain
首先要将 powershell 的权限限制更改为 RemoteSigned,这样就可以执行本地上的脚本
输入:Get-ExecutionPolicy
,发现自己并不是 RemoteSigned 权限,输入:Set-ExecutionPolicy RemoteSigned
,按 Y 确定即可,在本地虚拟机测试时还可以将脚本权限改为 Unrestricter,这样可以执行来自网络与本地的任何脚本
此处要使用的脚本在 PowerSploit/Recon 中,将要用到的 PowerView.ps1 传入靶机,在 powershell 中打开该脚本目录并导入:Import-Module .\PowerView.ps1
就可以进行收集了
具体命令的相关用法在PowerSploit/Recon/READE.md
中
针对内网渗透这方面自己是边学习内网安全攻防这本书边整理的,由于是初学者且没有在真实环境实战过,文内有错误还请师傅们提出,水平一般还望见谅
本文来自先知社区