目录
  1. 1. 0x01 端口简介
    1. 1.1. 什么是端口
    2. 1.2. 作用及分类
  2. 2. 0x02 服务器常用端口
    1. 2.1. 常见端口服务列表
    2. 2.2. 常见端口利用列表
  3. 3. 0x03 与端口相关的操作
    1. 3.1. Windows
    2. 3.2. Linux
  4. 4. 0x04 根据端口分析
    1. 4.1. 21端口渗透剖析
    2. 4.2. 22端口渗透剖析
    3. 4.3. 23端口渗透剖析
    4. 4.4. 25/465端口渗透剖析
    5. 4.5. 53端口渗透剖析
    6. 4.6. 80端口渗透剖析
    7. 4.7. 135端口渗透剖析
    8. 4.8. 139/445端口渗透剖析
    9. 4.9. 1433端口渗透剖析
    10. 4.10. 1521端口渗透剖析
    11. 4.11. 2049端口渗透剖析
    12. 4.12. 3306端口渗透剖析
    13. 4.13. 3389端口渗透剖析
    14. 4.14. 4899端口渗透剖析
    15. 4.15. 5432端口渗透剖析
    16. 4.16. 5631端口渗透剖析
    17. 4.17. 5900端口渗透剖析
    18. 4.18. 6379端口渗透剖析
    19. 4.19. 7001/7002端口渗透剖析
    20. 4.20. 8080端口渗透剖析
    21. 4.21. 27017端口渗透剖析
  5. 5. 0x05 根据服务分析
    1. 5.1. 文件共享服务端口渗透
      1. 5.1.1. ftp服务
      2. 5.1.2. NFS服务
      3. 5.1.3. Samba服务
      4. 5.1.4. LDAP协议
    2. 5.2. 远程连接服务端口渗透
      1. 5.2.1. SSH服务
      2. 5.2.2. Telnet服务
      3. 5.2.3. Windows远程连接
      4. 5.2.4. VNC服务
      5. 5.2.5. Pcanywhere服务
    3. 5.3. Web应用服务端口渗透
      1. 5.3.1. IIS服务
      2. 5.3.2. Apache/Tomcat/Nginx/Axis2
      3. 5.3.3. WebLogic
      4. 5.3.4. Jboss
      5. 5.3.5. Websphere
      6. 5.3.6. GlassFish
      7. 5.3.7. Jenkins
      8. 5.3.8. Resin
      9. 5.3.9. Jetty
      10. 5.3.10. Lotus
    4. 5.4. 数据库服务端口渗透
      1. 5.4.1. MySQL数据库
      2. 5.4.2. MSSQL数据库
      3. 5.4.3. Oracle数据库
      4. 5.4.4. PostgreSQL数据库
      5. 5.4.5. MongoDB数据库
      6. 5.4.6. Redis数据库
      7. 5.4.7. SysBase数据库
      8. 5.4.8. DB2数据库
    5. 5.5. 邮件服务端口渗透
      1. 5.5.1. SMTP协议
      2. 5.5.2. POP3协议
      3. 5.5.3. IMAP协议
    6. 5.6. 网络常见协议端口渗透
      1. 5.6.1. DNS服务
      2. 5.6.2. DHCP服务
      3. 5.6.3. SNMP协议
    7. 5.7. 其他端口渗透
      1. 5.7.1. Hadoop文件服务
      2. 5.7.2. Zookeeper服务
      3. 5.7.3. Zabbix服务
      4. 5.7.4. elasticsearch服务
      5. 5.7.5. memcache服务
      6. 5.7.6. Linux R服务
      7. 5.7.7. RMI
      8. 5.7.8. Rsync服务
      9. 5.7.9. Socket代理
端口渗透小结

0x01 端口简介

什么是端口

在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器、高防服务器上用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535

大家都知道计算机是底层是二进制的世界,然而 2 的 16 次方正好是 65536 ,从 0 到 65535 正好是 65536,那为什么是 16 次方呢?
16 正好是 2 的 4 次方,你看到这些数字都是 2 的 n 次方,这也是二进制的特征,如果不选 2 的 16 次方,那么只有 2 的 8 次方或者 2 的 32 次方,不是太大就是太小,所以就算了 2 的 16 次方,不多不少正合适。

作用及分类

一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。因为IP 地址与网络服务的关系是一对多的关系,不能只靠IP地址来区分不同的服务。实际上是通过“IP地址+端口号”来区分不同的服务的。

大致分为三类端口

  • 公认端口(Well-KnownPorts):范围从0到1023
    它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
    我们在IE的地址栏里输入一个网址的时候( 比如www.cce.com.cn)是不必指定端口号的,因为在默认情况下WWW服务的端口 号是“80”。
    网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在 地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口 号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.cce.com.cn:8080”。
    但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。

  • 动态端口(Dynamic Ports):范围从1024到65535
    之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。动态分配是指当一个系统进程或应用 程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配 一个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。

    • 注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
    • 动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024 起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

0x02 服务器常用端口

维基百科 - TCP/UDP端口列表

常见端口服务列表

端口 服务 说明
21 FTP FTP 服务器所开放的端口,用于上传、下载
22 SSH 22 端口就是 ssh 端口,用于通过命令行模式远程连接 Linux 系统服务器
25 SMTP SMTP 服务器所开放的端口,用于发送邮件
80 HTTP 用于网站服务例如 IIS、Apache、Nginx 等提供对外访问
110 POP3 110 端口是为 POP3(邮件协议 3)服务开放的
137/138/139 NETBIOS 其中 137、138 是 UDP 端口,当通过网上邻居传输文件时用这个端口。而 139 端口:通过这个端口进入的连接试图获得 NetBIOS/SMB 服务。这个协议被用于 windows 文件和打印机共享和 SAMBA
143 IMAP 143 端口主要是用于“Internet Message AccessProtocol”v2(Internet 消息访问协议,简称 IMAP),和 POP3 一样,是用于电子邮件的接收的协议
443 HTTPS 网页浏览端口,能提供加密和通过安全端口传输的另一种 HTTP
1433 SQL Server 1433 端口,是 SQL Server 默认的端口,SQL Server 服务使用两个端口:TCP-1433、UDP-1434。其中 1433 用于供 SQL Server 对外提供服务,1434 用于向请求者返回 SQL Server 使用了哪个 TCP/IP 端口
3306 MySQL 3306 端口,是 MySQL 数据库的默认端口,用于 MySQL 对外提供服务
3389 Windows Server Remote Desktop Services 3389 端口是 Windows 远程桌面的服务端口,可以通过这个端口,用 “远程桌面” 等连接工具来连接到远程的服务器
8080 代理端口 8080 端口同 80 端口,是被用于 WWW 代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上 “:8080” 端口号。另外 Apache Tomcat web server 安装后,默认的服务端口就是 8080

常见端口利用列表

端口 服务 入侵方式
21 ftp/tftp/vsftpd文件传输协议 爆破/嗅探/溢出/后门
22 ssh远程连接 爆破/openssh漏洞
23 Telnet远程连接 爆破/嗅探/弱口令
25 SMTP邮件服务 邮件伪造
53 DNS域名解析系统 域传送/劫持/缓存投毒/欺骗
67/68 dhcp服务 劫持/欺骗
110 pop3 爆破/嗅探
139 Samba服务 爆破/未授权访问/远程命令执行
143 Imap协议 爆破
161 SNMP协议 爆破/搜集目标内网信息
389 Ldap目录访问协议 注入/未授权访问/弱口令
445 smb ms17-010/端口溢出
512/513/514 Linux Rexec服务 爆破/Rlogin登陆
873 Rsync服务 文件上传/未授权访问
1080 socket 爆破
1352 Lotus domino邮件服务
1433 mssql 爆破/注入/SA弱口令
1521 oracle 爆破/注入/TNS爆破/反弹shell
2049 Nfs服务 配置不当
2181 zookeeper服务 未授权访问
2375 docker remote api 未授权访问
3306 mysql 爆破/注入
3389 Rdp远程桌面链接 爆破/shift后门
4848 GlassFish控制台 爆破/认证绕过
5000 sybase/DB2数据库 爆破/注入/提权
5432 postgresql 爆破/注入/缓冲区溢出
5632 pcanywhere服务 抓密码/代码执行
5900 vnc 爆破/认证绕过
6379 Redis数据库 未授权访问/爆破
7001/7002 weblogic java反序列化/控制台弱口令
80/443 http/https web应用漏洞/心脏滴血
8069 zabbix服务 远程命令执行/注入
8161 activemq 弱口令/写文件
8080/8089 Jboss/Tomcat/Resin 爆破/PUT文件上传/反序列化
8083/8086 influxDB 未授权访问
9000 fastcgi 远程命令执行
9090 Websphere控制台 爆破/java反序列化/弱口令
9200/9300 elasticsearch 远程代码执行
11211 memcached 未授权访问
27017/27018 mongodb 未授权访问/爆破

0x03 与端口相关的操作

Windows

查看所有进程占用的端口

netstat –ano

查看占用指定端口的程序

netstat –ano|findstr [指定端口号]

结束进程

1>首先找到进程号对应的进程名称
tasklist|findstr [进程号];如:tasklist|findstr 3112

2>然后根据进程名称杀死进程
taskkill /f /t /im [进程名称];如:taskkill /f /t /im /javaw.exe

Linux

lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:

lsof -i:端口号

更多的 lsof 命令

lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件

0x04 根据端口分析

21端口渗透剖析

FTP通常用作对远程服务器进行管理,典型应用就是对web系统进行管理。一旦FTP密码泄露就直接威胁web系统安全,甚至黑客通过提权可以直接控制服务器。这里剖析渗透FTP服务器的几种方法。

(1)基础爆破:ftp爆破工具很多,这里我推owasp的Bruter,hydra以及msf中的ftp爆破模块。
(2) ftp匿名访问:用户名:anonymous 密码:为空或者任意邮箱
(3)后门vsftpd :version 2到2.3.4存在后门漏洞,攻击者可以通过该漏洞获取root权限。(https://www.freebuf.com/column/143480.html)
(4)嗅探:ftp使用明文传输技术(但是嗅探给予局域网并需要欺骗或监听网关),使用Cain进行渗透。
(5)ftp远程代码溢出。(https://blog.csdn.net/weixin_42214273/article/details/82892282)
(6)ftp跳转攻击。(https://blog.csdn.net/mgxcool/article/details/48249473)

22端口渗透剖析

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

(1)弱口令,可使用工具hydra,msf中的ssh爆破模块。
(2)防火墙SSH后门。(https://www.secpulse.com/archives/69093.html)
(3)28退格 OpenSSL
(4)openssh 用户枚举 CVE-2018-15473。(https://www.anquanke.com/post/id/157607)

23端口渗透剖析

telnet是一种旧的远程管理方式,使用telnet工具登录系统过程中,网络上传输的用户和密码都是以明文方式传送的,黑客可使用嗅探技术截获到此类密码。

(1)暴力破解技术是常用的技术,使用hydra,或者msf中telnet模块对其进行破解。
(2)在linux系统中一般采用SSH进行远程访问,传输的敏感数据都是经过加密的。而对于windows下的telnet来说是脆弱的,因为默认没有经过任何加密就在网络中进行传输。使用cain等嗅探工具可轻松截获远程登录密码。

25/465端口渗透剖析

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

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

(1)爆破:弱口令
(2)未授权访问

53端口渗透剖析

53端口是DNS域名服务器的通信端口,通常用于域名解析。也是网络中非常关键的服务器之一。这类服务器容易受到攻击。对于此端口的渗透,一般有三种方式。

(1)使用DNS远程溢出漏洞直接对其主机进行溢出攻击,成功后可直接获得系统权限。(https://www.seebug.org/vuldb/ssvid-96718)
(2)使用DNS欺骗攻击,可对DNS域名服务器进行欺骗,如果黑客再配合网页木马进行挂马攻击,无疑是一种杀伤力很强的攻击,黑客可不费吹灰之力就控制内网的大部分主机。这也是内网渗透惯用的技法之一。(https://baijiahao.baidu.com/s?id=1577362432987749706&wfr=spider&for=pc)
(3)拒绝服务攻击,利用拒绝服务攻击可快速的导致目标服务器运行缓慢,甚至网络瘫痪。如果使用拒绝服务攻击其DNS服务器。将导致用该服务器进行域名解析的用户无法正常上网。(http://www.edu.cn/xxh/fei/zxz/201503/t20150305_1235269.shtml)
(4)DNS劫持。(https://blog.csdn.net/qq_32447301/article/details/77542474)

80端口渗透剖析

80端口通常**web服务。目前黑客对80端口的攻击典型是采用SQL注入的攻击方法,脚本渗透技术也是一项综合性极高的web渗透技术,同时脚本渗透技术对80端口也构成严重的威胁。

(1)对于windows2000的IIS5.0版本,黑客使用远程溢出直接对远程主机进行溢出攻击,成功后直接获得系统权限。
(2)对于windows2000中IIS5.0版本,黑客也尝试利用‘Microsoft IISCGI’文件名错误解码漏洞攻击。使用X-SCAN可直接探测到IIS漏洞。
(3)IIS写权限漏洞是由于IIS配置不当造成的安全问题,攻击者可向存在此类漏洞的服务器上传恶意代码,比如上传脚本木马扩大控制权限。
(4)普通的http封包是没有经过加密就在网络中传输的,这样就可通过嗅探类工具截取到敏感的数据。如使用Cain工具完成此类渗透。
(5)80端口的攻击,更多的是采用脚本渗透技术,利用web应用程序的漏洞进行渗透是目前很流行的攻击方式。
(6)对于渗透只开放80端口的服务器来说,难度很大。利用端口复用工具可解决此类技术难题。
(7)CC攻击效果不及DDOS效果明显,但是对于攻击一些小型web站点还是比较有用的。CC攻击可使目标站点运行缓慢,页面无法打开,有时还会爆出web程序的绝对路径。

135端口渗透剖析

135端口主要用于使用RPC协议并**DCOM服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输。同时这个端口也爆出过不少漏洞,最严重的就是缓冲区溢出漏洞,曾经疯狂一时的‘冲击波’病毒就是利用这个漏洞进行传播的。对于135端口的渗透,黑客的渗透方法为:

(1)查找存在RPC溢出的主机,进行远程溢出攻击,直接获得系统权限。如用‘DSScan’扫描存在此漏洞的主机。对存在漏洞的主机可使用‘ms05011.exe’进行溢出,溢出成功后获得系统权限。(https://wenku.baidu.com/view/68b3340c79563c1ec5da710a.html)
(2)扫描存在弱口令的135主机,利用RPC远程过程调用开启telnet服务并登录telnet执行系统命令。系统弱口令的扫描一般使用hydra。对于telnet服务的开启可使用工具kali链接。(https://wenku.baidu.com/view/c8b96ae2700abb68a982fbdf.html)

139/445端口渗透剖析

139端口是为‘NetBIOS SessionService’的,主要用于windows文件和打印机共享以及UNIX中的Samba服务。445端口也用于**windows文件和打印机共享,在内网环境中使用的很广泛。这两个端口同样属于重点攻击对象,139/445端口曾出现过许多严重级别的漏洞。下面剖析渗透此类端口的基本思路。

(1)对于开放139/445端口的主机,一般尝试利用溢出漏洞对远程主机进行溢出攻击,成功后直接获得系统权限。利用msf的ms-017永恒之蓝。(https://blog.csdn.net/qq_41880069/article/details/82908131)
(2)对于攻击只开放445端口的主机,黑客一般使用工具‘MS06040’或‘MS08067’.可使用专用的445端口扫描器进行扫描。NS08067溢出工具对windows2003系统的溢出十分有效,工具基本使用参数在cmd下会有提示。(https://blog.csdn.net/god_7z1/article/details/6773652)
(3)对于开放139/445端口的主机,黑客一般使用IPC$进行渗透。在没有使用特点的账户和密码进行空连接时,权限是最小的。获得系统特定账户和密码成为提升权限的关键了,比如获得administrator账户的口令。(https://blog.warhut.cn/dmbj/145.html)
(4)对于开放139/445端口的主机,可利用共享获取敏感信息,这也是内网渗透中*集信息的基本途径。

1433端口渗透剖析

1433是SQLServer默认的端口,SQL Server服务使用两个端口:tcp-1433、UDP-1434.其中1433用于供SQLServer对外**服务,1434用于向请求者返回SQLServer使用了哪些TCP/IP端口。1433端口通常遭到黑客的攻击,而且攻击的方式层出不穷。最严重的莫过于远程溢出漏洞了,如由于SQL注射攻击的兴起,各类数据库时刻面临着安全威胁。利用SQL注射技术对数据库进行渗透是目前比较流行的攻击方式,此类技术属于脚本渗透技术。

(1)对于开放1433端口的SQL Server2000的数据库服务器,黑客尝试使用远程溢出漏洞对主机进行溢出测试,成功后直接获得系统权限。(https://blog.csdn.net/gxj022/article/details/4593015)
(2)暴力破解技术是一项经典的技术。一般破解的对象都是SA用户。通过字典破解的方式很快破解出SA的密码。(https://blog.csdn.net/kali_linux/article/details/50499576)
(3)嗅探技术同样能嗅探到SQL Server的登录密码。
(4)由于脚本程序编写的不严密,例如,程序员对参数过滤不严等,这都会造成严重的注射漏洞。通过SQL注射可间接性的对数据库服务器进行渗透,通过调用一些存储过程执行系统命令。可以使用SQL综合利用工具完成。

1521端口渗透剖析

1521是大型数据库Oracle的默认监听端口,估计新手还对此端口比较陌生,平时大家接触的比较多的是Access,MSSQL以及MYSQL这三种数据库。一般大型站点才会部署这种比较昂贵的数据库系统。对于渗透这种比较复杂的数据库系统,黑客的思路如下:

(1)Oracle拥有非常多的默认用户名和密码,为了获得数据库系统的访问权限,破解数据库系统用户以及密码是黑客必须攻破的一道安全防线。
(2)SQL注射同样对Oracle十分有效,通过注射可获得数据库的敏感信息,包括管理员密码等。
(3)在注入点直接创建java,执行系统命令。
(4)https://www.leiphone.com/news/201711/JjzXFp46zEPMvJod.html

2049端口渗透剖析

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

未授权访问。(https://www.freebuf.com/articles/network/159468.html) (http://www.secist.com/archives/6192.htm)

3306端口渗透剖析

3306是MYSQL数据库默认的监听端口,通常部署在中型web系统中。在国内LAMP的配置是非常流行的,对于php+mysql构架的攻击也是属于比较热门的话题。mysql数据库允许用户使用自定义函数功能,这使得黑客可编写恶意的自定义函数对服务器进行渗透,最后取得服务器最高权限。对于3306端口的渗透,黑客的方法如下:

(1)由于管理者安全意识淡薄,通常管理密码设置过于简单,甚至为空口令。使用破解软件很容易破解此类密码,利用破解的密码登录远程mysql数据库,上传构造的恶意UDF自定义函数代码进行注册,通过调用注册的恶意函数执行系统命令。或者向web目录导出恶意的脚本程序,以控制整个web系统。
(2)功能强大的‘cain’同样支持对3306端口的嗅探,同时嗅探也是渗透思路的一种。
(3)SQL注入同样对mysql数据库威胁巨大,不仅可以获取数据库的敏感信息,还可使用load_file()函数读取系统的敏感配置文件或者从web数据库链接文件中获得root口令等,导出恶意代码到指定路径等。

3389端口渗透剖析

3389是windows远程桌面服务默认监听的端口,管理员通过远程桌面对服务器进行维护,这给管理工作带来的极大的方便。通常此端口也是黑客们较为感兴趣的端口之一,利用它可对远程服务器进行控制,而且不需要另外安装额外的软件,实现方法比较简单。当然这也是系统合法的服务,通常是不会被杀毒软件所查杀的。使用‘输入法漏洞’进行渗透。

(1)对于windows2000的旧系统版本,使用‘输入法漏洞’进行渗透。
(2)cain是一款超级的渗透工具,同样支持对3389端口的嗅探。
(3)Shift粘滞键后门:5次shift后门
(4)社会工程学通常是最可怕的攻击技术,如果管理者的一切习惯和规律被黑客摸透的话,那么他管理的网络系统会因为他的弱点被渗透。
(5)爆破3389端口。这里还是推荐使用hydra爆破工具。
(6)ms12_020死亡蓝屏攻击。(https://www.cnblogs.com/R-Hacker/p/9178066.html)
(7)https://www.cnblogs.com/backlion/p/9429738.html

4899端口渗透剖析

4899端口是remoteadministrator远程控制软件默认监听的端口,也就是平时常说的radmini影子。radmini目前支持TCP/IP协议,应用十分广泛,在很多服务器上都会看到该款软件的影子。对于此软件的渗透,思路如下:

(1)radmini同样存在不少弱口令的主机,通过专用扫描器可探测到此类存在漏洞的主机。
(2)radmini远控的连接密码和端口都是写入到注册表系统中的,通过使用webshell注册表读取功能可读取radmini在注册表的各项键值内容,从而破解加密的密码散列。

5432端口渗透剖析

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

(1)爆破:弱口令:postgres postgres
(2)缓冲区溢出:CVE-2014-2669。(http://drops.xmd5.com/static/drops/tips-6449.html)(3)远程代码执行:CVE-2018-1058。(https://www.secpulse.com/archives/69153.html)

5631端口渗透剖析

5631端口是著名远程控制软件pcanywhere的默认监听端口,同时也是世界领先的远程控制软件。利用此软件,用户可以有效管理计算机并快速解决技术支持问题。由于软件的设计缺陷,使得黑客可随意下载保存连接密码的*.cif文件,通过专用破解软件进行破解。这些操作都必须在拥有一定权限下才可完成,至少通过脚本渗透获得一个webshell。通常这些操作在黑客界被称为pcanywhere提权技术。

PcAnyWhere提权。(https://blog.csdn.net/Fly_hps/article/details/80377199)

5900端口渗透剖析

5900端口是优秀远程控制软件VNC的默认监听端口,此软件由著名的AT&T的欧洲研究实验室开发的。VNC是在基于unix和linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和windows和MAC中的任何一款控制软件媲美。对于该端口的渗透,思路如下:

(1)VNC软件存在密码验证绕过漏洞,此高危漏洞可以使得恶意攻击者不需要密码就可以登录到一个远程系统。
(2)cain同样支持对VNC的嗅探,同时支持端口修改。
(3)VNC的配置信息同样被写入注册表系统中,其中包括连接的密码和端口。利用webshell的注册表读取功能进行读取加密算法,然后破解。
(4)VNC拒绝服务攻击(CVE-2015-5239)。(http://blogs.360.cn/post/vnc%E6%8B%92%E7%BB%9D%E6%9C%8D%E5%8A%A1%E6%BC%8F%E6%B4%9Ecve-2015-5239%E5%88%86%E6%9E%90.html)
(5)VNC权限提升(CVE-2013-6886)。

6379端口渗透剖析

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

(1)爆破:弱口令
(2)未授权访问+配合ssh key提权。(http://www.alloyteam.com/2017/07/12910/)

7001/7002端口渗透剖析

7001/7002通常是weblogic中间件端口

(1)弱口令、爆破,弱密码一般为weblogic/Oracle@123 or weblogic
(2)管理后台部署 war 后门
(3)SSRF
(4)反序列化漏洞
(5)weblogic_uac
https://github.com/vulhub/vulhub/tree/master/weblogic/ssrfhttps://bbs.pediy.com/thread-224954.htm
https://fuping.site/2017/06/05/Weblogic-Vulnerability-Verification/
https://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cve-2014-4.html

8080端口渗透剖析

8080端口通常是apache_Tomcat服务器默认监听端口,apache是世界使用排名第一的web服务器。国内很多大型系统都是使用apache服务器,对于这种大型服务器的渗透,主要有以下方法:

(1)Tomcat远程代码执行漏洞(https://www.freebuf.com/column/159200.html)
(2)Tomcat任意文件上传。(http://liehu.tass.com.cn/archives/836)
(3)Tomcat远程代码执行&信息泄露。(https://paper.seebug.org/399/)
(4)Jboss远程代码执行。(http://mobile.www.cnblogs.com/Safe3/archive/2010/01/08/1642371.html)
(5)Jboss反序列化漏洞。(https://www.zybuluo.com/websec007/note/838374)
(6)Jboss漏洞利用。(https://blog.csdn.net/u011215939/article/details/79141624)

27017端口渗透剖析

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

(1)爆破:弱口令
(2)未授权访问;(http://www.cnblogs.com/LittleHann/p/6252421.html)(3)http://www.tiejiang.org/19157.html

0x05 根据服务分析

文件共享服务端口渗透

ftp服务

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

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

攻击方式:

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

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

用户名:FTP 密码:FTP或为空

用户名:USET 密码:pass

当然还有不需要用户名密码直接访问的,一般出现在局域网中;

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

后门技术:在linux的vsftp某一版本中,存在着一个后门程序,只要在用户名后面加上 就会在6200上打开一个监听Shell,我们可以使用telnet直接连接;详细请点击

远程溢出漏洞:6.10.1 IIS FTP远程溢出漏洞,在IIS FTP服务器中NLST命令存在一个缓冲区溢出漏洞,这个漏洞可能是攻击者在服务器运行一条非法命令。

跳转攻击:(Bounce Attacks)攻击者发送一个FTP”PORT”命令给目标FTP服务器,其中包含该主机的网络地址和被攻击的服务的端口号。这样,客户端就能命令FTP服务器发一个文件给被攻击的服务。这个文件可能包括根被攻击的服务有关的命令(如SMTP,NNTP等)。由于是命令第三方去连接到一种服务,而不是直接连接,就使得跟踪攻击者变得困难,并且还避开了基于网络地址的访问限制。(注:此种情况小白并没有遇到过,只是总结一下,欢迎大牛指教)

  • 案例分享:
    • 山东电信Serv-U Web客户端弱口令
    • 长虹ftp弱口令导致全网数据泄漏

NFS服务

nfs:网络文件系统,允许网络中的计算机通过TCP/IP网络共享资源。基于Linux系统,配置方面很简单,详细配置请参考案例分享。在nfs配置中,有不做任何限制的,有限制用户,有限制IP,以及在版本2.x中我们还可以使用证书来验证用户。当然不同的限制可以采用的攻击方式也不一样;就目前而言网上关于nfs的攻击还是比较少的!

默认端口:2049

攻击方式:

未授权访问:未限制IP以及用户权限设置错误

  • 案例分享:
    • Nfs配置不当导致被入侵
    • NFS服务全攻略

Samba服务

Samba服务:对于这个可以在windows与Linux之间进行共享文件的服务同样是我们攻击的关注点;samba登录分为两种方式,一种是需要用户名口令;另一种是不需要用户名口令。在很多时候不光是pc机,还有一些服务器,网络设备都开放着此服务,方便进行文件共享,但是同时也给攻击者提供了便利。

默认端口:137(主要用户NetBIOS Name Service;NetBIOS名称服务)、139(NetBIOS Session Service,主要提供samba服务)

攻击方式:

爆破:弱口令(爆破工具采用hydra)hydra -l username -P
PassFile IP smb

未授权访问:给予public用户高权限

远程代码执行漏洞:CVE-2015-0240等等

  • 案例分享:
    • Samba远程代码执行漏洞
    • 未授权访问文件系统漏洞

LDAP协议

ldap:轻量级目录访问协议,最近几年随着ldap的广泛使用被发现的漏洞也越来越多。但是毕竟主流的攻击方式仍旧是那些,比如注入,未授权等等;这些问题的出现也都是因为配置不当而造成的。

默认端口:389

攻击方式:

注入攻击:盲注

未授权访问:

爆破:弱口令

  • 案例分享:
    • LDAP注入与防御剖析
    • 欧朋LDAP服务匿名访问
    • 使用LDAP查询快速提升域权限

远程连接服务端口渗透

SSH服务

SSH服务:这个服务基本会出现在我们的Linux服务器,网络设备,安全设备等设备上,而且很多时候这个服务的配置都是默认的;对于SSH服务我们可能使用爆破攻击方式较多。

默认端口:22

攻击方式

爆破:弱口令、

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

  • 案例分享:
    • 安宇创新科技ssh弱口令
    • 宜信贷某站存在OpenSSL漏洞

Telnet服务

Telnet服务:在SSH服务崛起的今天我们已经很难见到使用telnet的服务器,但是在很多设备上同样还是有这个服务的;比如cisco、华三,深信服等厂商的设备;我就有很多次通过telnet弱口令控制这些设备;

默认端口:23

攻击方式

爆破:弱口令

嗅探:此种情况一般发生在局域网;

  • 案例分享:
    • 大量惠普打印机远程telnet可被查看和操作

Windows远程连接

远程桌面连接:作为windows上进行远程连接的端口,很多时候我们在得到系统为windows的shell的时候我们总是希望可以登录3389实际操作对方电脑;这个时候我们一般的情况分为两种。一种是内网,需要先将目标机3389端口反弹到外网;另一种就是外网,我们可以直接访问;当然这两种情况我们利用起来可能需要很苛刻的条件,比如找到登录密码等等;

默认端口:3389

攻击方式:

爆破:3389端口爆破工具就有点多了

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

3389漏洞攻击:利用ms12-020攻击3389端口,导致服务器关机;请参考

VNC服务

VNC:一款优秀的远控工具,常用语类UNIX系统上,简单功能强大;也

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

攻击方式:

爆破:弱口令

认证口令绕过:

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

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

  • 案例分享:
    • 广西电信客服服务器使用VNC存在弱口令可直接控制

Pcanywhere服务

PyAnywhere服务:一款远控工具,有点类似vnc的功能;这个服务在以前很多黑客发的视频里面都有,利用pcanywhere来进行提权;

默认端口:5632

攻击方式:

提权控制服务:

拒绝服务攻击:

代码执行:请参考

  • 案例分享:
    • 黑龙江物价局多处安全漏洞可能导致服务器沦陷(pcAnywhere提权+密码突破)

Web应用服务端口渗透

HTTP服务:对于http服务其实是我们目前这几年比较常见的攻击入口,所以这里会针对http服务进行一个详细的详解;

注:这个板块的所有攻击方式,如果涉及到常规的web漏洞不会提出来,除非是特定的服务器才会产生的漏洞;

IIS服务

默认端口:80/81/443

攻击方式:

IIS
PUT写文件:利用IIS漏洞,put方法直接将文件放置到服务器上

短文件名泄漏:这种一般没啥影响

解析漏洞:详细见apache服务

  • 案例分享:
    • 徐州市教育系统大量IIS PUT漏洞
    • 用友软件IIS写权限(PUT)导致可获取webshell控制服务器
    • 国家电网某分站存在iis短文件名漏洞

Apache/Tomcat/Nginx/Axis2

默认端口:80/8080

攻击方式:

爆破:弱口令(爆破manager后台)

HTTP慢速攻击:可以把服务器打死,对一些大型的网站有影响;

解析漏洞:请参考

  • 案例分享:
    • 安卓开发平台存在上传漏洞和Apache解析漏洞,成功获取webshell
    • 腾讯分站 Apache 漏洞

WebLogic

默认端口:7001

攻击方式:

爆破:弱口令 4组:用户名密码均一致:system weblogic(密码可能weblogic123) portaladmin guest

Congsole后台部署webshell:

Java反序列化:

泄漏源代码/列目录:这个太老了,估计网上都没有了吧!

SSRF窥探内网:央视网SSRF可窥探内网

  • 案例分享:
    • 福建省人力资源和社会保障厅下属某WEBLOGIC弱口令
    • 利用Weblogic进行入侵的一些总结

Jboss

默认端口8080;其他端口1098/1099/4444/4445/8080/8009/8083/8093

攻击方式:

爆破:弱口令(爆破jboss系统后台)

远程代码执行:由于配置不当造成

Java反序列化:

  • 案例分享
    • 中华人民共和国民政部JBoss配置不当
    • JBOSS安全问题总结
    • 中国科学院某处jboss应用漏洞

Websphere

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

攻击方式:

爆破:弱口令(控制台)

任意文件泄漏:(CVE-2014-0823)

Java反序列化

  • 案例分享:
    • 中国电信某通用型业务系统(Websphere)GetShell漏洞
    • 大汉网络有限公司远程命令执行漏洞(WebSphere案例)

GlassFish

默认端口:http 8080;IIOP 3700;控制台4848

攻击方式:

爆破:弱口令(对于控制台)

任意文件读取:

认证绕过:

  • 案例分享:
    • 应用服务器glassfish存在通用任意文件读取漏洞
    • Oracle GlassFish Server认证绕过

Jenkins

默认端口:8080、8089

攻击方式:

爆破:弱口令(默认管理员)

未授权访问:

反序列化:

  • 案例分享:
    • 酷6Jenkins系统未授权访问可执行系统命令

Resin

默认端口:8080

攻击方式:

目录遍历

远程文件读取

  • 案例分享:
    • 爱奇艺Resin配置漏洞
    • Resin漏洞利用案例之目录遍历/以金蝶某系统为例

Jetty

默认端口:8080

攻击方式:

远程共享缓冲区溢出

Lotus

影响的都是一些大型的企业,特别需要注意,经过以前的测试发现弱口令这个问题经常都存在,可能是很多管理员不知道如何去修改(不要打我)。

默认端口:1352

攻击方式:

爆破:弱口令(admin password)控制台

信息泄露

跨站脚本攻击

  • 案例分享:
    • Lotus Domino WebMail一处越权访问
    • 中电投集团某系统弱口令直达内网涉及/OA系统/内部邮箱/财务系统/人力资源系统
    • 中国某大型金融机构地方业务弱口令导致数万商户信息泄露&访问Lotus Domino后台

数据库服务端口渗透

针对所有的数据库攻击方式都存在SQL注入,这里先提出来在下面就不一一写了免得大家说我占篇幅;当然不同的数据库注入技巧可能不一样,特别是NoSQL与传统的SQL数据库不太一样。但是这不是本文需要介绍的重点,后面有时间会写一篇不同数据库的渗透技巧。

MySQL数据库

默认端口:3306

攻击方式:

爆破:弱口令

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

拒绝服务攻击:利用sql语句是服务器进行死循环打死服务器

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

MSSQL数据库

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

攻击方式:

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

  • 案例分享:
    • MSSQL注射总结
    • 上海安脉综合管理系统mssql注射漏洞
    • 解密MSSQL连接数据库密码
    • 从攻击MSSQL到提权: 使用msf针对mssql的一次完整渗透

Oracle数据库

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

攻击方式:

爆破:弱口令

注入攻击;

漏洞攻击;

  • 案例分享:
    • Oracle盲注结合XXE漏洞远程获取数据

PostgreSQL数据库

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

默认端口:5432

攻击方式:

爆破:弱口令:postgres postgres

缓冲区溢出:CVE-2014-2669

  • 案例分享:
    • Hacking postgresql
    • 关于postgresql的那些事

MongoDB数据库

MongoDB:NoSQL数据库;攻击方法与其他数据库类似;关于它的安全讲解:请参考

默认端口:27017

攻击方式:

爆破:弱口令

未授权访问;github有攻击代码;请点击:https://github.com/yangbh/Hammer/blob/master/plugins/System/mongodb_unauth_access.py

  • 案例分享:
    • MongoDB phpMoAdmin远程代码执行
    • 搜狐MongoDB未授权访问
    • 新浪微米未授权访问
    • 解决MongoDB各种隐患问题

Redis数据库

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

默认端口:6379

攻击方式:

爆破:弱口令

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

  • 案例分享:
    • 中国铁建网redis+ssh-keygen免认证登录

SysBase数据库

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

攻击方式:

爆破:弱口令

命令注入:

  • 案例分享:
    • 广西自考信息系统Sybase数据库注入
    • Sybase EAServer命令注入漏洞

DB2数据库

默认端口:5000

攻击方式:

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

  • 案例分享:
    • 哈尔滨银行主站DB2注入

总结一下:对于数据库,我们得知端口很多时候可以帮助我们去渗透,比如得知mysql的 数据库,我们就可以使用SQL注入进行mof、udf等方式提权;如果是mssql我们就可以使用xp_cmdshell来进行提权;如果是其它的数据 库,我们也可以采用对应的方式;比如各大数据库对应它们的默认口令,版本对应的漏洞!

顺便提一下:很多时候银行企业采用的都是oracle、db2等大型数据库;


邮件服务端口渗透

SMTP协议

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

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

攻击方式:

爆破:弱口令

未授权访问

案例分享:

腾讯邮箱smtp注册时间限制绕过漏洞

邮件伪造详解

qq邮箱伪造发件地址,容易被钓鱼利用

众多厂商邮件系统配置不当可伪造邮件人

POP3协议

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

攻击方式:

爆破;弱口令

未授权访问;

案例分享:

中国联通沃邮箱等部分Android客户端免密码登陆(可获取任意联通用户pop3密码)

中航信邮箱密码泄漏及VPN账号和大量邮箱弱口令导致可内网漫游拿到域控

IMAP协议

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

攻击方式:

爆破:弱口令

配置不当

案例分享:

163邮箱二次验证饶过缺陷

南方周末邮件服务器任意文件读取漏洞

网络常见协议端口渗透

DNS服务

默认端口:53

攻击方式:

区域传输漏洞

见2中的总结

案例分享:

全球Top1000Websites中存在DNS区域传送漏洞的网站列表

团购王某站DNS域传送漏洞

DNS泛解析与内容投毒

DHCP服务

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

攻击方式:

DHCP劫持;

见2中总结

案例分享:

流氓DHCP服务器内网攻击测试

SNMP协议

默认端口:161

攻击方式:

爆破:弱口令

案例分享:

snmp弱口令引起的信息泄漏

基于snmp的反射攻击的理论及其实现

华为某服务器SNMP弱口令


其他端口渗透

Hadoop文件服务

默认端口:请参考

案例分享:

Apache Hadoop远程命令执行

新浪漏洞系列第六弹–大量hadoop应用对外访问

Zookeeper服务

zookeeper:分布式的,开放源码的分布式应用程序协调服务;提供功能包括:配置维护、域名服务、分布式同步、组服务等。详情请参考百度百科

默认端口:2181

攻击方式:

未授权访问;

案例分享:

zookeeper未授权访问漏洞

网上关于这方面的案例暂时不多,但是对于大数据逐渐泛滥的今天,这些漏洞未来会在乌云上出现一大波!

Zabbix服务

zabbix:基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。监视各种网络参数,保证服务器系统的安全运营。

默认端口:8069

攻击方式:

远程命令执行:

案例分享:

当渗透遇到zabbix–小谈zabbix安全

Zabbix的前台SQL注射漏洞利用

网易zabbix运维不当,导致任意命令执行。(可提权、可内网渗透)

elasticsearch服务

elasticsearch:请百度(因为我觉得我解释不清楚)

默认端口:9200()、9300()

攻击方式:

未授权访问;

远程命令执行;

文件遍历;

低版本webshell植入;

案例分享:

ElasticSearch 远程代码执行漏洞

elasticsearch 漏洞利用工具

memcache服务

默认端口:11211

案例分享:

Memcache安全配置

memcache 未授权访问漏洞

Linux R服务

R服务:TCP端口512,513和514为著名的rlogin提供服务。在系统中被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts + +)。

默认端口:512(remote process execution);513(remote login a la
telnet);514(cmd)

攻击方式:

使用rlogin直接登录对方系统;

RMI

RMI:我们使用这两个端口很少的原因是因为必须是java,而且rmi穿越防火墙并不好穿越;这里我不会去涉及其他的东西,这里提出RMI只是因为在前段时间的java反序列化中,我们的小伙伴Bird写过一个weblogic利用工具,里面涉及到了RMI的一些东西,在有的时候使用socket不能成功时,我们可以使用RMI方式来进行利用;

默认端口:1090()、1099()

攻击方式:

远程命令执行(java反序列化,调用rmi方式执行命令)

这就是RMI的魅力了!

工具下载:请点我

Rsync服务

Rsync:类UNIX系统下的数据备份工具(remote sync),属于增量备份;关于它的功能,大家自行百度百科吧,其实上面很多大家也看到了说是端口渗透,其实就是端口对应服务的渗透,服务一般出错就在配置或者版本问题上,rsync也不例外。Rsync默认允许匿名访问,如果在配置文件中没有相关的用户认证以及文件授权,就会触发隐患。

默认端口:873

攻击方式:

未授权访问;

本地提权:rsync默认以root运行,利用rsync上传一个文件,只要这个文件具有s权限,我们执行我们的攻击脚本就可以具有root权限。详细请参考 和 参考二

案例分享:

搜狐几处rsync未授权访问

Socket代理

默认端口:1080

Socket代理针对代理来说没有什么漏洞,一般只是在渗透过程中作为我们的代理,进入内网,或者渗透域和林的时候有帮助。这里不做过多描述,但是可以尝试爆破一下代理的用户名和密码,万一运气好能登录,不也~

案例分享:

利用php socket5代理渗透内网


参考链接

https://blog.csdn.net/dream_1996/article/details/73481201
https://wsgzao.github.io/post/service-names-port-numbers/
https://www.secpulse.com/archives/117822.html

文章作者: P2hm1n
文章链接: http://yoursite.com/2019/06/16/端口渗透小结/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 P2hm1n‘s Blog

评论