Skip to content

Releases: bettercap/bettercap

v2.41.5

15 Dec 13:28

Choose a tag to compare

✨ New Features

  • Moved to pcapng format - Modern packet capture format support (closes #939)
  • ble.NumDevices() - Get the count of discovered BLE devices
  • lan.NumHosts() - Get the count of discovered LAN hosts
  • wifi.NumAPs() - Get the count of discovered WiFi access points
  • Made BLEDeviceJSON accessible for external use
  • Added JS mkdirAll function for directory creation
  • Added JS appendFile function for file operations

🐛 Fixes

  • Fixed panic in zerogod module when IPP request is nil (fixes #1234)
  • Fixed concurrent map write for zerogod module port discovery
  • Fixed UI port binding logic and replaced panic with error logging
  • Fixed in-memory kv-aliases creation when loading AP data from JSON (fixes nil access panic)
  • Fixed buffered channel usage for signal.Notify
  • Filter out invalid WiFi frequencies

🔧 Improvements

  • Upgraded from google/gopacket to gopacket/gopacket
  • Replaced deprecated ioutil package with modern alternatives
  • Updated port name maps

Miscellaneous

  • Code formatting improvements via gofmt
  • Makefile improvements for gofmt with -s and -w flags
  • Fixed broken documentation link
  • General code refactoring and minor fixes

This changelog was generated by Changelog.

v2.41.4

18 Aug 17:16

Choose a tag to compare

Second hotfix release for 42da612

Codenamed: I HATE JAVASCRIPT.

v2.41.3

18 Aug 15:09

Choose a tag to compare

Hotfix release for cc475dd

v2.41.2

18 Aug 13:12

Choose a tag to compare

New Features

  • 🔐 Add default username and password for the API to simplify initial setup and access control. (thank you @kkrypt0nn)

Fixes

  • 🐛 Corrected tcp.proxy onData return value handling (fixes #788) to ensure proper flow control in TCP proxy callbacks. (thank you @LucasParsy)
  • Ensured consistent behavior between HTTP and HTTPS servers.
  • Enforced callback signature checks to prevent runtime errors with invalid handlers.

Miscellaneous

  • Fixed minor typos and improved wording (including ticker off description).
  • Maintenance: bumped GitHub Action actions/download-artifact from v4 to v5.
  • Housekeeping: merged upstream and dependency-related pull requests.

This changelog was generated by Changelog.

v2.41.1

15 Jul 09:53

Choose a tag to compare

New Features

  • 🚀 Increased unit tests coverage considerably.
  • 🐳 Updated Docker image to newer Golang version.
  • 📦 Queue handle is now passed to the packet proxy plugins to allow packet manipulation within the callback (fixes #1202).
  • 📡 Wifi module now reports the current channel in state.
  • 🐍 Added net.sniffer.interface parameter to sniff from a different interface.

Fixes

  • 🔄 Print event data instead of the whole struct for unhandled events.
  • 🛠️ Various unit tests fixes for Windows.
  • 🐧 Routing tables unit tests fix for Linux.
  • 🔄 Refactored deprecated ioutil calls to io equivalents.
  • ✅ Removed unused module (ref #1201).
  • ⚠️ Gracefully handled packets that would crash gopacket (fixes #1184).
  • 🛡️ Fixed net.sniff stats output for local packets flag.
  • 🔄 Fixed JavaScript number conversion issues for backwards compatibility.

Miscellaneous

  • 📚 Added contributors to README.
  • 🔄 Various small fixes or general refactoring that did not warrant individual comments, including version bump for golang.org/x/net.
  • 🔄 Multiple updates and fixes to issue templates and configuration.
  • 🔄 Bumped all dependencies to their latest versions.

This changelog was generated by Changelog.

v2.41.0

31 Jan 11:28

Choose a tag to compare

New Features

  • ZeroGod Module: Introduced the zerogod module for ZeroConf / Bonjour impersonation attacks.
  • API Enhancements: api.rest now returns stdout data after executing a session command.
  • Session Event Handling: Added addSessionEvent function for both DNS and HTTP proxy script environments.
  • Built-in Functions: Added removeEventListener function.
  • Named Tickers: Implemented support for named tickers.

Improvements

  • DNS Proxy Enhancements:
    • Added TLS support.
    • Implemented backwards-compatible DNS record conversion.
    • Support for RFC3597 generic/unknown record types if the Rdata field is present.
  • Blacklist and Whitelist Support: Introduced logic to support blacklists and whitelists.
  • Wildcard Blacklisting: Allow wildcards in blacklist configurations.
  • IPv6 Improvements:
    • Enhanced detection logic.
    • Added a nil check for interfaces to prevent crashes.
  • Logging & Debugging:
    • Improved readability of debug logs.
    • JS property conversion errors are now printed for better error tracking.

Fixes

  • DNS Proxy Stability:
    • Catch nil values in DNS records.
    • Prioritize longer and more explicit hostnames.
  • UI Asset Handling:
    • Directly embedded UI assets.
    • Removed UI submodule.
  • Compatibility:
    • Improved backwards compatibility for getHandshakeFileFor.
  • Miscellaneous:
    • Various small fixes and refactorings.

Miscellaneous

  • Documentation:
    • Updated README.md.
  • Credits:
    • Acknowledged the grandcat package.

Full Changelog: v2.40.0...v2.41.0

v2.40.0

14 Sep 21:40

Choose a tag to compare

releasing v2.40.0

v2.4.0

13 Sep 11:23

Choose a tag to compare

75478a2 misc: small fix or general refactoring i did not bother commenting
5bc9dd9 fix: added better debug logging for core.Exec (fixes #1125)
97b4dcb new: added support for 29bit obd2 identifiers
c3999d6 new: implemented can.obd2 builtin parser
cf6fba6 chore: updated ui version
3775295 chore: updated ui submodule
b2035da fix: fixed address reload on api.rest
00c5b2c chore: updated ui submodule
b1ac9cd chore: updated ui submodule
5786ffd chore: updated ui submodule
72afa07 new: can.fuzz now supports an optional size argument (thanks musafir)
1c56622 fix: can.fuzz now expects an hexadecimal frame id (thanks musafir)
4c75995 fix: stop can.dump reader when can.recon is stopped
c4c7b8c chore: updated ui submodule
bb847fc new: can.dump reader will now sleep for the correct amount of time
7702207 new: implemented can.dup and can.dump.inject to read a candump log file
840f819 refact: refactored can dbc logic
31d93e7 new: added new wifi cipher suites and auth types
f0126c2 new: added new wifi RSN parsing
26b2c30 fix: fixed a nil pointer dereference when wifi.show is executed before wifi.recon on
575022f fix: fixed deprecation warning on macOS native code
a4c99df chore: updated ui
81e18d2 chore: updated ui
81adcc9 fix: fixed handshakes filename if wifi.aggregate is false
7d85483 fix: expanding file path in file read api
ac2d333 fix: initialize wifi module state correctly
9f61ec7 chore: fixed submodule url for github workflow
f3132ce chore: updated git workflows to init submodules
d8aeecb new: embedded ui
3ec7b01 new: added CAN to session json object
0202028 fix: do not allow wifi.recon if wifi.bruteforce is running
ef9a3ef misc: small fix or general refactoring i did not bother commenting
5cc7260 misc: small fix or general refactoring i did not bother commenting
77ae56c fix: added p2p_disabled=1 for wifi.bruteforce on linux (ref #1075)
1b91eb3 new: implemented wifi.bruteforce for linux (closes #1075)
d8e1128 fix: bring interface down for mac.changer module
08da91e new: implemented wifi.bruteforce for darwin (ref #1075)
b0d56e4 fix: do not attempt mac lookup if gateway is empty
23e074b fix: do not report a routing error if the interface is disconnected
2d03782 fix: make sure that wifi channels are unique and sorted
8d8af63 chore: added WPA3 to readme
6a6e942 chore: added github to funding
0ceb938 fix: WPA3 is now correcly identified and reported (fixes #1098)
6282fe3 new: ble, can, hid and wifi modules will now set a custom prompt (closes #1117)
d9a91d3 new: implemented can.filter
e45c9cc docs: added can-bus to readme
cc66b64 chore: removed unused files
c5d2022 fix: fixed github action macOS architecture and Windows build script
d733381 misc: small fix or general refactoring i did not bother commenting
e1e8a0b fix: fixed windows build via msys2/setup-msys2@v2
9266ee9 misc: small fix or general refactoring i did not bother commenting
13cab7b fix: fixed binaries building action
f619265 misc: small fix or general refactoring i did not bother commenting
72b1450 fix: setting PKG_CONFIG_PATH on windows builds
235017c chore: removed armhf build
86e87ab fix: attempt to fix tests on windows
cdefa3c fix: attempt to fix tests on windows
ee944d9 fix: attempt to fix tests on windows
fcf285a chore: more veborse errors in environment tests
7f22425 fix: fixed compilation on windows
1df51fd fix: fixed windows test failure in environment_test.go
afdc68f chore: refactored github workflows into separate files
9ab2e13 chore: refactored github workflows into separate files
6f1920f new: can.fuzz command
69744e6 fix: disable ble module for BSD (fixes #1115)
7636ca2 new: gps.set to manually set/override gps coordinates (closes #915)
9d5c38c fix: fixed verbose gousb logging (fixes #969)
2659a55 fix: using proper v2 package suffix (fixes #727)
76e136a fix: fixed device index use for BLE module (fixes #994)
93de427 new: history file location can now be set via BETTERCAP_HISTORY env var (closes #627)
9e7fda7 fix: added packet_proxy_freebsd (fixes #1067)
fd05df6 new: implemented can.inject
5fe3ef3 new: new can module for CAN-bus

v2.33.0

09 Aug 09:27

Choose a tag to compare

What's Changed

780032b misc: small fix or general refactoring i did not bother commenting
41fa4cd new: using simpler release file
107c8fd fix: fixed docker build
856c0d5 misc: small fix or general refactoring i did not bother commenting
0343e00 new: docker workflow
d68da21 fix: dockerfile fixes
7605f4a fix: replaced nfqueue package (fixes #1070)
dc621f5 misc: small fix or general refactoring i did not bother commenting
3e16c6d new: replaced travis with github actions (closes #1114)
dd71378 misc: small fix or general refactoring i did not bother commenting
5d2c173 misc: small fix or general refactoring i did not bother commenting
632d703 new: added github workflows (ref #1114)
8b24723 fix: added cover.out to .gitignore
9abf7c8 fix: if interface name has not been provided, avoid default to a tun interface
7beb27c fix: updated gatt library to include fix for #1095
b12ba79 fix: workaround for PCAP_SET_RFMON issue (fixes #819, the-tcpdump-group/libpcap#1041, the-tcpdump-group/libpcap#1033)
06623dd Merge pull request #1085 from SkyperTHC/master
2499d51 fix: every wifi frame injection operation on macOS will print an error (ref #448)
5858743 new: updated mac vendor lookup with IEEE datasets
0dc5f66 fix: fixed wifi support on macOS (fixes pr #1100, fixes #1090, fixes #1076)
02fa241 misc: small fix or general refactoring i did not bother commenting
c2ab5f4 reverted pr #1100 due to instability
7371a85 Merge pull request #1107 from stefanb/go1.23-support
9b6694f mereg
6951fbb fix: fixes cgo newline
9bf1474 Merge pull request #1074 from konradh/ndp-spoof-unset-neighbour
9cd1609 Merge pull request #1073 from konradh/ndp-spoof-router-lifetime
3df89fb Merge pull request #1100 from loks0n/fix-macos
74647db Update README.md
474215e Bump golang.org/x/net for Go 1.23 compatibility
826f13e new: pushed new graph experimental module
ca2e257 Merge pull request #1087 from testwill/file_close
7182222 fix: macos
043bd45 fix: close cpu profile
a950d3b sslstrip fix
5af1be3 fix: allow clearing ndp.spoof.neighbour to disable neighbor advertisements
4dc7bae new: new ndp.spoof.router_lifetime option
924ff57 Merge pull request #1005 from elleuc4/route_headings_fix
ee35550 Merge pull request #1008 from jansramek/master
76a7820 Merge pull request #1024 from half-duplex/ndp-ban
bdc389e Merge pull request #1023 from half-duplex/ndp-spoof-ip-fmt
32d997e Merge pull request #1036 from ttdennis/master
786dacf Fix BLE name assignment
cdd483e ndp.spoof: add ndp.ban
27bae1c ndp.spoof: fix format string
e5f8c16 fix: enable both ipv4 and ipv6 forwarding
58ca59b new: switching to github.com/stratoberry/go-gpsd (closes #938)
8e4a000 Update getting of possible channels (darwin)
44e2420 Skip line if no route headings found yet
24a5dfe Merge pull request #988 from tranzmatt/master
3f154cc Fix go/alpine Docker version to correct build breakage
e224eea fix: give priority to iwlist as iw gives unsupported frequencies (fixes #881)
4f3f55f fix: fs related scripting functions will now resolve paths containing special characters
a4fb94c Merge branch 'master' of github.com:bettercap/bettercap
11d9606 new: added fileExists function to the session scripting runtime
c81db63 Merge pull request #956 from BenGardiner/ipv6_anyproxy_fixes
eaf2b96 revert removal of default any.proxy.dst_address ipv4 address
2837108 new: added saveJSON function to the session scripting runtime
eff8135 new: added loadJSON function to the session scripting runtime
22de9d3 new: added session.stopped event (and fixed session.started event propagation)
fd160bf Merge pull request #953 from firefart/err
628c0b7 ndp.spoof: use validator for neighbour parameter, print targets on start, complain when a MAC can't be found (UDP thing doesn't always work)
2bc3d87 use ip6tables for any_proxy to ipv6 addresses
68924c3 do not swallow err on settxpower
ed4239f Merge pull request #913 from PeterDaveHello/ImproveDockerfile
b9a546e Merge pull request #923 from xrayid/master
0193d13 fix: exclude disabled channels
a20fb13 parse every IPv4 and IPv6 route
3bd813f fix: parse interface names in IPv6 routing tables
ac96bc8 fix IPv6 routing table parsing
5389228 also support 'Netif' reference in certain netstat builds
c6740a5 fix automatic gateway detection for Linux
aba29e0 fix: revert back to parsing IPv4 address blocks in net.FindInterface
e255eba simplify interface IPv4 address parsing
44a1760 fix: adopt new IPv4 parsing logic
eee94e9 simplify IPv4 validators
7fd9d18 fix macParser, MACValidator and IPv4Validator regexp selectors + add IPv4BlockValidator
e81f36c Remove --update and replace with --no-cache for apk in Dockerfile

New Contributors

Full Changelog: v2.32.0...v2.33.0

v2.32.0

21 Aug 13:08

Choose a tag to compare

Changelog

New Features

  • 81ae731 new: new -pcap-buf-size option to set a custom pcap buffer size (closes #896)
  • 59dce4c new: centralized pcap capture configuration management
  • d0ecfd4 new: updated to go 1.16
  • ef2cd00 add wifi fake authentication attack
  • c8ecaf9 add channel hopping attack
  • 58f4214 added Windows basepath to UI setup

Fixes

  • d7f95dc Various changes and fixes
  • 0637451 Fix arp.spoof not sending replies
  • 6c2c0da fix: checking boundaries when parsing WPS vendor extensions (fixes #885)
  • 9404620 Support for ch177
  • daf2f94 Further tests for mapping dot11 frequencies to channels as ch177 was not discovered correctly based on freq

Misc

  • c78a67d Add DESTDIR variable
  • e9dad78 nothing but import format change
  • 9020c53 make import statement clean