Skip to content

Latest commit

 

History

History
263 lines (168 loc) · 19.8 KB

内网渗透初识—信息收集.md

File metadata and controls

263 lines (168 loc) · 19.8 KB

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

https://www.secshi.com

学安全,上 secshi。安全师,可信赖的网络安全学习平台,以让每个白帽子高效获得可信赖的优质内容为使命。安全师汇聚网络安全技术、黑客技术、web 安全攻防、代码审计、渗透测试、漏洞挖掘、白帽子教程, 沉淀知识, 分享经验!吸引、聚集了 IT 界中大量的领域专家,将高质量的内容透过人的节点来成规模地生产和分享。用户通过分享等交流方式建立信任和连接,打造和提升个人影响力,并发现、获得新机会。

进入到内网后,首先要对自己当前所处的网络环境有一个清楚地判断,收集到有关当前环境足够多的信息,为接下来的渗透做好准备

PS:文中提到的 PowerSploit

本机信息

包括操作系统,当前用户权限,内网 ip 段,杀毒软件,端口开放情况,系统打的补丁,网络状况,共享文件夹等,如果是域内的主机的话,操作系统、补丁、运行的服务、杀软等一般是域管批量用脚本安装的。

本机网络配置

  • ipconfig /all

    操作系统

  • 查询操作系统及版本信息,补丁信息等等:systeminfo

  • 查询系统体系架构:echo %PROCESSOR_ARCHITECTURE%

  • 查询已安装的软件及版本信息:wmic product get name,version

    PS:在 win10 中,输入wmic /?会提示 wmic 已弃用,但在 server2012R2,win7 等版本中可以正常使用

  • powershell 中可替代该命令的是Get-WmiObject:
    Get-WmiObject -class win32_product | Select-Object -property name,version

  • 查询本机服务:wmic service list brief

  • 查询进程:tasklist,或者:wmic process list brief

    常见的杀软进程:

进程名软件
360sd.exe360 杀毒
360tray.exe360 实时保护
ZhuDongFangYu.exe360 主动防御
KSafeTray.exe金山卫士
SafeDogUpdateCenter.exe安全狗
McAfee McShield.exeMcAfee
egui.exeNOD32
AVP.exe卡巴斯基
avguard.exe小红伞
bdagent.exeBitDefender
  • 查看已启动的程序信息:wmic startup get command,caption

  • 查看计划任务:schtasks /query /fo LIST /v
    此处在我的靶机 Server2008R2 中出现了错误:无法加载列资源,这里把编码暂时设置为英文:chcp 437,之后再改回来:chcp 936即可

  • 查看主机的开机时间:net statistics workstation

  • 查看用户列表:net user

  • 查看本地管理员信息:net localgroup administrators

  • 查看当前在线的用户:query user || qwinsta

  • 查看本地计算机与所连接客户端之间的会话:net session
    对于该指令,一开始我的机器上报错:"发生系统错误 5。拒绝访问",找了一下解决办法,只要以管理员身份运行即可,此处靶机没有回话,所以显示为空

  • 查看端口:netstat -ano

  • 查看补丁信息:
    systeminfo,
    wmic qfe get caption,description,hotfixid,installedon

  • 查看本机共享列表:net sharewmic share get name,path,status

  • 查询路由表及所有可用的 ARP 缓存表:route printarp -a

  • 查看防火墙相关:

  • winserver 2003 之前:netsh firewall set opmode disable

  • winserver 2003 之后:netsh advfirewall set allprofiles state off
    一般来说不要操作防火墙的开关,风险极大,只需要查看配置即可

  • 查看防火墙配置: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

    连接端口为 16 进制数 0xd3d,转换为 10 进制就是 3389

使用 empire 收集信息

在攻击机上安装 empire 后,使用usemodule powershell/situational_awareness/host/winenum即可收集相关信息,注意使用该模块需要拿到管理员权限

权限

  • 查看当前权限:whoami

  • 获取域 id:whoami /all

  • 获取指定用户的详细信息:net user xxx /domain

    判断是否存在域

  • 使用ipconfig /all即可做出判断

  • 此时发现域名后,利用 nslookup 命令直接解析域名的 ip,借此来判断 dns 服务器与域控是否在同一主机上nslookup 域名

  • 查询当前的登录域与用户信息:net config workstation

  • 判断主域: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

扫描到端口后就要获取到其 Banner 信息,接着就可以在漏洞库里查找 poc,这个可以找一下常见的端口的服务来得知

端口号端口说明攻击技巧
21/22/69ftp/tftp:文件传输协议允许匿名上传、下载、爆破、嗅探、溢出和后门
22ssh:远程连接爆破 OpenSSH;28 个退格
23telnet:远程连接爆破 \ 嗅探、弱口令
25smtp:邮件服务邮件伪造
53DNS:域名系统DNS 区域传输 \ DNS 劫持 \ DNS 缓存投毒 \ DNS 欺骗 \ 利用 DNS 隧道技术刺透防火墙
67/68dhcp劫持 \ 欺骗
80/443/8080常见 web 服务端口web 攻击、爆破、对应服务器版本漏洞
110pop3爆破、嗅探
139samba爆破 \ 未授权访问 \ 远程代码执行
143imap爆破
161snmp爆破
389ldap 目录访问协议注入攻击 \ 未授权访问,弱口令
512/513/514linux rexec直接使用 rlogin \ 爆破
873rsync未授权访问 \ 文件上传
1080socket爆破:进行内网渗透
1352lotus Domino 邮件服务爆破:弱口令 \ 信息泄漏:源代码
1433mssql爆破:使用系统用户登录 \ 注入攻击 \ SA 弱口令
1521oracle爆破:TNS \ 注入攻击 \ 反弹 shell
2049nfs配置不当
2181zookeeper未授权访问
3306mysql爆破 \ 拒绝服务 \ 注入 \ 提权
3389rdp爆破 \ Shift 后门
3690SVN 服务SVN 泄露 \ 未授权访问
4848glassfish爆破:控制台弱口令 \ 认证绕过
5000sybase/DB2爆破 \ 注入
5432postgresql缓冲区溢出 \ 注入攻击 \ 爆破:弱口令
5632pcanywhere拒绝服务 \ 代码执行,抓取密码
5900vnc爆破:弱口令 \ 认证绕过
6379redis未授权访问 \ 爆破:弱口令
7001/7002weblogicJava 反序列化 \ 控制台弱口令 \ 控制台部署 webshell
8069zabbix远程命令执行 \ SQL 注入
8080/8089JBoss/Resin/Jetty/Jenkins反序列化、控制台弱口令
9090websphere 控制台爆破:控制台弱口令 \ Java 反序列
9200/9300elasticsearch远程代码执行
10000webmin 控制面板弱口令
11211memcacache未授权访问
27017/27018mongodb爆破 \ 未授权访问
50000SAP Management Console远程执行

获取域内的基础信息

  • 查询域:net view /domain

  • 查询域内所有计算机:net view /domain:域名

  • 查询域内所有用户组:net group /domain

  • 查看所有域成员计算机列表:net group "domain computers" /domain

  • 获取域密码信息:net accounts /domain

  • 获取域信任信息:nltest /domain_trusts

    寻找域控

  • 查看域控机器名:nltest /DCLIST:域名

  • 查看域控主机名:nslookup -type=SRV \_ladp._tcp

  • 查看域控制器组:net group "Domain Controllers" /domainnetdom query pdc


    在大型企业中,域控制器组中的用户会不止一个,这是为了保证主域控故障时可以切换到备用域控制器

    获取域内用户和管理员信息

  • 查询所有域用户列表:net user /domain

  • 获取域内用户的详细信息:wmic useraccount get /all,可以获取到用户名,描述信息,SID 域名等

  • 查看存在的用户:dsquery user

  • 查询本地管理员组用户:net localgroup administrators

  • 查询域管理员用户组:net group "domain admins" /domain

  • 查询管理员用户组:net group "Enterprise Admins" /domain

    定位域管理员

    常规渠道有二个,日志与会话,日志是本地机器的管理员日志,可以用脚本或者内置应用 wevtutil 导出来看

    工具

    psloggedon.exe,netview.exe,PVEFindADUser.exe,powersploit 的 PowerView 脚本,Empire 的 user_hunter 模块等

查找域管理进程

本机检查

  • net group "Domain Admins" /domain

  • 列出本机的所有进程及进程用户:tasklist /v

    在以上进程中尽量查找域管理员进程或是与其相关的进程

    查询域控的域用户会话

  • 查询域控制器列表: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

小结

针对内网渗透这方面自己是边学习内网安全攻防这本书边整理的,由于是初学者且没有在真实环境实战过,文内有错误还请师傅们提出,水平一般还望见谅

本文来自先知社区