1)信息收集
a. 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
b. 网站指纹识别(包括,cms,cdn,证书等),dns记录
c. whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
d. 子域名收集,旁站查询(有授权可渗透),C段等
e. google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等
f. 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
i. 传输协议,通用漏洞,exp,github源码等
2)漏洞挖掘
1> 浏览网站,看看网站规模,功能,特点等
2> 端口,弱口令,目录等扫描
3> XSS,SQL注入,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,越权访问,未授权访问,目录遍历,文件 包含,重放攻击(短信轰炸),服务器漏洞检测,最后使用漏扫工具等
3)漏洞利用 | 权限提升
a) mysql提权,serv-u提权,linux内核版本提权等
4)清除测试数据 | 输出报告
i 日志、测试数据的清理
ii 总结,输出渗透测试报告,附修复方案
0x01 前言
在web语言中,php和java常常会产生任意文件下载漏洞,由于渗透测试的需要,常常需要进一步getshell,笔者对常见的任意文件下载漏洞常见的getshell方式进行总结。欢迎指出不足和错误之处
0x02 利用方式介绍
信息收集信息>猜路径 >>下载配置文件/代码文件 >> 利用服务器软件漏洞> shell> 提权
首先收集系统信息,包括系统版本,中间件,cms版本,服务器用途,服务器使用者信息,端口,web路径等,然后根据收集到的信息,下载配置文件,如weblogic,ftp,ssh,等, 根据下载到的配置文件进行渗透,
常见漏洞利用方式,
1.下载到密码配置文件
下载到软件配置文件,如weblogic,ssh,ftp,数据库配置文件等, 当解出密码后,进行登陆,getshell
2.下载web目录的web文件 进行代码审计
一般是先猜测web目录的地址,在下载web业务文件,审计常用的漏洞
依据架构不同常常分为以下几种方式
php+mysql ,审计常见的sql注入,代码执行,密码找回逻辑,文件上传等,进行getshell
jsp+oracle| , 先下载/WEB-INF/classes/applicationContext.xml,再下载/WEB-INF/classes/xxx/xxx/ccc.class 进行反编译 ,
aspx+mssql ,
3.下载日志
下载日志文件,找到登录/上传/后台/ 操作,找到登录入口 可以爆破,测试默认口令,弱口令, 找到文件上传点则测试文件上传漏洞,找到后台操作试试有没有未授权访问
0x03 代码审计
没啥好写的 参考乌云drops和乌云上的审计操作,篇幅较长,本文不再赘述
0x04
渗透测试本质是对目标的了解,对站点了解的越多,收集到的信息越多,越能容易进行成功的渗透
- SSH 22
- Ssh 说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
- FTP 20 和 21
- FTP 说明:FTP服务器所开放的端口,用于上传、下载。最常见的***者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。***Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。
- Telnet 23
- telnet 说明:远程登录,***者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,***者也会找到密码。***Tiny Telnet Server就开放这个端口。
- SMTP 25
- SMTP 说明:SMTP服务器所开放的端口,用于发送邮件。***者寻找SMTP服务器是为了传递他们的SPAM。***者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。***Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。
- TFTP 69
- Trival File Transfer 说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使***者能从系统中窃取任何 文件。它们也可用于系统写入文件。
- HTTP 80
- HTTP 说明:用于网页浏览。***Executor开放此端口。
- SNMP 161
- SNMP 说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
- 端口:53 服务:Domain Name Server(DNS) 说明:DNS服务器所开放的端口,***者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。
- 端口:443 服务:Https 说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
-
WebLogic,默认的端口号为7001;
Webshpere应用程序,默认的端口号为9080;
webshpere管理工具,默认的端口号为9090;
JBOSS,默认的端口号为8080;
TOMCAT,默认的端口号为8080;
WIN2003远程登陆,默认的端口号为3389;
Symantec AV/Filter for MSE ,默认端口号为 8081;
Oracle 数据库,默认的端口号为1521;
ORACLE EMCTL,默认的端口号为1158;
Oracle XDB( XML 数据库),默认的端口号为8080;
Oracle XDB FTP服务,默认的端口号为2100;
MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp;
MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp;
QQ,默认的端口号为1080/udp
-
HTTP:80
FTP:21
SSH:22
Telnet:23
SMTP:25
whois++:63
POP2:109
POP3: 110
DHCP Client:546
DHCP Server:547
MSN:569
SSL:990
IMAP:993
Worm.Sasser.e:1023
sqlserver:1433
Oracle:1521
MySql:3306
第一,Apache。
Apache是现在世界上可以说最好用的或者说使用最广泛的一款服务器软件,它几乎可以运行在所有的计算机平台上。几经修改,已经是最流行的网站服务器之一。取名Apache其实本意是说充满补丁的服务器,正是因为它是自由软件,因此有很多人都会开发新功能,然后进行修改原来的缺陷,整体简单,速度快,性能稳定,一般还可以做代理服务器使用。
第二,IIS服务器。
其实就是Internet信息服务,主要是微软开发的服务器,与Windows Server集成在一起,能够让用户利用Ntfs及Windows Server内置的安全特性,然后建立强大灵活且安全的网站站点。
第三,GFEGoogle网站服务器,现在用户量激增,数量紧追IIS。
第四,Nginx服务器。
它是一款高效的HTTP服务器,也可以利用负载均衡反向代理,接受很多用户的请求,从而分发到多个进程中,大大提高Rails应用的并发能力。
第五,Lighttpd服务器。
Lighttpd是德国人发明的,基于BSD许可的开源网站服务器软件,安全,快速,兼容性好,而且灵活性也比较高。尤其是它的整体内存开销比较低,CPU使用率也低,交通好,是轻量级网站服务器中比较优秀的,能够支持URL重宝民,Alias等重要功能。
第六,Zeus服务器。
Zeus是在Unix下比较优秀的网站服务器,据说整体性能超过Apache,效率最高的网站服务器之一。
第七,Sun的Java系统服务器。
这个主要是运行SUN的Solaris操作系统,能够支持X86版本的Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,不过现在大多数用户可以选择SPARC版本。
第八,Resin服务器。
在Java及Jsp的支持下,Resin可以灵活的选择合适的开发语言。
第九,Jetty服务器。
一个开源的servlet容器,基于Java的Web内容。是使用Java语言编写的,能够以一组JAR包的形式发布。
第十,BEA服务器。
拥有处理关键WEB应用系统问题所需的性能,及可扩展性和高可用性。
十一,Tomcat。
技术先进,性能稳定,而且免费,非常受Java爱好者的喜爱,也是目前比较流行的网站应用服务器。
目前我们比较常用的就是Apache服务器,IIS服务器及Tomcat服务器。一般Apache主要是Linux操作系统中使用较多,IIS是Windows操作系统,而Tomcat是JSP语言环境,其实它也是Apache旗下的一种,不过开发环境不一样。
1,SER-TU提权(通常是利用SERFTP服务器管理工具,首先要在安装目录下找到INI配置文件,必须具备可写入的权限)
2,RADMIN提权(大家并不陌生,我们在扫描4899空口令后,同样需要他来连接)
3,PCANYWHRER提权(也是远程客户端软件,下载安装目录的CIF文件进行破解)
4,SAM提权(SAM系统帐户,通常需要下载临时存放的SAM文件,然后进行HASH破解)
5,NC提权(利用NC命令,反弹一个端口,然后TELNET远程去连接一个端口,虽然权限不够大,结合巴西烤肉,能够成功的)
6,PR提权(PR提权,这个就不多说了,最好是免杀的PR大杀器,这样更方面我们去操作)
8,43958提权(如果SER-TU有直接读入和执行的权限,那么我们就可以直接提权)
9,PERL提权(PERL提权通常是针对PERL文件夹下的提权方式,利用DIR目录 NET USER这样来建立后门用户)
10,内网LCX提权(转发工具LCX,通常需要先本地监听一个端口,然后转发,针对内网,用本地的127连接对方的3389)
11,启动提权(如果服务器启动项有能够执行的权限,那么应该说管理员的技术肯定不精湛)
12,替换服务提权(替换某个服务EXE,比如SER-TU,可将原有的删除,再传一个同样的SER.EXE上去,等待服务器重启)
13,FXP提权(FXP这个工具其实本身他是一个传输工具,但我们可以下载他的三个文件,然后,用密码查看器的功能去获得密码)
14,输入法提权(目前来说的话,输入法提权的思路基本上不太可行了)
15,360提权(360提权,也就是我们常说的SHIFT后门,如果执行了360漏洞利用程序,连接服务器用SHIFT5下,弹出了CMDSHELL即为成功)
16,VNC提权(VNC,想必大家并不陌生,我们通常是扫描5900国外服务器时候用到VNC来连接的,同样,我们如果得到了VNC的密码,通常可以利用他来提权)
18,ROOT提权(如果你获得了MSSQL的密码,那么就可以导入注册表的方式,利用MSSQL语句执行我们想要的命令了)
19,SA密码服务器提权(通常去寻找SA,MSSQL的相关密码,比如CONFIG.ASP,CONN.ASP等等)
20,FTP溢出提权(这个用到LCX工具,本地溢出,转发一个端口,虽然不是内网,利用默认的21进行提升权限)
windows通常放在安装目录下的 \MySQL\MySQL Server 5.0\my.ini
Linux 默认是放在 /etc/my.cnf
原文链接:https://blog.csdn.net/oldbuger/article/details/119610688?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165918471416781683945613%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165918471416781683945613&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-22-119610688-null-null.nonecase&utm_term=%E5%85%8D%E5%A4%87%E6%A1%88cdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/4236