Jump to content


Dedicated Members
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by PoSHMagiC0de

  1. I am working on something that will exfil back to the bunny via http. There is an smbexfil payload by darren that uses impacket to exfil back to the BB via SMB.
  2. Not supported but we have been talking about the MKII microSD storage on Discord. To put it procedural like, the BBMKII will never launch a payload.txt from the microSD. By default, it mounts nandf to /root/udisk. That is what you see when in arming with no microSD. This is always the case. Even in storage with the microSD in, you will see the microSD as USB but internally via the payload.txt context it only has nandf mounted as udisk. MicroSD will only be mounted to the usb storage gadget driver as the drive, not to the OS. Now, if you want to turn stuff off the microSD or use it for storage, here is what I am using and came up with. One way and the non-modify way is after your attackmodes are set...or before and if a microSD is mounted then in the payload.txt put in udisk mount. This will mount the microSD, if inserted, as udisk. I do not know what witchcraft is happening here the udisk command doesn't do a umount before mounting so I do not know how the nandf is being unmounted but it happens. This will make it so if you have other stuff in the payload.txt referencing the /root/udisk, it will now be referencing the microSD. So, make sure your directory structure is in order. Second way, involves adding a folder to the /root folder of he BBMKII system drive. You can create a udisk2 folder under /root on the bunny system drive. You can then have a mount command to mount the microSD to that udisk2 so your udisk is not replaced. Now you can reference /root/udisk2 for the second storage to run payloads or (what I use it for) to store loot. mount_udisk2() { if [ -b /dev/mmcblk0p1 ]; then mkdir -p /root/udisk2 mount -o sync /dev/mmcblk0p1 /root/udisk2 }
  3. If you install tools, they will be on the local Bunny drive located at: /tools They will each have their own folder. Delete what you do not want in there.
  4. Yes you can. You need a way to server the scripts and conditions setup either in the cradle that handles running the script on the local machine or code at the end of each script to run the next. I hate tooting my own horn but that is exactly what the outdated BBTPS does. You can use it or use it as an example of something like that would work. Of course it is just an automated way how other post exploit frameworks work like Empire, Metasploit or Convenant. You create a server with node, python, etc that runs on BB, you quake a command to call server to get first script which should be the agent that will negotiate the whole procedure. That is it in a nutshell without writing a whole dissertation on it.
  5. So the man got himself a new pineapple. No better person for it. Now with Zylla having his early Xmas gift, the module repo may start growing heheh. Yeah, when it came to bettercap I have only used it outside of the pineapple. Like on the machine the pineapple is tethered to and just using the natural MiTM already there to use for bettercap (no arp spoof, no need). Just have to remember to override the interface with the pineapple interface and the gateway with my real gateway. Will through an error about not finding MAC of gateway but ignore since only needed for arp-spoofing. Since bettercap is Go, be interesting to see how it performs on the Mark VII. I have not tried it on the Nano due to having to mess around with storage when I played with modules.
  6. Hey, posted this on Discord but the wp7.sh script has a couple of typos. At the top here are the variables it is using. wpver=7.0 spineapplenmask= spineapplenet= spineapplelan=eth1 spineapplewan=wlan0 spineapplegw= spineapplehostip= spineappleip= sfirsttime=1 But under the connect function the pineapple netmask variable is missing the "s". function connectsaved { if [[ "$sfirsttime" == "1" ]]; then printf "\n Error: Settings unsaved. Run either Guided or Manual setup first.\n"; menu fi ip addr add $spineapplehostip/$pineapplenmask dev $spineapplelan <=======used pineapplenmask instead of spineapplenmask ip link set $spineapplelan up printf "Detecting WiFi Pineapple..." until ping $spineappleip -c1 -w1 >/dev/null do printf "." ip link set $spineapplelan up sleep 1 done printf "...found.\n\n" printf " $(tput setaf 6) _ . $(tput sgr0) $(tput setaf 7)___$(tput sgr0) $(tput setaf 3)\||/$(tput sgr0)\n" printf " $(tput setaf 6) ( _ )_ $(tput sgr0) $(tput setaf 2)<-->$(tput sgr0) $(tput setaf 7)[___]$(tput sgr0) $(tput setaf 2)<-->$(tput sgr0) $(tput setaf 3),<><>,$(tput sgr0)\n" printf " $(tput setaf 6) (_ _(_ ,)$(tput sgr0) $(tput setaf 7)\___\\$(tput sgr0) $(tput setaf 3)'<><>'$(tput sgr0)\n" ip addr add $spineapplehostip/$pineapplenmask dev $spineapplelan <=====used pineapplenmask instead of spineapplenmask ip link set $spineapplelan up echo '1' > /proc/sys/net/ipv4/ip_forward # Enable IP Forwarding iptables -X #clear chains and rules iptables -F iptables -A FORWARD -i $spineapplewan -o $spineapplelan -s $spineapplenet -m state --state NEW -j ACCEPT #setup IP forwarding iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE ip route del default #remove default route ip route add default via $spineapplegw dev $spineapplewan #add default gateway printf "\n Browse to http://$spineappleip:1471\n\n" exit } I put arrows...which are hard to see but there are at the two lines that near "ip addr add".
  7. The BBTPS I wrote has a means for you to report back to it from your payload to grab additional jobs/payloads. Good for cases where you want to check if it is safe to pull down possible detectable code if it is safe..like no AV. Also to check if a victim meets conditions before pulling down a larger script to run. I been sidetracked and done very little with newer version converted from nodejs to golang for the server and the update the SMB part for file exfiltrations but that should give you some ideas for what to do with it. Also wanted to add quack back for smarter Admin detection like run and if admin is detected then send command to BB to get ready to send alt-y in 5secs and then try and launch new download cradle with admin privs. When UAC kicks off the BB within 5 seconds of command will alt-Y it and there you go. If no admin, then the download can request non-admin jobs/payloads. So there is some ideas for ya.
  8. Welp, it checks to make sure you are in the local administrators group. Now, I can see an issue ensuing in the way I am checking this since I am directly checking the local group, If you are added to Administrators group via another group, it may not see you. You can remark out the check if you want to test for yourself, the code is commented. Anyway, if your name is not in the local administrators group, it will just exit. Also, it checks for a specific version number of Windows. Will run if Win10 or greater or if version 8.1...specifically major version 6.3 it looks like. I was going off of user feedback on the 8.1 part if it worked or not for that version. If both are satisfied, it will create a powershell command to be added to the registry for the diskcleanup task with arguments, etc. It then schedules a schtask for diskcleanup, waits 5 seconds and then removes the registry entry. Similar to the eventviewer bypass in some ways. Very noticable as the script will pause and then return once the 5 secs are up and a black window will pop up briefly before notepad comes up. That is all that encoded script does in the example. I pretty much took someone else's script and cleaned it up to be more portable.
  9. Just retested. It works. You have to be a local admin on the machine first before you run this. It will not warn you or do absolutely anything if you are not. This is not a priv escalation from a unprivileged user to admin. This is to bypass UAC. UAC is that prompt you get when you are on as an admin and need to run something that requires elevated rights so it greys out the screen with that "are you sure" message. It is Windows version of sudo. For automated tasks where keyboard access is not there this is very helpful since you will not be able to click "yes" via code.
  10. Sounds like a simple masquerading NAT rule except for the forwarding part you set the default policy to drop and then set rules to allow your specific IPs through. As long as the outgoing interface is on that 10.10.10.x network, masquerade will assign it the IP of that interface. If you are blocking incoming from that outside interface by default then you will need a rule to allow the status mode of ESTABLISHED,RELATED to get through. Lookup iptables and masquerading or setting up a linux machine as a router with iptables. If you have not played with iptables to that extent. I advise you to spin up a mini network in virtualbox using 1 ubuntu server and 1 ubuntu desktop (no need to max out their resources). Have 1 internal NAT network that has no internet access and place the ubuntu desktop there. Build ubuntu server with 2 interfaces, one is bridged and the other is on the NAT with no internet access. Now you can enable forwarding on the server and use iptables to create rules to pass traffic from the internal nat to the bridged interface. In your ubuntu desktop, make the gateway the IP of the server interface that is on the NAT network. Now you can play with the tables on the server to see if you can get outside access on the desktop vm. If you already know iptables then the above will still help to experiment.
  11. Lol, this isn't a Darren issue. It is MS doing their due diligence and fixing an issue. If you want to get hashes from locked machines, you will need to come up with a new method....not Darren. He has given you the tool to use whatever you come up with. Use it damnit.
  12. Welp, I mentioned awhile back on the correct way to create Powershell payloads/scripts that are easily transportable. That method is to make them as functions. This is a function. When you ran that, it created the function and stored it in memory. To run it, you have to run the function name with the parameters. The file method needs to local location of the ps1 file to be ran. The encoded way needs the powershell commands you want to run encoded as base64 unicode encoded (like if you were going to run the encoded powershell commands with the "powershell /E" way). So, if you are trying to run notepad with this then either have a local ps1 file created with: Start-Process Notepad Or take that command above the encode it to base64 unicode and use it with the encoded method. Welcome to Powershell 101. PS: Forgot to mention you have to be a local admin to begin with. Script will do nothing if you are not. There is no privesc for normal user to admin.
  13. Don't know or remember what I added but ok.
  14. "\$" escapes question mark. "\\" escapes back slash. "\\\$" escapes back slash and question mark.
  15. I do know if the BB comes up as a new device, Windows 10 will attempt to locate drivers for it. This can include looking up on Windows update which can take some time. After the drivers are install if you do the same combo attack again, it should be faster since now the machine as the drivers. There isn't way around this unless you preload the required drives before inserting the BB. HID is is normally fast but I noticed on machines I have not inserted the BB in yet if I use the dual HID Ethernet or ethernet it will take some time to find drivers for it before it is available for use. Can take up to 30sec to a minute depending. If you are not slowing down the ethernet speed so it is not the highest connection, it may take longer since the machine will try and use the BB connection first to retrieve drivers.
  16. Try deleting the reponder folder under "/tools/" on the root of the BB system drive and then try reinstalling the responder.deb tool again by copying to the tools folder on the BB arming mode partition, safely ejecting and reinserting the bunny. File should vanish from the tools folder there an end up install in the tools folder on the BB system drive. See if that works.
  17. The P4wnpi is running raspian also so it is a general arm distro and has all the deps available for meta and stuff in their repo.
  18. Exactly. Anything you cannot do by hand on that machine cannot be magically done by the BB on the machine. Now, if you can remotely hit it with a domain account to run commands then there is a chance you may be able to do it with impacket from the bunny using the psexec module or wmiexec module. Issue you are going to run into in 2020 is two fold though. One, last year we had issued getting the latest impacket installed that supports SMB3. I was going to try it again a different way but then issue 2 comes up....python 2 is deprecated and I do not know if Hak5 has plans to drop python2 also and update to python 3.x. Kali has and has been asking for help to get all their python2 tools updated to python3 and those that have not have been withheld from their repo. @Darren Kitchen @Foxtrot Any plans on deprecating python2 on the BB in the near future for python3 in another firmware update?
  19. Can you run your payload manually from that machine? If not, the BB is not magic. If you can, that is your path to execution. The same manual path you took will be the automated path. Like if you have the ability to open file explorer then file explorer will be your path.
  20. If I intent on doing a proc dump of lsass, I usually use another program or script to do a minidump of lsass so well known malicious bins (like mimikatz) don't have to be loaded on the victim. I copy that off and then use the non-powershell mimikatz to process or pypykatz or any of the other dump file processors out there. If I am on the box, I have high privilege and I intent on using mimikatz, might as well just process the memory in place rather than leave artifacts writing to disk.
  21. ?? The one for BC security worked fine for me. Used it with no parameters. Logged in to full updated Win10 VM as administrator, UAC bypassed, Defender turned all off.
  22. BC Security has forked the Powershell Empire project to their github, updated it and all its modules so their revived version of PSEmpire has a updated copy of the Mimikatz powershell script updated 11-25 of this year that works out the box. Oh, you always have to be admin and UAC has to be bypassed for any version of mimikatz to work.
  23. Its a function. You can't just run the script. It will just build up the function and tear it down without running it. To load it into your current session you can use get-content and get it raw and this invoke-expression the string and then you will have the get-keystroke command available or you can import it. Import-Module .\Get-Keystrokes.ps1 After that you will be able to run the cmdlet.
  24. Yeah, that version doesn't work anymore. Here is the part where people will need to begin the hunt for their own for a working copy. I no longer use Powershell version of mimikatz but have moved over to .NET solutions. There is probably a working version out there but I do not have it. I actually compiled me a .NET 4.0 version of SharpSploit's dll and use that reflectively for stuff in Powershell if I use Powershell or I create an app to ingest it. So, I guess you can say I actually created my own Powershell version borrowing .NET versions of the libraries from SharpSploit.
  • Create New...