首页 >> 网络安全 >>渗透测试 >> 内网安全检查/渗透总结
详细内容

内网安全检查/渗透总结

1. 内网安全检查/渗透介绍

1.1 攻击思路

有2种思路:

攻击外网服务器,获取外网服务器的权限,接着利用入侵成功的外网服务器作为跳板,攻击内网其他服务器,最后获得敏感数据,并将数据传递到攻击者,看情况安装长期后门,实现长期控制和获得敏感数据的方式;

攻击办公网的系统、办公网电脑、办公网无线等方式,一般是采用社工,实现控制办公电脑,再用获得的办公网数据,可能是内网的各种登录账号和密码,再获取办公网或者生产网的有用数据。

一般内网安全检查使用第一种思路,实际的攻击2种思路结合实现。


1.2 敏感资料/数据/信息

高管/系统管理员/财务/人事/业务人员的个人电脑

文件服务器/共享服务器

邮件服务器

OA服务器

数据库服务器

1.3 攻击过程

按照第一种思路,个人认为可以分为4个阶段:

信息收集

漏洞验证/漏洞攻击

后渗透

日志清理

第二种思路,社工的比重更大一些,本篇不多做介绍。


2 信息收集

该阶段识别内网存活的主机 IP, 运行端口扫描和漏洞扫描获取可以利用的漏洞


2.1 主机发现

使用端口扫描工具可以实现主机发现的功能,但也有些动作小的主机发现工具(Kali),可以有效的发现存活主机。自己写个 ping 的循环脚本也可以。

不受限的测试直接端口扫描了。


2.2 端口扫描

有授权的情况下直接使用 nmap 、masscan 等端口扫描工具直接获取开放的端口信息。

作为跳板机可以使用 Metasploit 做端口扫描,也可以在跳板主机上上传端口扫描工具,使用工具扫描。


入侵到服务器上也可以根据服务器的环境使用自定义的端口扫描脚本扫描端口。

有个使用 Python 端口扫描的介绍

https://thief.one/2018/05/17/1/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io


Windows 下基于 Powershell 的端口扫描脚本。

https://github.com/BornToBeRoot/PowerShell_IPv4PortScanner/tree/master/Scripts

发现端口后使用客户端连接工具或者 nc 连接,获取服务端的 banner 信息。


2.3 漏洞扫描

有授权的情况下,使用绿盟极光、Nessus、Nexpose 等漏扫工具直接扫描目标,可以直接看到存活主机和主机的漏洞情况。


2.4 识别内网环境

获取目标的主机存活信息和端口开放信息后,就可以尝试分析目标的网络结构,安全防御策略。按照办公网和生产网分别说一下:

2.4.1 办公网

按照系统区分:

  • OA系统

  • 邮件系统

  • 财务系统

  • 文件共享系统

  • 域控

  • 企业版杀毒系统

  • 上网行为管理系统

  • 内部应用监控系统

按照网络区分:

  • 管理网段

  • 内部系统网段

  • 按照部门区分的网段

按照设备区分:

  • 个人电脑

  • 内网服务器

  • 网络设备

  • 安全设备

办公网的安全防护水平一般较差(相对),能绕过杀毒软件基本上就畅通无阻了,利用信任关系容易扩大攻击面,获取数据也比生产网简单。

2.4.2 生产网

按照系统区分:

  • 业务系统

  • 运维监控系统

  • 安全系统

按照网络区分:

  • 各不同的业务网段

  • 运维监控网段

  • 安全管理网段

根据目标开展的不同业务,对应的服务器可能存在不同的网段上,分析服务器上运行的服务和进程可以推断目标使用的运维监控管理系统和安全防护系统,可以大概推断出入侵目标的 IT 运维水平和安全防护水平,在接下来的入侵考虑采用什么样的方法。


2 漏洞验证/漏洞攻击

使用端口扫描、漏洞扫描验证扫描目标开放的端口,在对应端口上开放的服务,运行该服务的软件和版本号。

如果只是使用端口扫描,只是发现开放的端口,接着使用 nc 可以获取端口上服务的 banner 信息,获取 banner 信息后需要在漏洞库上查找对应 CVE,后面就是验证漏洞是否存在。如果是使用漏洞扫描工具可以直接获取对应端口上的漏洞,后面也是验证漏洞。

安全检查一般是尽可能的发现所有漏洞,对漏洞的风险进行评估和修复。入侵的话只关注高危远程代码执行和敏感信息泄露漏洞等可以直接利用的漏洞。


漏洞验证可以找对应的 CVE 编号的 POC、EXP,利用代码在 ExploitDB 、seebug上查看或者在 github 上搜索是否有相关的漏洞验证或利用的工具。


2.1 Web

2.1.1 自定义 Web 应用

从公网直接攻击目标对外的 Web 应用,或者在授权的情况下在内网进行渗透测试,如果是入侵目的可以直接寻找注入、上传、代码执行、文件包含等高危漏洞,尝试获取系统权限,或者直接能拿到敏感数据。

允许扫描的话一般使用 WVS 直接扫描,也可以使用专门扫描特定漏洞的扫描工具如 sqlmap、XSStrike 等工具扫描特定类型的漏洞。不允许直接扫描,使用 Burp 手工慢慢找了。


2.1.2 Web 中间件

1. Tomcat

Tomcat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。


端口号:8080

攻击方法:

默认口令、弱口令,爆破,tomcat5 默认有两个角色:tomcat和role1。其中账号both、tomcat、role1的默认密码都是tomcat。弱口令一般存在5以下的版本中。

在管理后台部署 war 后门文件

远程代码执行漏洞

参考:

2. Jboss

是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的 J2EE 的一个Web 操作系统(operating system for web),它体现了 J2EE 规范中最新的技术。

  • 端口:8080

  • 攻击方法:

  • 弱口令,爆破

  • 管理后台部署 war 后门

  • 反序列化

  • 远程代码执行

参考:


3. WebLogic

WebLogic是美国Oracle公司出品的一个Application Server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

  • 端口:7001,7002

  • 攻击方法:

  • 弱口令、爆破,弱密码一般为weblogic/Oracle@123 or weblogic

  • 管理后台部署 war 后门

  • SSRF

  • 反序列化漏洞

  • weblogic_uac

参考:

4. WebSphere

IBM公司一套典型的电子商务应用开发工具及运行环境。

  • 端口:默认端口:908*;第一个应用就是9080,第二个就是9081;控制台9090

  • 攻击方法:

  • 控制台登录爆破

  • 很多内网 websphere 的控制台存在弱口令 / 默认口令,可以使用 admin/admin 以及 webshpere/webshpere 这种口令登录。通过该口令登录控制台后,可以部署 war 包,从而获取到 WEBSHELL 。

  • 反序列化

  • 任意文件泄露

参考:

5. Glassfish

2.1.3 Web 框架

1. Struts2

Struts2是一个优雅的,可扩展的框架,用于创建企业准备的Java Web应用程序。出现的漏洞也着实的多每爆一个各大漏洞平台上就会被刷屏。

  • 可利用漏洞

  • S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10 

  • S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10 

  • S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1

  • S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28

  • S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16

  • S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1

  • S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15

  • S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14

  • S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1

  • S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1

参考:

2. Spring 框架

Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache License 2.0开源许可协议的形式发布,也有.NET平台上的移植版本。Spring Framework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。

可利用漏洞

  • CVE-2010-1622

  • CVE-2018-1274

  • CVE-2018-1270

  • CVE-2018-1273

  • 反序列化

  • 目录穿越

参考

2.1.4 Web 服务器

  • IIS:Windows 的 WWW 服务器

  • https://masterxsec.github.io/2017/06/07/IIS-write-%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8/

  • http://www.freebuf.com/articles/4908.html

  • https://www.anquanke.com/post/id/85811

  • IIS,开启了 WebDAV,可以直接详服务器 PUT 文件

  • 短文件名枚举漏洞

  • 远程代码执行

  • 提权漏洞

  • 解析漏洞

  • 端口:80

  • 攻击方法:

  • 参考:

Apache

  • 解析漏洞

  • 目录遍历

  • 端口:80

  • 攻击方法:

Nginx

  • https://www.seebug.org/vuldb/ssvid-92538

  • 解析漏洞

  • 目录遍历

  • CVE-2016-1247:需要获取主机操作权限,攻击者可通过软链接任意文件来替换日志文件,从而实现提权以获取服务器的root权限。

  • 端口:80

  • 攻击方法:

  • 参考:

lighttpd

  • 目录遍历

  • 端口:80

  • 攻击方法:


2.2 常见运维系统

一般分自动化部署和运维监控相关的的工具。漏洞可以通过搜索引擎搜索,github搜索,ExploitDB搜索,官网上的安全通告获取。

内网的通用类应用比较常见的问题是弱口令,如果一个管理员可以登录几个系统,那在这几个系统的账号、密码也基本上是一样的。

2.2.1 Gitlab

GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的项目仓库,可通过Web界面进行访问公开的或者私人项目。

可利用漏洞:

  • 任意文件读取漏洞

  • 意用户 token 泄露漏洞

  • 命令执行漏洞

参考:

2.2.2 Jenkins

Jenkins是一种跨平台的持续集成和交付的应用软件,它便于不断稳定地交付新的软件版本,并提高你的工作效率。这款开发运维工具还让开发人员更容易把项目的变化整合起来,并使用大量的测试和部署技术。

可利用漏洞:

  • 远程代码执行漏洞

  • 反序列化漏洞

  • 未授权访问漏洞

  • 登录入口爆破

参考


2.2.3 Puppet

Puppet Enterprise专门管理基础设施即代码(IAC),在这种类型的IT基础设施配置过程中,系统用代码而不是脚本流程来自动构建、管理和配置。由于它是代码,整个过程易于重复。Puppet有助于更容易控制版本、自动化测试和持续交付,可以更快速地响应问题或错误。

  • 可利用漏洞,很少公开的POC

  • 反序列化

  • 远程命令执行


2.2.4 Ansible

Ansible是一种配置和管理工具,面向客户端的软件部署和配置,支持Unix、Linux和Windows。它使 用JSON和YAML,而不是IAC,根本不需要节点代理就可以安装。它可以通过OpenStack在内部系统上使用,也可以在亚马逊EC2上使用。

可利用漏洞

  • 远程代码执行


2.2.5 Nagios

Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

可利用漏洞

  • 代码执行

  • SQLi

参考


2.2.6 Zabbix

Zabbix 是一款强大的开源分布式监控系统, 能够将SNMP、JMX、Zabbix Agent提供的数据通过WEB GUI的方式进行展示.

可利用漏洞(具体参考 ExploitDB):

  • 远程代码执行

  • SQLi

  • shell 命令注入

  • 认证绕过

  • 默认账户与密码,默认口令 admin/zabbix,或者是guest/空

参考


2.2.7 Cacit

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

可利用漏洞

  • 任意代码执行

  • SQLi

  • 登录爆破

  • 默认密码admin/admin

参考:


2.2.8 Splunk

Splunk Enterprise 可以从任何来源监控和分析机器数据,以提供操作智能,从而优化您的 IT、安全和业务绩效。Splunk Enterprise 具有直观的分析功能、机器学习、打包应用程序和开放式 API,是一个灵活的平台,可从重点用例扩展到企业范围的分析主干。

可利用漏洞

  • 信息泄露

  • 命令注入

  • 服务端请求伪造

  • 参考

  • ExploitDB 搜索

2.3 常见 Web 应用

还有常见邮件应用、CMS 应用,在搜索引擎上查找对应的漏洞,利用已知漏洞进行攻击。


2.3.1 邮件系统

一部分是使用腾讯企业邮箱、阿里企业邮箱的,很难有可利用的漏洞,另外一种是能独立部署的邮件系统,政企常用的邮箱应用:

  • Coremail

  • 亿邮

  • 35互联

  • TurboMail

  • Exchange

  • IBM Lotus

2.3.2 CMS 应用


2.4 数据库/缓存/消息服务

2.4.1 MySQL数据库

  • 默认端口:3306

  • 攻击方法:

  • 爆破:弱口令

  • 身份认证漏洞:CVE-2012-2122

  • 拒绝服务攻击

  • Phpmyadmin万能密码绕过:用户名:‘localhost’@’@” 密码任意

提权

参考:


2.4.2 MSSQL数据库

  • 默认端口:1433(Server 数据库服务)、1434(Monitor 数据库监控)

  • 攻击方法:

  • 爆破:弱口令/使用系统用户

  • 注入

参考:

https://www.anquanke.com/post/id/86011


2.4.3 Oracle数据库

  • 默认端口:1521(数据库端口)、1158(Oracle EMCTL端口)、8080(Oracle XDB数据库)、210(Oracle XDB FTP服务)

  • 攻击方法:

  • 爆破:弱口令

  • 注入攻击;

  • 漏洞攻击;

-参考:


2.4.4 PostgreSQL数据库

PostgreSQL是一种特性非常齐全的自由软件的对象–关系型数据库管理系统,可以说是目前世界上最先进,功能最强大的自由数据库管理系统。包括kali系统中msf也使用这个数据库;浅谈postgresql数据库攻击技术 大部分关于它的攻击依旧是sql注入,所以注入才是数据库不变的话题。

  • 默认端口:5432

  • 攻击方法:

  • 爆破:弱口令:postgres postgres

  • 缓冲区溢出:CVE-2014-2669

参考:


2.4.5 MongoDB数据库

MongoDB,NoSQL数据库;攻击方法与其他数据库类似》

  • 默认端口:27017

  • 攻击方法:

  • 爆破:弱口令

  • 未授权访问;github有攻击代码;请点击

参考:


2.4.6 Redis数据库

Redis是一个开源的使用c语言写的,支持网络、可基于内存亦可持久化的日志型、key-value数据库。关于这个数据库这两年还是很火的,暴露出来的问题也很多。特别是前段时间暴露的未授权访问。

  • 攻击方法:

  • 爆破:弱口令

  • 未授权访问+配合ssh key提权;

参考:

http://www.alloyteam.com/2017/07/12910/


2.4.7 SysBase数据库

  • 默认端口:服务端口5000;监听端口4100;备份端口:4200

  • 攻击方法:

  • 爆破:弱口令

  • 命令注入:

  • 参考


2.4.8 DB2 数据库

  • 默认端口:5000

  • 攻击方法:

  • 安全限制绕过:成功后可执行未授权操作(CVE-2015-1922)

参考:


2.5 常见服务/协议

2.5.1 FTP 服务

FTP服务:ftp服务我分为两种情况,第一种是使用系统软件来配置,比如IIS中的FTP文件共享或Linux中的默认服务软件;第二种是通过第三方软件来配置,比如Serv-U还有一些网上写的简易ftp服务器等;

默认端口:20(数据端口);21(控制端口);69(tftp小型文件传输协议)

攻击方式:

  • 爆破:ftp的爆破工具有很多,这里我推荐owasp的Bruter 以及msf中ftp爆破模块;

  • 匿名访问:用户名:anonymous 密码:为空或任意邮箱

  • 嗅探:ftp使用明文传输技术(但是嗅探给予局域网并需要欺骗或监听网关)

  • 后门 vsftp

  • 远程溢出

  • 跳转攻击


2.5.2 NFS 服务

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。如今NFS具备了防止被利用导出文件夹的功能,但遗留系统中的NFS服务配置不当,则仍可能遭到恶意攻击者的利用。

攻击方法

  • 未授权访问

参考


2.5.3 Samba服务

Samba是linux和unix系统上实现SMB/CIFS协议的一个免费软件,由服务器和客户端程序构成。而SMB是局域网支持共享文件和打印机的一种通信协议,为局域网内不同计算机之间提供文件及打印机等资源的共享服务。


攻击方法

  • 远程代码执行

  • 弱口令

  • 未授权访问(public)

参考


2.5.4 SSH 服务

SSH 是协议,通常使用 OpenSSH 软件实现协议应用。SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其它网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

  • 端口:22

  • 攻击方法:

  • 爆破

  • 后门

  • 漏洞:28退格漏洞、OpenSSL漏洞

参考


2.5.5 Telnet 服务

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在終端使用者的电脑上使用telnet程序,用它连接到服务器。終端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。


  • 默认端口:21

  • 攻击方法:

  • 爆破

  • 嗅探


2.5.6 Windows 远程连接

  • 默认端口:3389

  • 攻击方法

  • 爆破

  • Shift粘滞键后门:5次shift后门

  • 利用ms12-020攻击3389端口


2.5.7 VNC服务

VNC(Virtual Network Computing),为一种使用RFB协议的显示屏画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的显示屏画面。


  • 默认端口:5900+桌面ID(5901;5902)

  • 攻击方式:

  • 爆破:弱口令

  • 认证口令绕过:

  • 拒绝服务攻击:(CVE-2015-5239)

  • 权限提升:(CVE-2013-6886)


2.5.8 SMTP协议

  • smtp:邮件协议,在linux中默认开启这个服务,可以向对方发送钓鱼邮件!

  • 默认端口:25(smtp)、465(smtps)

  • 攻击方式:

  • 爆破:弱口令

  • 未授权访问


2.5.9 POP3协议

  • 默认端口:109(POP2)、110(POP3)、995(POP3S)

  • 攻击方式:

  • 爆破;弱口令

  • 未授权访问;


2.5.10 DNS服务

  • 默认端口:53

  • 攻击方式:

  • 区域传输漏洞


2.5.11 IMAP协议

  • 默认端口:143(imap)、993(imaps)

  • 攻击方式:

  • 爆破:弱口令

  • 配置不当


2.5.12 SNMP协议

  • 默认端口:161

  • 攻击方式:

  • 爆破:弱口令


2.5.13 DHCP服务

  • 默认端口:67&68、546(DHCP Failover做双机热备的)

  • 攻击方式:

  • DHCP劫持;


2.6 云环境

2.6.1 VMware


使用 VMware vCloud 可将现有数据中心内的虚拟基础架构资源池化,并将其作为基于目录的服务交付。通过与云计算基础架构的最佳平台 VMware vSphere 配合使用,VMware vCloud Director 可为客户提供构建安全的私有云,从而改变 IT 部门交付和管理基础架构服务以及用户访问和使用这些服务的方式。

一般组织中很多独立安装的 Esxi 形式的私有云,或独立部署的虚拟化系统。


端口(很多):

漏洞

主机逃逸

CVE-2017-5638

参考:

《转载: 天億网络安全  原文:内网安全检查/渗透总结

技术支持: 建站ABC | 管理登录