Closed 6861560 closed 2 years ago
Use which ever IP address is routable.
Based on your comment https://github.com/beefproject/beef/issues/2467#issuecomment-1168086406 in the other issue, presumably you're running BeEF on Kali on WSL on Windows. In which case, you'll need to use one of the IP addresses associated with the network interfaces on the Kali host, not the Windows host. You can list interfaces on Linux with ifconfig
.
I did do ifconfig on kali and stuff, but once i put any the ips in the script and i try to run it, it just doesn’t work for my host. i put in 10.0.2.15 ip in my script and it worked only for my vb, not my host.
I did do ifconfig on kali and stuff, but once i put any the ips in the script and i try to run it, it just doesn’t work for my host. i put in 10.0.2.15 ip in my script and it worked only for my vb, not my host.
Where did you get stuck during troubleshooting?
i got stuck troubleshooting when i cant be hooked on my host and i tried 10.2.15 or any other ip in kali bit it just doesn’t work for any other computer than kali.
i got stuck troubleshooting when i cant be hooked on my host and i tried 10.2.15 or any other ip in kali bit it just doesn’t work for any other computer than kali.
You are running BeEF in Kali on WSL on Windows. Kali has multiple network interfaces. BeEF runs on all network interfaces by default.
You should be able to reach some of the Kali network interfaces from the Windows host.
Try the IP address associated with each of the network interfaces on your Kali system. You can list network interfaces on Kali with the ifconfig
command.
Oh right, you're using Virtual Box not WSL.
The same principle applies. Use the IP address associated with the network interface which is shared with your host.
I will try ever ip i see for ifconfig. Will let you know.
Just to be clear, im trying the script on my host with different ips from the ifconfig from kali, is that what i should be doing? It also says something about GeoIP, is that important?
Just to be clear, im trying the script on my host with different ips from the ifconfig from kali, is that what i should be doing?
It is a lot easier to test network access by attempting to load the admin panel rather than testing with the added complexity of a hook.
Your question is unrelated to BeEF. It is a question of networking fundamentals.
BeEF is a web server. BeEF listens on network interfaces. If you cannot route network traffic to those interfaces then you will not be able to connect to BeEF.
It also says something about GeoIP, is that important?
Unlikely, but "something about GeoIP" is vague.
[i] GeoIP database is missing [i] Run geoipupdate to download / update Maxmind GeoIP database That's what it says for GeoIP. I have hooked a web by using an different IP than 127.0.0.1, but still i cannot seem to run it on my host. I've tried Literally all the ips from ifconfig/ ip addr.
That's what it says for GeoIP.
The geoIP database is missing. If you want to use geoip you will need to install the database.
but still i cannot seem to run it on my host. I've tried Literally all the ips from ifconfig/ ip addr.
Ensure you can access the admin panel. If you cannot access the admin panel from a host then you will not be able to hook a browser on that host.
Typical network troubleshooting steps apply.
Check your network configuration. Ensure the virtual machine is configured with virtual network adapters which are routable. Check that the firewall isn't blocking access. etc.
Ensure you can access the admin panel. How do i access the admin panel? If you are talking about the UI panel once you start up BeEF, then yes, I have access. I also found the network interface for the IP: Jun 21 01:54:13 kali beef[5066]: [ 1:42:18][*] running on network interface: 10.0.2.15 Jun 21 01:54:13 kali beef[5066]: [ 1:42:18] | Hook URL: http://10.0.2.15:3000/hook.js Jun 21 01:54:13 kali beef[5066]: [ 1:42:18] |_ UI URL: http://10.0.2.15:3000/ui/panel Still cannot get it to work on my host.
Ensure the virtual machine is configured with virtual network adapters which are routable.
Is this in VB settings Or BIOS settings or something like that? EDIT: Yes it is connected:
Typical network troubleshooting steps apply. I'm new to this so I do not know any network troubleshooting. Will lookup however.
I also found the network interface for the IP:
BeEF prints the IP addresses of the network interfaces which it binds to at startup. If it only lists one IP address then that's the only IP address you will be able to use.
I do not know any network troubleshooting
Netcat is an extremely useful tool.
You can listen on an arbitrary port: nc -lvp 1337
Then attempt to connect to that port from other hosts using any network tool, such as a web browser or another instance of netcat.
BeEF prints the IP addresses of the network interfaces which it binds to at startup. If it only lists one IP address then that's the only IP address you will be able to use.
Only shows 127.0.0.1 EDIT: yes it only shows 127.0.0.1 but i got it to work for 10.0.2.15 on the VB but not my Host. [i] Something is already using port: 3000/tcp COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ruby2.7 1931 beef-xss 13u IPv4 24147 0t0 TCP *:3000 (LISTEN)
UID PID PPID C STIME TTY STAT TIME CMD beef-xss 1931 1 0 12:29 ? Ssl 0:17 ruby2.7 /usr/share/beef-xss/beef
[i] GeoIP database is missing [i] Run geoipupdate to download / update Maxmind GeoIP database [] Please wait for the BeEF service to start. [] [] You might need to refresh your browser once it opens. [] [] Web UI: http://127.0.0.1:3000/ui/panel [] Hook: [*] Example:
● beef-xss.service - beef-xss Loaded: loaded (/lib/systemd/system/beef-xss.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2022-06-28 12:29:05 EDT; 54min ago Main PID: 1931 (ruby2.7) Tasks: 4 (limit: 4612) Memory: 95.4M CPU: 17.377s CGroup: /system.slice/beef-xss.service └─1931 ruby2.7 /usr/share/beef-xss/beef
Jun 28 12:29:07 kali beef[1931]: [12:29:06] | Blog: http://blog.beefproject.com
Jun 28 12:29:07 kali beef[1931]: [12:29:06] |_ Wiki: https://github.com/beefproject/beef/wiki
Jun 28 12:29:07 kali beef[1931]: [12:29:06][] Project Creator: Wade Alcorn (@WadeAlcorn)
Jun 28 12:29:07 kali beef[1931]: -- migration_context()
Jun 28 12:29:07 kali beef[1931]: -> 0.0104s
Jun 28 12:29:07 kali beef[1931]: [12:29:07][] BeEF is loading. Wait a few seconds...
Jun 28 12:29:07 kali beef[1931]: [12:29:07][!] [AdminUI] Error: Could not minify JavaScript file: web_uiall
Jun 28 12:29:07 kali beef[1931]: [12:29:07] | [AdminUI] Ensure nodejs is installed and node' is in
$PATH! Jun 28 12:29:07 kali beef[1931]: [12:29:07][!] [AdminUI] Error: Could not minify JavaScript file: web_ui_auth Jun 28 12:29:07 kali beef[1931]: [12:29:07] |_ [AdminUI] Ensure nodejs is installed and
node' is in $PATH
!
[*] Opening Web UI (http://127.0.0.1:3000/ui/panel) in: 5... 4... 3... 2... 1...
Then attempt to connect to that port from other hosts using any network tool, such as a web browser or another instance of netcat.
What cmd do i use for this?
By the way im just using this command in a text document on my host if thats why its causing any troubles:
There's about 5 different problems here.
By the way im just using this command in a text document on my host if thats why its causing any troubles:
Decrease complexity. Try to connect to the admin panel. Forget the hook.
Only shows 127.0.0.1 EDIT: yes it only shows 127.0.0.1 but i got it to work for 10.0.2.15 on the VB but not my Host.
No it doesn't. You pasted output above where it was listening on 10.0.2.15
.
[i] Something is already using port: 3000/tcp
You now have multiple copies of BeEF running. Either that, or something else is already listening on port 3000.
Ensure nodejs is installed and
node
is in$PATH
Ensure nodejs is installed and node
is in $PATH
.
It is possible that your Windows host in on a network in 10.x.x.x
range, and is trying to route traffic to the LAN rather than to Virtual Box. You can check with a packet sniffer like wireshark.
I'm more familiar with VMware and QEMU than Virtual Box. It is possible that VB is like QEMU in that unless you configure a network adapter the 10.0.2.15
IP address will not be routable. Instead, it will map ports to ports on 127.0.0.1
on the host.
One easy way to figure out if that's the problem is to switch the network adapter from NAT to Bridged, renew the interface IP address, restart BeEF, then attempt to access it. Of course, this will exposed BeEF to your LAN, so make sure you've set a reasonable password.
But you'll need to fix all the other problems first.
Decrease complexity. Try to connect to the admin panel. Forget the hook.
What is the admin panel, is it the web UI panel?
No it doesn't. You pasted output above where it was listening on
10.0.2.15
That was the first and last line of my root terminal.
Ensure nodejs is installed and
node
is in$PATH
.
I used node-v to make sure that node is in fact installed but how do I check it so that its in path?
What is the admin panel, is it the web UI panel?
yes.
That was the first and last line of my root terminal.
The output shows that BeEF was listening on 10.0.2.15:3000
.
I used node-v to make sure that node is in fact installed but how do I check it so that its in path?
Run node
. If it runs, it is in path. If it doesn't, it is not. You can also check your PATH with echo $PATH
.
Run
node
. If it runs, it is in path. If it doesn't, it is not. You can also check your PATH withecho $PATH
.
Ran it, it is in PATH
You can
You can check with a packet sniffer like wireshark.
I do have wireshark but I am not familiar with it. How do I check it?
It is possible that your Windows host in on a network in
10.x.x.x
range, and is trying to route traffic to the LAN rather than to Virtual Box.
I have checked ipconfig and my ipv4 says 10.x.x.x. I am checking the 'Wireless LAN adapter Wi-Fi' area though.
I do have wireshark but I am not familiar with it. How do I check it?
Why not take the easy route and try Bridged mode?
Why not take the easy route and try Bridged mode?
When i try bridged mode it comes up ethernet disconnected. I do have a ethernet cable hanging from my pc though but I have unplugged it, restarted the VB. Still the same thing.
When i try bridged mode it comes up ethernet disconnected. I do have a ethernet cable hanging from my pc though but I have unplugged it, restarted the VB. Still the same thing.
I don't know what any of that means, but now that you've bridged the network adapter you should have a different IP address in Kali.
Ok. will try once I take my dog for a walk.
you should have a different IP address in Kali. Ok i believe I have another eth0 ip address. should i put that in the script?
you should have a different IP address in Kali.
Wait what was the purpose for this again? XD
Yeah, I have another IP address for Kali. What should I do now.
One easy way to figure out if that's the problem is to switch the network adapter from NAT to Bridged, renew the interface IP address, restart BeEF, then attempt to access it. Of course, this will exposed BeEF to your LAN, so make sure you've set a reasonable password.
Did all of these. still doesnt work. should i use the new ip for the script or my ipv4, 10.0.2.15?
Did all of these. still doesnt work. should i use the new ip for the script or my ipv4, 10.0.2.15?
Test with the admin panel, not the script.
Yes, you should use the new IP address.
Ok.
Did all of these. still doesnt work. should i use the new ip for the script or my ipv4, 10.0.2.15?
Test with the admin panel, not the script.
Yes, you should use the new IP address.
what do i test? I mean like what do I do at the admin panel if i don’t use the script?
Also, is the ip address supposed to be the local (lo) or eth0? because only the eth0 changed
Also, is the ip address supposed to be the local (lo) or eth0? because only the eth0 changed
eth0. Only eth0 was supposed to change.
what do i test? I mean like what do I do at the admin panel if i don’t use the script?
If you can access the admin panel from your host OS then you have correctly configured your network. Congratulations.
Nope. Still cannot access the Admin UI on my host. I am going to try everything again.
Nope. Still cannot access the Admin UI on my host. I am going to try everything again.
Use netcat to test. BeEF is too much added complexity.
It should be as simple as opening a port with netcat and connecting to it from the host. If that doesn't work you'll need to troubleshoot your network config.
It should be as simple as opening a port with netcat and connecting to it from the host
Should I use the same command from before "nc -lvp 1337"? and what command do i use to put it on the 3000 port and make it listen?
It should be as simple as opening a port with netcat and connecting to it from the host
Should I use the same command from before "nc -lvp 1337"? and what command do i use to put it on the 3000 port and make it listen?
On Kali nc -lvp 1337
. Then connect to it from the host with anything that can make TCP connections. A web browser will work. http://ip.address:1337
.
You may also want to check your routes with ping ip.address
and tracert ip.address
from Windows.
To be clear, im using my this one correct? IPv4
To be clear, im using my this one correct? IPv4
No.
You are trying to connect to a network interface on the Kali host from the Windows host. That output is from the Windows host.
You are trying to connect to a network interface on the Kali host from the Windows host. That output is from the Windows host.
Ok. but for the ether IP. I put it into the :1337. it just shows up as a google search. I believe that this because it is colons for the eth0 inet6 and ether, not periods.
Ok. but for the ether IP. I put it into the :1337. it just shows up as a google search. I believe that this because it is colons for the eth0 inet6 and ether, not periods.
Use IPv4.
Use IPv4.
On Kali? because which one is the ipv4?
On Kali? because which one is the ipv4?
It is hard to say when you redact the only relevant part of the screenshot. BeEF only supports IPv4.
welp. you'll need to use IPv4. Do you get an IPv4 DHCP lease when you run sudo dhclient eth0
?
Haven't tried that yet. Will try now.
Just pasted it in. Nothing is happening. Does it take a while to load/think?
what ip do i use for the ? I mean for like my host too instead of just kali on my VB.