AIRBASE-NG(8)
π NAME π
airbase-ng β a multi-purpose tool aimed at attacking clients as opposed to the Access Point (AP) itself π iykyk
β¨ SYNOPSIS β¨
airbase-ng [options] <interface name>
π¦ DESCRIPTION π¦
okay so bestie, airbase-ng is a multi-purpose tool aimed at attacking clients as opposed to the Access Point (AP) itself. the way it's so versatile and flexible that summarizing it is literally a challenge?? like, where do we even start. here are some of the feature highlights π
:
- Implements the Caffe Latte WEP client attack β
- Implements the Hirte WEP client attack π
- Ability to cause the WPA/WPA2 handshake to be captured π₯
- Ability to act as an ad-hoc Access Point π‘
- Ability to act as a full Access Point π
- Ability to filter by SSID or client MAC addresses π
- Ability to manipulate and resend packets π
- Ability to encrypt sent packets and decrypt received packets π
the main idea of the implementation is that it should encourage clients to associate with the fake AP, not prevent them from accessing the real AP. it's giving inviting, not blocking π«Ά
a tap interface (atX) is created when airbase-ng is run. this can be used to receive decrypted packets or to send encrypted packets. slay, free real estate π
as real clients will most probably send probe requests for common/configured networks, these frames are important for binding a client to our softAP. in this case, the AP will respond to any probe request with a proper probe response, which tells the client to authenticate to the airbase-ng BSSID πΈ
β οΈ that being said, this mode could possibly disrupt the correct functionality of many APs on the same channel. no cap, so be aware π
β¨ OPTIONS β¨
okay bestie, here's the whole flag menu. every single one, no skips. periodt. π
-H,--helpβ shows the help screen. like, it literally pops up the help. π-a <bssid>β if the BSSID isn't explicitly specified by using-a <BSSID>, then the current MAC of the specified interface is used. so it just borrows the MAC. π-i <iface>β also capture and process from this interface in addition to the replay interface. double the interfaces, double the vibe. β¨-w <WEP key>β if WEP should be used as encryption, then the parameter-w <WEP key>sets the en-/decryption key. this is sufficient to let airbase-ng set all the appropriate flags by itself. if the softAP operates with WEP encryption, the client can choose to use open system authentication or shared key authentication. both authentication methods are supported by airbase-ng. but to get a keystream, the user can try to force the client to use shared key authentication.-sforces a shared key auth and-S <len>sets the challenge length. so yeah, WEP key goes in, flags sort themselves out. π-h <MAC>β this is the source MAC for the man-in-the-middle attack. the-Mmust also be specified. don't forget it. π-f <disallow>β if this option is not specified, it defaults to-f allow. this means the various client MAC filters (-dand-D) define which clients to accept. by using the-f disallowoption, this reverses selection and causes airbase-ng to ignore the clients specified by the filters. flip the script, bestie. π₯-W <0|1>β this sets the beacon WEP flag. remember that clients will normally only connect to APs which are the same as themselves. meaning WEP to WEP, open to open. theautooption is to allow airbase-ng to automatically set the flag based on context of the other options specified. for example, if you set a WEP key with-w, then the beacon flag would be set to WEP. one other use ofautois to deal with clients which can automatically adjust their connection type. however, these are few and far between. in practice, it is best to set the value to the type of clients you are dealing with. π‘-qβ this suppresses printing any statistics or status information. quiet mode, lowkey. π€«-vβ this prints additional messages and details to assist in debugging. verbose bestie. π-Mβ this option is not implemented yet. it is a man-in-the-middle attack between specified clients and BSSIDs. so don't expect it to work. π-A,--ad-hocβ this causes airbase-ng to act as an ad-hoc client instead of a normal Access Point. in ad-hoc mode airbase-ng also sends beacons, but doesn't need any authentication/association. it can be activated by using-A. the soft AP will adjust all flags needed to simulate a station in ad-hoc mode automatically and generate a random MAC, which is used as CELL MAC instead of the BSSID. this can be overwritten by the-a <BSSID>tag. the interface MAC will then be used as source mac, which can be changed with-h <sourceMAC>. ad-hoc energy. π¦-Y <in|out|both>β the parameter-Yenables the "external processing" Mode. this creates a second interfaceatX, which is used to replay/modify/drop or inject packets at will. this interface must also be brought up withifconfigand an external tool is needed to create a loop on that interface.
the packet structure is rather simple: the ethernet header (14 bytes) is ignored and right after that follows the complete ieee80211 frame the same way it is going to be processed by airbase-ng (for incoming packets) or before the packets will be sent out of the wireless card (outgoing packets). this mode intercepts all data packets and loops them through an external application, which decides what happens with them. the MAC and IP of the second tap interface doesn't matter, as real ethernet frames on this interface are dropped anyway.
there are 3 arguments for -Y: in, out and both, which specify the direction of frames to loop through the external application. obviously in redirects only incoming (through the wireless NIC) frames, while outgoing frames aren't touched. out does the opposite, it only loops outgoing packets and both sends all both directions through the second tap interface.
there is a small and simple example application to replay all frames on the second interface. the tool is called replay.py and is located in ./test. it's written in python, but the language doesn't matter. it uses pcapy to read the frames and scapy to possibly alter/show and reinject the frames. the tool as it is, simply replays all frames and prints a short summary of the received frames. the variable packet contains the complete ieee80211 packet, which can easily be dissected and modified using scapy.
this can be compared to ettercap filters, but is more powerful, as a real programming language can be used to build complex logic for filtering and packet customization. the downside on using python is, that it adds a delay of around 100ms and the cpu utilizations is rather large on a high speed network, but its perfect for a demonstration with only a few lines of code. β¨
-c <channel>β this is used to specify the channel on which to run the Access Point. pick your channel, bestie. π‘-X,--hiddenβ this causes the Access Point to hide the SSID and to not broadcast the value. stealth mode activated. π€«-sβ when specified, this forces shared key authentication for all clients. the soft AP will send an "authentication method unsupported" rejection to any open system authentication request if-sis specified. so if you want shared key, say it with your chest. π-Sβ it sets the shared key challenge length, which can be anything from 16 to 1480. the default is 128 bytes. it is the number of bytes used in the random challenge. since one tag can contain a maximum size of 255 bytes, any value above 255 creates several challenge tags until all specified bytes are written. many clients ignore values different than 128 bytes so this option may not always work. so yeah, 128 is the vibe. π-L,--caffe-latteβ airbase-ng also contains the new caffe-latte attack, which is also implemented in aireplay-ng as attack-6. it can be used with-Lorcaffe-latte. this attack specifically works against clients, as it waits for a broadcast arp request, which happens to be a gratuitous arp. see this for an explanation of what a gratuitous arp is. it then flips a few bits in the sender MAC and IP, corrects the ICV (crc32) value and sends it back to the client, where it came from. the point why this attack works in practice is, that at least windows sends gratuitous arps after a connection on layer 2 is established and a static ip is set, or dhcp fails and windows assigned an IP out of169.254.X.X.
-x <pps> sets the number of packets per second to send when performing the caffe-latte attack. at the moment, this attack doesn't stop, it continuously sends arp requests. Airodump-ng is needed to capture the replies. β
-N,--cfragβ this attack listens for an ARP request or IP packet from the client. once one is received, a small amount of PRGA is extracted and then used to create an ARP request packet targeted to the client. this ARP request is actually made of up of multiple packet fragments such that when received, the client will respond. this attack works especially well against ad-hoc networks. as well it can be used against softAP clients and normal AP clients. π₯-x <nbpps>β this sets the number of packets per second that packets will be sent (default: 100). so if you don't set it, it's 100 pps. π-yβ when using this option, the fake AP will not respond to broadcast probes. a broadcast probe is where the specific AP is not identified uniquely. typically, most APs will respond with probe responses to a broadcast probe. this flag will prevent this happening. it will only respond when the specific AP is uniquely requested. so no random probe responses. π ββοΈ-0β this enables all WPA/WPA2/WEP Tags to be enabled in the beacons sent. it cannot be specified when also using-zor-Z. so don't mix them. β οΈ-z <type>β this specifies the WPA beacon tags. the valid values are:1=WEP402=TKIP3=WRAP4=CCMP5=WEP104. pick one. π-Z <type>β same as-z, but for WPA2. π-V <type>β this specifies the valid EAPOL types. the valid values are:1=MD52=SHA13=auto. π-F <prefix>β this option causes airbase-ng to write all sent and received packets to a pcap file on disk. this is the file prefix (likeairodump-ng -w). save it for later. πΎ-Pβ this causes the fake access point to respond to all probes regardless of the ESSIDs specified. all the probes, all the time. π‘-I <interval>β this sets the time in milliseconds between each beacon. tick tock. β±οΈ-C <seconds>β the wildcard ESSIDs will also be beaconed this number of seconds. a good typical value to use is-C 60(require-P). so-C 60with-Pis a vibe. β¨-n <hex>β ANonce (nonce from the AP) to use instead of a randomized one. it must be 64 hexadecimal characters. exactly 64. no cap. π’
πΈ Filter options πΈ
--bssid <MAC>,-b <MAC>β BSSID to filter/use. π―--bssids <file>,-B <file>β read a list of BSSIDs out of that file. π--client <MAC>,-d <MAC>β MAC of client to accept. π€--clients <file>,-D <file>β read a list of client's MACs out of that file. π--essid <ESSID>,-e <ESSID>β specify a single ESSID. for SSID containing special characters, seehttps://www.aircrack-ng.org/doku.php?id=faq#how_to_use_spaces_double_quote_and_single_quote_etc_in_ap_names. π€--essids <file>,-E <file>β read a list of ESSIDs out of that file. it will use the same BSSID for all AP which can generate some interesting output in Airodump-ng like:http://www.chimplabs.com/blog/2015/09/24/unintentional-fun-with-aircrack-ng-at-derbycon-5-0/. π
π AUTHOR π
this manual page was written by Thomas d'Otreppe. permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. π
π SEE ALSO π
okay bestie, so airbase-ng does NOT exist in a vacuum, she's part of a whole iconic friend group π
and you're gonna want to know the whole squad. here's the roster, fr fr:
aireplay-ng(8)β the packet-injection chaos gremlin πairmon-ng(8)β puts your card into monitor mode, the β¨first stepβ¨ of everythingairodump-ng(8)β the one that just sits there and stares at the airwaves, collecting everything π¦airodump-ng-oui-update(8)β updates the OUI list so the vendor names actually make senseairserv-ng(8)β remote access to your wireless card, lowkey geniusairtun-ng(8)β the tunnel vibesbesside-ng(8)β does the thing automatically, main character energyeasside-ng(8)β EAPOL side quest π§tkiptun-ng(8)β TKIP tunnel shenaniganswesside-ng(8)β WEP-focused, old school but still servingaircrack-ng(1)β THE one, the legend, the crown πairdecap-ng(1)β decrypts captured traffic so you can actually read itairdecloak-ng(1)β strips out those fake cloaked networks, thank uairolib-ng(1)β precomputes stuff so cracking goes brrrrr π₯besside-ng-crawler(1)β the crawler helperbuddy-ng(1)β it's giving support system π«Άivstools(1)β IV file tools, very retro of herkstats(1)β kernel stats, nerdy and we love itmakeivs-ng(1)β makes IVs out of thin air πpacketforge-ng(1)β forges packets, the crafty onewpaclean(1)β cleans up your WPA capture files, self-care honestly πΈairventriloquist(8)β the name alone? ate. π
and that's the whole page bestie, no cap, you made it to the end π go forth and be dangerous in a legal and authorized way only, okay? ππ
this lil masterpiece is Version 1.7.0, dated May 2022, and yeah β you were reading AIRBASE-NG(8) the whole time. periodt. β¨π
π¦ where this page comes from
- debian trixie: aircrack-ng 1:1.7+git20230807.4bf83f1a-2 Β· GPL-2.0-or-later
- ubuntu noble: aircrack-ng 1:1.7+git20230807.4bf83f1a-1build2 Β· GPL-2.0-or-later
- ubuntu questing: aircrack-ng 1:1.7+git20230807.4bf83f1a-2ubuntu1
- ubuntu resolute: aircrack-ng 1:1.7+git20230807.4bf83f1a-2ubuntu2 Β· GPL-2.0-or-later
- ubuntu stonking: aircrack-ng 1:1.7+git20230807.4bf83f1a-3build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms