# 🎯 The Project Story

### 🔍 **About Vanguard**

In today's fast-paced digital landscape, **cybersecurity** is not just important—it's essential! As threats multiply and evolve, security teams need tools that are **agile**, **compact**, and **powerful**. Enter **Vanguard**, our groundbreaking Raspberry Pi-powered vulnerability scanner and WiFi hacker.

Whether you’re defending **air-gapped networks** or working on **autonomous systems**, Vanguard adapts seamlessly, delivering real-time insights into network vulnerabilities. It's more than a tool; it's a **cybersecurity swiss army knife** for both **blue** and **purple teams**! 🛡️🔐

---

### **Air Gapped Network Deployability (CSE Challenge)**

* Databases

Having a dedicated database of vulnerabilities in the cloud for vulnerability scanning could pose a problem for deployments within air-gapped networks. Luckily, Vanguard can be deployed without the need for an external vulnerability database. A local database is stored on disk and contains precisely the information needed to identify vulnerable services. If necessary, Vanguard can be connected to a station with controlled access and data flow to reach the internet; this station could be used to periodically update Vanguard’s databases.

* Data Flow

Data flow is crucial in an embedded cybersecurity project. The simplest approach would be to send all data to a dedicated cloud server for remote storage and processing. However, Vanguard is designed to operate in air-gapped networks, meaning it must manage its own data flow for processing collected information. Different data sources are scraped by a Prometheus server, which then feeds into a Grafana server. This setup allows data to be organized and visualized, enabling users to be notified if a vulnerable service is detected on their network. Additionally, more modular services can be integrated with Vanguard, and the data flow will be compatible and supported.

* Remote Control

It is important for Vanguard to be able to receive tasks. Our solution provides various methods for controlling Vanguard's operations. Vanguard can be pre-packaged with scripts that run periodically to collect and process data. Similar to the Assemblyline product, Vanguard can use cron jobs to create a sequence of scripts that parse or gather data. If Vanguard goes down, it will reboot and all its services will restart automatically. Services can also be ran as containers. Within an air-gapped network, Vanguard can still be controlled and managed effectively.

* Network Discovery

Vanguard will scan the internal air-gapped network and keep track of active IP addresses. This information is then fed into Grafana, where it serves as a valuable indicator for networks that should have only a limited number of devices online.

---

### **Air Gapped Network Scanning (Example)**

Context: Raspberri Pi is connected to a hotspot network to mimic an air gapped network. Docker containers are run to simulate devices being on the air gapped network. This example will show how Vanguard identifies a vulnerable device on the air gapped network.

* Step 1: Docker Container
A vulnerable docker is running on 10.0.0.9

![alt text](https://i.imgur.com/SvjJNci.png)

* Step 2: Automated Scanning on Vanguard picks up new IP
Vanguard will automatically scan our network and store the information if its contains important information.

Here are the cron scripts:
![Alt text](https://i.imgur.com/XZZpoXx.png)

In the /var/log Vanguard Logged a new IP:
![Alt text](https://i.imgur.com/t2LJshz.png)

Vanguard's port scanner found open ports on our vulnerable device:
![Alt text](https://i.imgur.com/acrcg6u.png)

* Step 3: Prometheus scrapes results and Grafana displays

IP Activity history show how many time an IP was seen:

![Alt text](https://i.imgur.com/NiI0Dqa.png)

Vulnerability logs are displayed on our Grafana dashboard and we can see that our ports were scanned as running a vulnerable serivce. (2 red blocks on the right) (Only Port 21 and 22

![Alt text](https://i.imgur.com/Wsco0uw.png)

* Conclusion

All this data flow was able to detect a new device and vulnerable services without the need of cloud or internet services. Vanguard's automated script's ran and detected the anomaly!

### 💡 **Inspiration**

Our team was fascinated by the idea of blending **IoT** with **cybersecurity** to create something truly **disruptive**. Inspired by the open-source community and projects like dxa4481’s WPA2 handshake crack, we saw an opportunity to build something that could change the way we handle network vulnerabilities.

We didn’t just want a simple network scanner—we wanted **Vanguard** to be **versatile**, **portable**, and **powerful** enough to handle even the most **secure environments**, like air-gapped industrial networks or autonomous vehicles 🚗💻.

---

### 🏆 **Accomplishments**

* **Nmap** automates network scans, finding open ports and vulnerable services 🕵️‍♂️.
* A **SQLite database** of CVEs cross-references scan results, identifying vulnerabilities in real time 🔓📊.
* **Grafana** dashboards monitor the Raspberry Pi, providing metrics on **CPU usage**, **network traffic**, and much more 📈.
* Wifi Cracking Module captures WPA2 handshakes and cracks them using open-source techniques, automating the process 🔑📶.
* Usage of different services that will run automatically and return data.

And everything comes together seamlessly in the vangaurd dashboard. Additionally, we integrated **Convex** as our backend data store to keep things **fast**, **reliable**, and easy to adapt for air-gapped networks (swap Convex for MongoDB with a breeze 🌬️ we really wanted to do take part in the convex challenge).

---

### 🔧 **Challenges We Faced**

Building **Vanguard** wasn’t without its obstacles. Here's what we had to overcome:

* 💻 **Air-gapped testing**: Ensuring Nmap runs flawlessly without external network access was tricky. We fine-tuned cron jobs to make the scanning smooth and reliable.
* 🚦 **Data efficiency**: Working with a Raspberry Pi means limited resources. Optimizing how we process and store data was key.
* 🛠️ **Seamless WiFi hacking**: Integrating WPA2 half-handshake cracking without impacting Pi performance required some creative problem-solving.

---

### 🏗️ **How We Built It**

* **Hardware**: Raspberry Pi 🥧 with an external WiFi adapter 🔌.
* **Backend**: We used **Convex** for data storage, with the option to switch to **MongoDB** for air-gapped use 🗃️.
* **Scanning & Exploiting**: Nmap runs on a schedule to scan, and CVEs are stored in **SQLite** for mapping vulnerabilities 🔗.
* **Frontend**: Built with **React** and **Next.js 14**, the user interface is sleek and efficient 🎨.
* **Monitoring**: Metrics and performance insights are visualized through **Grafana**, keeping everything transparent and easy to manage 📊.
A big thanks to <https://github.com/dxa4481> for the open source code for WPA2 Handshake PoC's
---

### 🚀 **What’s Next for Vanguard?**

We're just getting started! Here’s what’s in store for Vanguard:

* 🤖 **AI-driven vulnerability prediction**: Imagine knowing where a breach might happen **before** it occurs. We'll use machine learning to predict vulnerabilities based on historical data.
* ⚙️ **Modular add-ons**: Integrate tools like **Metasploit** or **Snort** for more specialized attacks, making Vanguard a **customizable powerhouse**.
* 🧳 **Enhanced portability**: We're optimizing Raspberry Pi hardware to push Vanguard’s limits even further, and exploring even more **compact** versions to make it the ultimate on-the-go tool!

---

Vanguard isn’t just a project; it’s the **future** of portable, proactive **cybersecurity**. 🌐🔐

**Stay secure, stay ahead!**
## Inspiration

Since the days of yore, we have heard how an army of drones is going to bridge the last-mile gap of accessibility in the supply chain of various products for many people in the world. A good example of this can already be seen with Zipline in Rwanda and Ghana, which is already on its way to success with this model. While the quest to bridging the last-mile gap is well on it's way to getting completed, there are significant challenges in the overall supply chain that have had no evolution. As technology gets more and more advanced, people get more disillusioned by the possible use cases that are not being explored.

The inspiration for this hack very much stems from the fact that the Treehacks Hardware Lab provided us with a drone that did not come with an SDK, or any developer support. And therefore, I decided to build a whole new approach to voice recognition and instant payments that not only tries to address this growing disillusionment with technology, but also provides a use case for drones, a technology that is no longer *"unimaginable"* or *"out of this world"* that has not yet been explored: *refunds* and *accessbility*.

## What it does

With Dronations, you can ask a voice-activated drone to:

* `TAKEOFF`
* `TOUCHDOWN`
* `TAKE A PICTURE` (using gesture)
* `TRANSFER MONEY TO PERSON IN FRAME`
Now, you can receive instant refunds for a product or an item you have returned after buying. And people with limited mobility can send payments reliably to people they trust using just simple voice commands delivered to a drone.

## How I built it

Since the Snaptain drone provided to me did not come with an SDK, I was left with no choice but to find a way to hack into it. Fortunately, the flimsy drone did not have that much going on in terms of protection from adversarial attacks. After fiddling with the drone for a few hours, it was clear that the best way of trying to break into the drone in order to control it with a computer or connect it to a server would be through the unsecured WiFi it uses to connect to an app on my phone.

I spent another few hours reverse engineering the drone protocol by sniffing packets on the channel and frequency used by this drone to get commands from my phone. For this purpose, I used Airmon-NG on a computer running a distribution of Kali-Linux (thankfully provided by my senior project lab at Stanford). Having figured out how to send basic takeoff, touchdown and image commands to the drone by bypassing its WiFi gave me an immense of control of the drone and now it was time to integrate voice commands.

Out of all the voice recognition softwares on offer, Houndify came through as my top choice. This was because of the intuitive design of adding domains to add more functionality on their app and the fact that the mentors were super helpful while answering questions to help us debug. I build three custom commands for takeoff, touchdown and sending money.

Finally, I integrated Checkbook's API for sending money. The API didn't quite work as expected and it took a while for me to finagle it into making it do what I wanted. However, eventually, everything came together and the result is an end-to-end solution for instant payments using voice-activated drones.

## Challenges I ran into

* Wifi reliability issues on the cheap hardware of a Snaptain drone
* Checkbook API's refusal to accept my POST requests
* Sleep Deprivation?
* The endless bad humor of the team sitting next to me

## Accomplishments that I'm proud of

* Literally hacking into a drone with little to no prior experience hacking an embedded system
* Sniffing packets over the air to reverse engineer drone protocol
* Going through tens of videos showcasing obscure details of packet sniffing
* Making a voice-activated drone
* Integrating with Checkbook's API
* Making new friends in the process of this hackathon

## What I learned

* How to sniff packets on an unsecure HTTP connection
* How to write server level Node.js commands that communicate directly with the terminal
* How to spoof my MAC address
* How to spoof my identity to gain unauthorized access into a device
* How to build an app with Houndify
* How to integrate voice commands to trigger Checkbook's API
* If it exists, there is an AR/VR project of it

## What's next for Dronations: Enabling Instant Refunds for Purchase Returns

* Integrate more features from Checkbook's API to provide an end-to-end payment solution
* Understand more edge use cases for drones - I have barely scratched the surface
* Do user research with people with low accessibility to understand if this can become a viable alternative to send payments reliably to people they trust
* Getting in touch with Snaptain and letting them know how easy it is to hack their drones
## Inspiration

Our inspiration for "fastpass" came from the need to securely share sensitive information such as secrets, tokens, and keys with new team members, especially interns and coops. During many of our coops, the managers would just send vital .env files and passwords through slack (at that point, you might as well write it on a piece of paper and stick it on the office bulletin board). We recognized that many organizations face challenges in ensuring the secure transfer of such data while onboarding new hires. This inspired us to create a solution, using **Syro**, that simplifies and secures this process.

## What it does

"fastpass" is a platform designed to streamline and secure the sharing of sensitive information within organizations. It provides a user-friendly interface for managers to upload and securely transmit secrets, tokens, and keys to new team members. The platform employs **Syro**'s robust encryption and access control mechanisms to ensure that only authorized individuals can access and use the shared data. Additionally, it logs all interactions for auditing purposes.

## How we built it

We built "fastpass" using a modern tech stack that includes **Syro**, web development technologies, secure authentication mechanisms, and encryption protocols. The frontend of the platform was developed using React.js to provide a responsive and intuitive user interface. The backend, powered by Node.js and Express, handles user authentication, data storage, and encryption. For security, we implemented industry-standard encryption techniques to protect sensitive data both in transit and at rest. We also conducted rigorous testing to identify and address vulnerabilities.

## Challenges we ran into

During the development of "fastpass," we encountered several challenges. One significant challenge was implementing robust encryption without compromising performance. Balancing security with user experience required careful consideration and optimization. Additionally, ensuring seamless integration with various organizational systems and protocols posed another challenge. Lastly, addressing potential scalability issues as the platform grows was a concern we had to tackle.

## Accomplishments that we're proud of

We're proud of several accomplishments with "fastpass." Firstly, we successfully developed a user-friendly platform that addresses a critical security concern within organizations. Secondly, our team's dedication to implementing strong encryption and access control measures ensures the security of sensitive data. Lastly, our commitment to continuous improvement and rigorous testing has resulted in a robust and reliable solution.

## What we learned

Throughout the development of "fastpass," we learned valuable lessons in security, encryption, and user experience design. We gained a deeper understanding of the challenges organizations face when handling sensitive data and the importance of implementing strong security measures. Additionally, we improved our collaboration and problem-solving skills as a team.

## What's next for fastpass

In the future, we plan to enhance "fastpass" by adding additional features such as automated expiry of shared secrets, integration with identity and access management systems, and support for different types of sensitive data. Ultimately, our goal is to make "fastpass" the go-to solution for secure information sharing within organizations.