Hacking Articles Tips Tricks Videos Tutorials
Photo
Kali Linux Tutorials
Rafel Rat : Android Rat Written In Java
Rafel is Remote Access Tool Used to Control Victims Using WebPanel With More Advance Features. Main Features Admin Permission Add App To White List Looks Like Browser Runs In Background Even App is Closed(May not work on some Devices) Accessibility Feature Support Android v5 – v10 No Port Forwarding Needed Acquire Wakelock Fully Undetectable Prerequisites […]
The post Rafel Rat : Android Rat Written In Java appeared first on Kali Linux Tutorials.
Rafel Rat : Android Rat Written In Java
Rafel is Remote Access Tool Used to Control Victims Using WebPanel With More Advance Features. Main Features Admin Permission Add App To White List Looks Like Browser Runs In Background Even App is Closed(May not work on some Devices) Accessibility Feature Support Android v5 – v10 No Port Forwarding Needed Acquire Wakelock Fully Undetectable Prerequisites […]
The post Rafel Rat : Android Rat Written In Java appeared first on Kali Linux Tutorials.
Hacking Articles Tips Tricks Videos Tutorials
Photo
Kali Linux Tutorials
Darkdump : Search The Deep Web Straight From Your Terminal
Darkdump is a simple script written in Python3.9 in which it allows users to enter a search term (query) in the command line and darkdump will pull all the deep web sites relating to that query. Darkdump wraps up the darksearch.io API. Installation git clone https://github.com/josh0xA/darkdumpcd darkdumppython3 -m pip install -r requirements.txtpython3 darkdump.py --help Usage […]
The post Darkdump : Search The Deep Web Straight From Your Terminal appeared first on Kali Linux Tutorials.
Darkdump : Search The Deep Web Straight From Your Terminal
Darkdump is a simple script written in Python3.9 in which it allows users to enter a search term (query) in the command line and darkdump will pull all the deep web sites relating to that query. Darkdump wraps up the darksearch.io API. Installation git clone https://github.com/josh0xA/darkdumpcd darkdumppython3 -m pip install -r requirements.txtpython3 darkdump.py --help Usage […]
The post Darkdump : Search The Deep Web Straight From Your Terminal appeared first on Kali Linux Tutorials.
[BUG BOUNTY] IDOR — Sensitive Data Exposure (IOS Application)
https://helmay.medium.com/bug-bounty-idor-sensitive-data-exposure-ios-application-ba80c93887a9?source=rss------bug_bounty-5
https://helmay.medium.com/bug-bounty-idor-sensitive-data-exposure-ios-application-ba80c93887a9?source=rss------bug_bounty-5
بسم الله الرحمن الرحيمContinue reading on Medium » (https://helmay.medium.com/bug-bounty-idor-sensitive-data-exposure-ios-application-ba80c93887a9?source=rss------bug_bounty-5)
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
¡Mamá, quiero ser hacker! II — De-ICE 1.100
https://cdn-images-1.medium.com/max/640/1*4jBfaPjK8s5Ht12_gH4Htw.png
Después de la primera parte tenemos una plataforma Kali lista para hackear, y ahora lo que necesitamos es algo que hackear.
Continue reading on Medium »
¡Mamá, quiero ser hacker! II — De-ICE 1.100
https://cdn-images-1.medium.com/max/640/1*4jBfaPjK8s5Ht12_gH4Htw.png
Después de la primera parte tenemos una plataforma Kali lista para hackear, y ahora lo que necesitamos es algo que hackear.
Continue reading on Medium »
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
Sql Injection By Developing a custom gadget chain For Java Deserialization
https://cdn-images-1.medium.com/max/728/1*9So3YNlyQvmZdZtrIrDRTA.png
How insecure deserialization can lead to some critical vulnerabilities, by chaining gadget’s attacker can achieve some dangerous features.
Continue reading on Medium »
Sql Injection By Developing a custom gadget chain For Java Deserialization
https://cdn-images-1.medium.com/max/728/1*9So3YNlyQvmZdZtrIrDRTA.png
How insecure deserialization can lead to some critical vulnerabilities, by chaining gadget’s attacker can achieve some dangerous features.
Continue reading on Medium »
Hacking Articles Tips Tricks Videos Tutorials
Photo
Hacking on Medium
DD-WRT and Router Vulnerabilities
https://cdn-images-1.medium.com/max/2600/1*UmCz83yIr-biyuekbdiLoA.png
DD-WRT is a Linux-based alternative OpenSource firmware suitable for a great variety of WLAN routers and embedded systems. This firmware…
Continue reading on SSD Secure Disclosure »
DD-WRT and Router Vulnerabilities
https://cdn-images-1.medium.com/max/2600/1*UmCz83yIr-biyuekbdiLoA.png
DD-WRT is a Linux-based alternative OpenSource firmware suitable for a great variety of WLAN routers and embedded systems. This firmware…
Continue reading on SSD Secure Disclosure »
bypassing faceliveness
https://www.reddit.com/r/Pentesting/comments/mal5hf/bypassing_faceliveness/
<!-- SC_OFF -->so i have been asked to test an android app that uses actant to do faceliveness is there a way to bypass face liveness i tried doing it by puttng the phone in front of a video in my laptop and i failed to bypass it os there a way to do it? <!-- SC_ON --> submitted by /u/abdalla_97 (https://www.reddit.com/user/abdalla_97)
[link] (https://www.reddit.com/r/Pentesting/comments/mal5hf/bypassing_faceliveness/) [comments] (https://www.reddit.com/r/Pentesting/comments/mal5hf/bypassing_faceliveness/)
https://www.reddit.com/r/Pentesting/comments/mal5hf/bypassing_faceliveness/
<!-- SC_OFF -->so i have been asked to test an android app that uses actant to do faceliveness is there a way to bypass face liveness i tried doing it by puttng the phone in front of a video in my laptop and i failed to bypass it os there a way to do it? <!-- SC_ON --> submitted by /u/abdalla_97 (https://www.reddit.com/user/abdalla_97)
[link] (https://www.reddit.com/r/Pentesting/comments/mal5hf/bypassing_faceliveness/) [comments] (https://www.reddit.com/r/Pentesting/comments/mal5hf/bypassing_faceliveness/)
Netmap.Js - Fast Browser-Based Network Discovery Module
http://www.kitploit.com/2021/03/netmapjs-fast-browser-based-network.html
http://www.kitploit.com/2021/03/netmapjs-fast-browser-based-network.html
Motivation
I needed a browser-based port scanner (https://www.kitploit.com/search/label/Port%20Scanner) for an idea I was working on. I thought it would be a simple matter of importing an existing module or copy-pasting from another project like BeEF (http://beefproject.com/). Turns out there wasn't a decent ready-to-use npm module and the port_scanner module in BeEF is (at the time of writing) inaccurate, slow and doesn't work on Chromium. netmap.js is therefor a somewhat optimized "ping" sweeper and TCP scanner that works on all modern browsers.
Quickstart
Install
npm install --save netmap.js
Find Live Hosts
Let's figure out the IP address of a website visitor's gateway, starting from a list of likely candidates in a home environment: import NetMap from 'netmap.js'
const netmap = new NetMap()
const hosts = ['192.168.0.1', '192.168.0.254', '192.168.1.1', '192.168.1.254']
netmap.pingSweep(hosts).then(results => {
console.log(results)
}) {
"hosts": [
{ "host": "192.168.0.1", "delta": 1003, "live": false },
{ "host": "192.168.0.254", "delta": 1001, "live": false },
{ "host": "192.168.1.1", "delta": 18, "live": true },
{ "host": "192.168.1.254", "delta": 1002, "live": false }
],
"meta": {}
} Host 192.168.1.1 appears to be live.
Scan TCP Ports
Let's try to find some open TCP ports on a few hosts: import NetMap from 'netmap.js'
const netmap = new NetMap()
const hosts = ['192.168.1.1', '192.168.99.100', 'google.co.uk']
const ports = [80, 443, 8000, 8080, 27017]
netmap.tcpScan(hosts, ports).then(results => {
console.log(results)
}) {
"hosts": [
{
"host": "192.168.1.1",
"control": "22",
"ports": [
{ "port": 443, "delta": 15, "open": false },
{ "port": 8000, "delta": 19, "open": false },
{ "port": 8080, "delta": 21, "open": false },
{ "port": 27017, "delta": 26, "open": false },
{ "port": 80, "delta": 95, "open": true }
]
},
{
"host": "192.168.99.100",
"control": "1001",
"ports": [
{ "port": 8080, "delta": 40, "open": true },
{ "port": 80, "delta": 1001, "open": false },
{ "port": 443, "delta": 1000, "open": false },
{ "port": 8000, "delta": 1004, "open": false },
{ "port": 27017, "delta": 1000, "open": false }
]
},
{
"host": "google.co.uk",
"control": "1001",
"ports": [
{ "port": 443, "delta": 67, "open": true },< br/> { "port": 80, "delta": 159, "open": true },
{ "port": 8000, "delta": 1001, "open": false },
{ "port": 8080, "delta": 1002, "open": false },
{ "port": 27017, "delta": 1000, "open": false }
]
}
],
"meta": {}
} At first the results may seem contradictory. 192.168.1.1 is an embedded Linux machine (a router) on the local network segment, and the only port open is 80. We can see that it took the browser about 5 times longer to error out on 80 compared to the other, closed, ports. 192.168.99.100 is a host-only VM with port 8080 open and google.co.uk is an external host with both 443 and 80 open. In these cases the browser threw an error relatively rapidly on the open ports (https://www.kitploit.com/search/label/Open%20Ports) while the closed ports simply timed out. The Theory (https://github.com/serain/netmap.js#theory) section further down explains when this happens. In order to determine if ports should be tagged as open or closed, netmap.js will scan a "control" port (by default 45000) that is assumed to be closed. The control time is then used to determine the status of other ports. If the ratio delta/control is greater than a set value (default 0.8), the port is assumed to be closed (tl;dr: a difference of more that 20% from the control time means the port is open).
Limitations
Port Blacklists
I needed a browser-based port scanner (https://www.kitploit.com/search/label/Port%20Scanner) for an idea I was working on. I thought it would be a simple matter of importing an existing module or copy-pasting from another project like BeEF (http://beefproject.com/). Turns out there wasn't a decent ready-to-use npm module and the port_scanner module in BeEF is (at the time of writing) inaccurate, slow and doesn't work on Chromium. netmap.js is therefor a somewhat optimized "ping" sweeper and TCP scanner that works on all modern browsers.
Quickstart
Install
npm install --save netmap.js
Find Live Hosts
Let's figure out the IP address of a website visitor's gateway, starting from a list of likely candidates in a home environment: import NetMap from 'netmap.js'
const netmap = new NetMap()
const hosts = ['192.168.0.1', '192.168.0.254', '192.168.1.1', '192.168.1.254']
netmap.pingSweep(hosts).then(results => {
console.log(results)
}) {
"hosts": [
{ "host": "192.168.0.1", "delta": 1003, "live": false },
{ "host": "192.168.0.254", "delta": 1001, "live": false },
{ "host": "192.168.1.1", "delta": 18, "live": true },
{ "host": "192.168.1.254", "delta": 1002, "live": false }
],
"meta": {}
} Host 192.168.1.1 appears to be live.
Scan TCP Ports
Let's try to find some open TCP ports on a few hosts: import NetMap from 'netmap.js'
const netmap = new NetMap()
const hosts = ['192.168.1.1', '192.168.99.100', 'google.co.uk']
const ports = [80, 443, 8000, 8080, 27017]
netmap.tcpScan(hosts, ports).then(results => {
console.log(results)
}) {
"hosts": [
{
"host": "192.168.1.1",
"control": "22",
"ports": [
{ "port": 443, "delta": 15, "open": false },
{ "port": 8000, "delta": 19, "open": false },
{ "port": 8080, "delta": 21, "open": false },
{ "port": 27017, "delta": 26, "open": false },
{ "port": 80, "delta": 95, "open": true }
]
},
{
"host": "192.168.99.100",
"control": "1001",
"ports": [
{ "port": 8080, "delta": 40, "open": true },
{ "port": 80, "delta": 1001, "open": false },
{ "port": 443, "delta": 1000, "open": false },
{ "port": 8000, "delta": 1004, "open": false },
{ "port": 27017, "delta": 1000, "open": false }
]
},
{
"host": "google.co.uk",
"control": "1001",
"ports": [
{ "port": 443, "delta": 67, "open": true },< br/> { "port": 80, "delta": 159, "open": true },
{ "port": 8000, "delta": 1001, "open": false },
{ "port": 8080, "delta": 1002, "open": false },
{ "port": 27017, "delta": 1000, "open": false }
]
}
],
"meta": {}
} At first the results may seem contradictory. 192.168.1.1 is an embedded Linux machine (a router) on the local network segment, and the only port open is 80. We can see that it took the browser about 5 times longer to error out on 80 compared to the other, closed, ports. 192.168.99.100 is a host-only VM with port 8080 open and google.co.uk is an external host with both 443 and 80 open. In these cases the browser threw an error relatively rapidly on the open ports (https://www.kitploit.com/search/label/Open%20Ports) while the closed ports simply timed out. The Theory (https://github.com/serain/netmap.js#theory) section further down explains when this happens. In order to determine if ports should be tagged as open or closed, netmap.js will scan a "control" port (by default 45000) that is assumed to be closed. The control time is then used to determine the status of other ports. If the ratio delta/control is greater than a set value (default 0.8), the port is assumed to be closed (tl;dr: a difference of more that 20% from the control time means the port is open).
Limitations
Port Blacklists
"Ping" Sweep
The "ping" sweep functionality provided by netmap.js does a pretty good job at quickly finding live *nix-based hosts on a local network segment (other computers, phones, routers, printers etc.) However, due to the implementation this won't work when TCP RST packets are not returned. Typically: Windows machines Some external hosts Some network setups like bridged/host-only VMs The reason behind this is explained in the Theory (https://github.com/serain/netmap.js#theory) section below. This limitation doesn't affect the TCP scanning capabilities and it's still possible to determine if the above hosts are live by trying to find an open port on them.
General Lack of Accuracy
Overall, I've found this module to be more accurate and faster than the other bits of code I found laying around the web. That being said, the whole idea of mapping networks from a browser is going to be fidgety by nature. Your mileage may vary.
Usage
NetMap Constructor
The NetMap constructor takes an options object that allows you to configure: The protocol used for scanning (default http, see Port Blacklists (https://github.com/serain/netmap.js#port-blacklists) for why you may want to set it to ftp) The port connection timeout (default 1000 milliseconds) import NetMap from 'netmap.js'
const netmap = new NetMap({
protocol: 'http',
timeout: 3000
})
pingSweep()
The pingSweep() method determines if a given array of hosts are live. It does this by checking if connection to a port times out, in which case a host is considered offline (see "Ping" Sweep (https://github.com/serain/netmap.js#ping-sweep) for limitations and Standard Case (https://github.com/serain/netmap.js#standard-case) for the theory). The method takes the following parameters: hosts array of hosts to scan (IP addresses or host names) options object with: maxConnections - the maximum number of concurrent connections (by default 10 on Chrome and 17 on other browsers - the maximum concurrent connections supported by the browsers) the port to scan (default 45000) It returns a promise. netmap.pingSweep(['192.168.1.1'], {
maxConnections: 5,
port: 80
}).then(results => {
console.log(results)
})
tcpScan()
The tcpScan() method will perform a port scan against a range of targets. Read the Standard Case (https://github.com/serain/netmap.js#standard-case) to understand how it does this. The method takes the following parameters: hosts array of hosts to scan (IP addresses or host names) ports list of ports to scan (integers between 1-65535, avoid ports in the blacklists (https://github.com/serain/netmap.js#port-blacklists)) options object with: maxConnections - the maximum number of concurrent connections (by default 6 - the maximum connections per domain browsers will allow) portCallback - a callback to execute when an individual host:port combination has finished scanning controlPort - the port to scan to determine a baseline closed-port delta (default 45000) controlRatio - the similarity, in percentage, from the control delta for a port to be considered closed (default 0.8, see example (https://github.com/serain/netmap.js#scan-tcp-ports)) It returns a promise. netmap.tcpScan(['192.168.1.1'], [80, 27017], {
maxConnections: 5,
portCallback: result => {
console.log(result)
},
controlPort: 45000,
controlRatio: 0.8
}).then(results => {
console.log(results)
}) Check the example (https://github.com/serain/netmap.js#tcp-port-scan) to interpret the output.
Theory
This section briefly covers the theory behind the module's discovery techniques.
General Idea
This module uses Image objects to try to request cross-origin resources (the series of http://{host}:{port} URLs under test). The time it takes for the browser to raise an error (the delta), or the lack of error after a certain timeout value, provides insights into the state of the host and port under review.
Standard Case
The "ping" sweep functionality provided by netmap.js does a pretty good job at quickly finding live *nix-based hosts on a local network segment (other computers, phones, routers, printers etc.) However, due to the implementation this won't work when TCP RST packets are not returned. Typically: Windows machines Some external hosts Some network setups like bridged/host-only VMs The reason behind this is explained in the Theory (https://github.com/serain/netmap.js#theory) section below. This limitation doesn't affect the TCP scanning capabilities and it's still possible to determine if the above hosts are live by trying to find an open port on them.
General Lack of Accuracy
Overall, I've found this module to be more accurate and faster than the other bits of code I found laying around the web. That being said, the whole idea of mapping networks from a browser is going to be fidgety by nature. Your mileage may vary.
Usage
NetMap Constructor
The NetMap constructor takes an options object that allows you to configure: The protocol used for scanning (default http, see Port Blacklists (https://github.com/serain/netmap.js#port-blacklists) for why you may want to set it to ftp) The port connection timeout (default 1000 milliseconds) import NetMap from 'netmap.js'
const netmap = new NetMap({
protocol: 'http',
timeout: 3000
})
pingSweep()
The pingSweep() method determines if a given array of hosts are live. It does this by checking if connection to a port times out, in which case a host is considered offline (see "Ping" Sweep (https://github.com/serain/netmap.js#ping-sweep) for limitations and Standard Case (https://github.com/serain/netmap.js#standard-case) for the theory). The method takes the following parameters: hosts array of hosts to scan (IP addresses or host names) options object with: maxConnections - the maximum number of concurrent connections (by default 10 on Chrome and 17 on other browsers - the maximum concurrent connections supported by the browsers) the port to scan (default 45000) It returns a promise. netmap.pingSweep(['192.168.1.1'], {
maxConnections: 5,
port: 80
}).then(results => {
console.log(results)
})
tcpScan()
The tcpScan() method will perform a port scan against a range of targets. Read the Standard Case (https://github.com/serain/netmap.js#standard-case) to understand how it does this. The method takes the following parameters: hosts array of hosts to scan (IP addresses or host names) ports list of ports to scan (integers between 1-65535, avoid ports in the blacklists (https://github.com/serain/netmap.js#port-blacklists)) options object with: maxConnections - the maximum number of concurrent connections (by default 6 - the maximum connections per domain browsers will allow) portCallback - a callback to execute when an individual host:port combination has finished scanning controlPort - the port to scan to determine a baseline closed-port delta (default 45000) controlRatio - the similarity, in percentage, from the control delta for a port to be considered closed (default 0.8, see example (https://github.com/serain/netmap.js#scan-tcp-ports)) It returns a promise. netmap.tcpScan(['192.168.1.1'], [80, 27017], {
maxConnections: 5,
portCallback: result => {
console.log(result)
},
controlPort: 45000,
controlRatio: 0.8
}).then(results => {
console.log(results)
}) Check the example (https://github.com/serain/netmap.js#tcp-port-scan) to interpret the output.
Theory
This section briefly covers the theory behind the module's discovery techniques.
General Idea
This module uses Image objects to try to request cross-origin resources (the series of http://{host}:{port} URLs under test). The time it takes for the browser to raise an error (the delta), or the lack of error after a certain timeout value, provides insights into the state of the host and port under review.
Standard Case
A live host will usually respond relatively rapidly with a TCP RST packet when attempting to connect to a closed port. If the port is open, and even if it's not running an HTTP server, the browser will take a bit longer to raise an error due to the overhead of establishing a full TCP connection and then realising it can't get an image from the provided URL. An offline host will naturally neither respond with a RST nor allow a full TCP connection to be established. Browsers will still try to establish the connection for a bit before timing out (~90 seconds). netmap.js will time out after waiting 1000 milliseconds by default. In summary: Closed ports on live hosts will have a very short delta Open ports on live hosts will have a slightly longer delta Offline hosts or unused IP addresses will time out The standard case is illustrated by the host 192.168.1.1 in the TCP Port Scan (https://github.com/serain/netmap.js#tcp-port-scan) example.
No TCP RST Case
Some hosts (like google.co.uk or Windows hosts) and some network setups (like VirtualBox host-only networks) will not return TCP RST packets when hitting a closed port. In these cases, closed ports will usually time out while open ports will quickly raise an error. The implementation of the pingSweep() method is therefor unreliable when RST packets are not returned. In summary, when TCP RST packets are not returned for whatever reason: Closed ports on live hosts will time out Open ports on live hosts will have a short delta pingSweep() can't distinguish between a closed port time out and a "dead" host time out The special case is illustrated by the hosts 192.168.99.100 and google.co.uk in the TCP Port Scan (https://github.com/serain/netmap.js#tcp-port-scan) example.
Disregarding WebSockets and AJAX
It's well-documented that you should also be able to map networks with WebSockets and AJAX. I gave it a try (and also tweaked BeEF to try its port_scanner module with WebSockets and AJAX only); I found both methods to produce completely unreliable results. Please let me know if I'm missing something in this regard.
Download Netmap.Js (https://github.com/serain/netmap.js)
No TCP RST Case
Some hosts (like google.co.uk or Windows hosts) and some network setups (like VirtualBox host-only networks) will not return TCP RST packets when hitting a closed port. In these cases, closed ports will usually time out while open ports will quickly raise an error. The implementation of the pingSweep() method is therefor unreliable when RST packets are not returned. In summary, when TCP RST packets are not returned for whatever reason: Closed ports on live hosts will time out Open ports on live hosts will have a short delta pingSweep() can't distinguish between a closed port time out and a "dead" host time out The special case is illustrated by the hosts 192.168.99.100 and google.co.uk in the TCP Port Scan (https://github.com/serain/netmap.js#tcp-port-scan) example.
Disregarding WebSockets and AJAX
It's well-documented that you should also be able to map networks with WebSockets and AJAX. I gave it a try (and also tweaked BeEF to try its port_scanner module with WebSockets and AJAX only); I found both methods to produce completely unreliable results. Please let me know if I'm missing something in this regard.
Download Netmap.Js (https://github.com/serain/netmap.js)