[–] 4 points 1 year ago

Thankfully, nothing like that has happened here, but we have a break glass account that only 2 people know of, and it's locked in a safe. Also, my place has gotten so good at firing people they know how and when to do it to minimize risk. Like end of day when they are all packed up, and if its a really high up person, top admins are contacted prior and held on standby to disable everything as soon as the word is given. This includes admins. If they are remote, they will normally lock them out of the laptop first and make sure access is gone before letting them know.

  • source
  • parent
  • context
  • [–] 12 points 1 year ago (2 children)

    The only way that works in practice is to either have a second admin who gets the order while the first is talking to their boss, or you have a non-technical person with a break glass account that can do it while the admin is in that meeting.

    I've had to be the second admin on more than one occasion and it sucks to be the one disabling your coworker/friend when they get fired, but it's part of the job.

  • source
  • parent
  • context
  • [–] 23 points 1 year ago (2 children)

    I mean, this guy is an ass, and deserves some stuff punishment. Some places this could cause them to close up shop.

    On the side, what kind of business doesn't have a team doing this stuff with accountability/approvals/controls, and especially for someone being fired.

  • source
  • [–] 23 points 1 year ago (1 child)

    "And we don't hand out disciplinaries for honest mistakes. We hand them out for shifting blame and shirking responsibility."

    ^ My CEO two jobs back. That was the company culture from the top down, amazing to see in action.

  • source
  • [–] 10 points 1 year ago

    Reminder that unless you are protecting the lives of others, no job is worth your own life. Keeping a hospital online to keep patients alive? Sure, I might stay through a hurricane for that. Keeping email online for Helen in accounting? Nah, that can wait. We have DR plans.

    Also, you don't significantly increase a generator's efficiency by removing the load. In fact, they need to have a minimum load to run properly (https://en.wikipedia.org/wiki/Wet_stacking). If you wanted to save fuel, you'd have to shut it down completely. If you wanted to ensure continuous operation, you'd already have a fuel truck on standby to go in behind the hurricane and refuel.

  • source
  • [–] 4 points 1 year ago (1 child)

    I have it on good authority that you currently have a project idea which you can use to pick one (or more) of those paths and start learning. ;-)

    For example user management in studio3T

    Not sure how I missed this on my first read of your post. But, this looks like a fancy front end to making MongoDB calls. That makes life easier, MongoDB has a well documented API and a driver for C#. As an aside, if you want to get really good at PowerShell, getting a basic working knowledge of C# and .Net in general is really helpful. For the lazy (and I always like lazy), there's even a pre-built MongoDB module on the PowerShell Galley called Mdbc. There is also the Project's GitHub Page which has a lot of useful info.

    Granted, this path likely means learning enough about MongoDB to create/delete/modify users. But you came here expecting a load of homework, right? Also, this is a good excuse to spin up a docker container running MongoDB and go hog wild breaking the fuck out of it (just call it "research" if management asks). And who doesn't love breaking stuff?

    I'd also note that you may be able to get some help along the way by capturing the network traffic to the server caused by the Studio3T GUI. WireShark can capture the traffic to/from the DB server and you can read that to reverse engineer some of the calls you care about. Just, make sure you talk to your security folks before you download/install WireShark. If they are worth their salt, they'll understand an engineer installing/running wireshark, it just makes their day easier if they know the alert is coming first. Assuming the GUI isn't complete shit, it may encrypt traffic. This can be dealt with by using the SSLKEYLOGFILE environmental variable. In most cases, this results in the TLS keys being saved to a file and that can be imported into WireShark.

    Good luck, and have fun!

  • source
  • parent
  • context
  • [–] 7 points 1 year ago (3 children)

    There are a few options:

    1. Use AutoIT or some similar automation framework. Generally, this is pretty easy and gets the job done. Your security folks may hate you (AutoIT binary hashes are basically all assumed to be malware IoCs at this point),
    2. Depending on how the GUI works, you may be able to reverse engineer the calls made by the application and just make those calls yourself. For a Web UI, you can use something like BurpeSuite or even just the FireFox developer tools to catch the web calls and then modify/replay those as desired. For a console application, it could be trickier, as you may need to either load the software's libraries (DLLs) or figure out database calls. It all depends on how the user data is stored and updated.
    3. Using P/Invoke you can load several functions from the Win32 API, specifically FindWindowEx and EnumChildWindows to locate the GUI application and any specific form items you want to manipulate (e.g. TextBoxes to fill, Buttons to click). You can then modify properties or send clicks. You'll probably hate yourself at the end of this project, but you'll learn a lot.
  • source
  • view more: ‹ prev next ›