内网渗透初识—信息收集
进入到内网后,首先要对自己当前所处的网络环境有一个清楚地判断,收集到有关当前环境足够多的信息,为接下来的渗透做好准备
PS:文中提到的PowerSploit
1 本机信息
包括操作系统,当前用户权限,内网ip段,杀毒软件,端口开放情况,系统打的补丁,网络状况,共享文件夹等,如果是域内的主机的话,操作系统、补丁、运行的服务、杀软等一般是域管批量用脚本安装的。
1.1 本机网络配置
- 查询已安装的软件及版本信息:wmic product get name,version
PS:在win10中,输入wmic /?会提示wmic已弃用,但在server2012R2,win7等版本中可以正常使用 常见的杀软进程:
进程名 | 软件 |
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 |
- 查看防火墙相关:
- 关闭防火墙:
- winserver 2003之前:netsh firewall set opmode disable
- winserver 2003之后:netsh advfirewall set allprofiles state off
一般来说不要操作防火墙的开关,风险极大,只需要查看配置即可
1.2 使用empire收集信息
在攻击机上安装empire后,使用usemodule powershell/situational_awareness/host/winenum即可收集相关信息,注意使用该模块需要拿到管理员权限
2 权限
- 利用empire中的arpscan模块:usemodule situational_awareness/network/arpscan,设置Range(范围)后即可扫描
3 扫描端口
- 使用telnet进行扫描:telnet 主机名 22
- 使用metasploit进行扫描:需要用到的是auxiliar/scanner/portscan/ack、ftpbounce、syn、tcp、xmas等模块
- PowerSploit中的Invoke-Portscan.ps1脚本,位于Recon目录下
- 使用Nishang的PortScan模块,位于scan目录下,上传到主机上执行
3.1 获取Banner
扫描到端口后就要获取到其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 | 远程执行 |
4 获取域内的基础信息
- 查看域控主机名:nslookup -type=SRV \_ladp._tcp
- 查询管理员用户组:net group "Enterprise Admins" /domain
## 定位域管理员
常规渠道有二个,日志与会话,日志是本地机器的管理员日志,可以用脚本或者内置应用wevtutil导出来看
### 工具
psloggedon.exe,netview.exe,PVEFindADUser.exe,powersploit的PowerView脚本,Empire的user_hunter模块等
5 查找域管理进程
5.1 本机检查
- 查询域控制器列表:net group "Domain Controllers" /domain
- 收集域管理员列表:net group "Domain admins" /domain
- 收集所有活动域的会话列表:NetSess -h,使用的是NetSess.exe
目前还没有任何会话,所以显示无
## 利用powershell收集域信息
首先要将powershell的权限限制更改为RemoteSigned,这样就可以执行本地上的脚本
输入:Get-ExecutionPolicy,发现自己并不是RemoteSigned权限,输入:Set-ExecutionPolicy RemoteSigned,按Y确定即可,在本地虚拟机测试时还可以将脚本权限改为Unrestricter,这样可以执行来自网络与本地的任何脚本
此处要使用的脚本在PowerSploit/Recon中,将要用到的PowerView.ps1传入靶机,在powershell中打开该脚本目录并导入:Import-Module .\PowerView.ps1就可以进行收集了
具体命令的相关用法在PowerSploit/Recon/READE.md中
6 小结
针对内网渗透这方面自己是边学习内网安全攻防这本书边整理的,由于是初学者且没有在真实环境实战过,文内有错误还请师傅们提出,水平一般还望见谅