Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles

"web" ""developers""

Adbot
ADBOT LOVES YOU

ewiley
Jul 9, 2003

More trash for the trash fire

BangersInMyKnickers posted:

applocker handles executable, installers, dll's, and scripting including .js (powershell, command scripts, vbs as well). You could absolutely use it to this end if the vendor correctly signs their content correctly

Kind of, whitelisting can only handle scripting that is called directly, e.g. calling cscript.exe or mshta.exe with the script as part of the commandline or as part of command processing in a batch script where each line is actually a separate process called with a commandline. It's much harder to take a running process and control script inputs after the initial execution and including scripts dynamically.

This is my problem with electron apps in Windows, the js are all included after execution so it's not exposed directly to the whitelisting interface. Microsoft admits that not all interpreted code is checked (like VB macros in Office documents) with applocker.

Binary includes like DLL's are obvious to hook in windows and are checked by whitelisting in a predictable way, not so with script files since it's up to the application on how it handles them. a DLL include is actually a specific function call, a script include is just an OS file read. You'd have to write some kind of file read rule that prevents script files from even being read by an application during execution unless those files are on a whitelist, there's no execution control. Each application would need its own set of rules and would probably break on updates.

CommieGIR
Aug 22, 2006

The blue glow is a feature, not a bug


Pillbug

BangersInMyKnickers posted:

"web" ""developers""

Developer: "Security wasnt in scope"

BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles

ewiley posted:

Kind of, whitelisting can only handle scripting that is called directly, e.g. calling cscript.exe or mshta.exe with the script as part of the commandline or as part of command processing in a batch script where each line is actually a separate process called with a commandline. It's much harder to take a running process and control script inputs after the initial execution and including scripts dynamically.

This is my problem with electron apps in Windows, the js are all included after execution so it's not exposed directly to the whitelisting interface. Microsoft admits that not all interpreted code is checked (like VB macros in Office documents) with applocker.

Binary includes like DLL's are obvious to hook in windows and are checked by whitelisting in a predictable way, not so with script files since it's up to the application on how it handles them. a DLL include is actually a specific function call, a script include is just an OS file read. You'd have to write some kind of file read rule that prevents script files from even being read by an application during execution unless those files are on a whitelist, there's no execution control. Each application would need its own set of rules and would probably break on updates.

You're still under a fairly tight leash even if you're popping the process through its own js interpreter. Ideally the process is marked as low integrity, so the context it is running it only has access to the parts of the filesystem flagged as low. Either you've got something running in-memory and can't go anywhere or do much or anything, or you're trying to escape to a better foothold which means getting around the integrity level stuff AND applocker stopping you from launching a new process. It's not impossible to break, but fairly good model overall.

ewiley
Jul 9, 2003

More trash for the trash fire

BangersInMyKnickers posted:

You're still under a fairly tight leash even if you're popping the process through its own js interpreter. Ideally the process is marked as low integrity, so the context it is running it only has access to the parts of the filesystem flagged as low. Either you've got something running in-memory and can't go anywhere or do much or anything, or you're trying to escape to a better foothold which means getting around the integrity level stuff AND applocker stopping you from launching a new process. It's not impossible to break, but fairly good model overall.

I agree that getting outside the app and escalating would still be tough, but in most cases that doesn't matter. Teams is a replacement for your phone system. It's also likely directly tied to Office365 or Exchange, probably has an OAuth token too, so I basically own an entire user's communications suite if I compromise this one application. It is also a homogeneous app that if I can compromise on one client, I can likely compromise across an entire company. I'm likely not going to need to escalate any further to get all the info I'm after.

Teams is also default installed in the user's path, which means it's user-writable. Not much effort required to overwrite scripts. I'm sure Microsoft has hardened the client against this, but I consider it a critical app that should be able to fit in with all my other apps with respect to security. Also it's Microsoft. How can they not write a native app for their own operating system (which is sort of how my original rant started on this topic)

ymgve
Jan 2, 2004


:dukedog:
Offensive Clock
https://www.youtube.com/watch?v=WVDQEoe6ZWY

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Boiled Water posted:

re: Brave browser: Why does a browser also need a bittorent client?

Read this as Bitcoin client, was slightly disappointed on rereading

mystes
May 31, 2006

Volmarias posted:

Read this as Bitcoin client, was slightly disappointed on rereading
As every schoolboy knows, Brave formerly used Bitcoin but now uses its own cryptocurrency.

haveblue
Aug 15, 2005



Toilet Rascal

Boiled Water posted:

Why does a browser also need a bittorent client?

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

ewiley posted:

a DLL include is actually a specific function call, a script include is just an OS file read.

is this true? I thought DLLs were just mapped in executably and jumped to, as on Unix, with some userspace sugar in place for LoadLibrary and friends. I though you could just open code kernel32.dll:LoadLibrary or whatever without using that system library facility. https://github.com/gbmaster/loadLibrary/blob/53fb4abe3141df54eba29b0158cc17229ccacb75/kernel32.cpp#L528 looks to be an implementation of it, for example

you could hook CreateFileMapping with EXECUTE_READWRITE, plus the cases where the mapping is created and then filled by reading the DLL file into memory, but you could hook that for *.js too if you wanted to maintain a list of hashes somewhere for a given set of applications (or you could hook the script loading functions in the runtimes if you weren't worried about something hostile going around that). certainly MSFT could make that hookable for Teams if they wanted, without too much difficulty; they have the whole set of WPT hooks to build on

akadajet
Sep 14, 2003

Boiled Water posted:

re: Brave browser: Why does a browser also need a bittorent client?

what does god need with a starship? some questions you just don't ask.

lol beaten

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER


considering their audience it must be for animes and worse

BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles

So what the gently caress is the point of SPF neutral records? Why the hell does this exist? Who put it in the RFC? What is their address?

James Baud
May 24, 2015

by LITERALLY AN ADMIN

Boiled Water posted:

re: Brave browser: Why does a browser also need a bittorent client?

Given the current state of bittorrent clients, something built into a browser is likely preferable. Just another download method, not so different from the FTP support that may still exist in most browsers.

mystes
May 31, 2006

James Baud posted:

Given the current state of bittorrent clients, something built into a browser is likely preferable. Just another download method, not so different from the FTP support that may still exist in most browsers.
Chrome is removing FTP precisely because having rarely used protocols built into browsers is a recipe for security vulnerabilities.

cinci zoo sniper
Mar 15, 2013




Boiled Water posted:

re: Brave browser: Why does a browser also need a bittorent client?

it's an extremely grognardy browser so i assume some dev is of the hip 2004 crowd when ie6 reigned and standalone download managers were desirable. as dc/adc got phased out in favour of torrents, evey download manager tried to usurp the throne of dc++ by implementing torrent support

cinci zoo sniper
Mar 15, 2013




James Baud posted:

Given the current state of bittorrent clients, something built into a browser is likely preferable. Just another download method, not so different from the FTP support that may still exist in most browsers.

there's like half a dozen of competently put together torrent clients that are at least semi-actively maintained/developed

ewiley
Jul 9, 2003

More trash for the trash fire

Subjunctive posted:

is this true? I thought DLLs were just mapped in executably and jumped to, as on Unix, with some userspace sugar in place for LoadLibrary and friends. I though you could just open code kernel32.dll:LoadLibrary or whatever without using that system library facility. https://github.com/gbmaster/loadLibrary/blob/53fb4abe3141df54eba29b0158cc17229ccacb75/kernel32.cpp#L528 looks to be an implementation of it, for example

you could hook CreateFileMapping with EXECUTE_READWRITE, plus the cases where the mapping is created and then filled by reading the DLL file into memory, but you could hook that for *.js too if you wanted to maintain a list of hashes somewhere for a given set of applications (or you could hook the script loading functions in the runtimes if you weren't worried about something hostile going around that). certainly MSFT could make that hookable for Teams if they wanted, without too much difficulty; they have the whole set of WPT hooks to build on

I'm not 100% sure of the specifics, but from what I understand a DLL module load event is a super obvious event that is easily readable across just about any native Windows application. While I'm sure Teams could be specifically instrumented to facilitate hooking every time it loads a js file, this would probably not be the same as every other application that uses non-binary files to load code. I'm not denying you can create rules that will look for js files being loaded into chromium applications the same as you can with vb macros being loaded into Office apps, but it will be messy and fragile and very application specific.

I guess what I'm arguing is if you want to make something critical work in Windows, just use Windows-native applications or use UWP applications if you want cross-platform (oh right windows phone is dead)... I do not like the trend of wrapping everything in Chrome and calling it done.

This is a perennial problem, like when everyone thought it would be an awesome idea to use Flash for everything including line-of-business applications. Java is an exception and they have actually really good built-in code signing and security mechanisms like code origin and whitelisting that nobody actually uses.

We're re-implementing poo poo over and over again because people refuse to either develop clients for each platform, or decide on a good cross-platform model for end-user clients like Java because Oracle is hot garbage.

Anyway I will end my rant here, maybe I should make this into a conference talk so I can just let off steam with powerpoint.

Kazinsal
Dec 13, 2011

cinci zoo sniper posted:

there's like half a dozen of competently put together torrent clients that are at least semi-actively maintained/developed

yeah qbittorrent and deluge are still alive and kicking. no idea what exists in the realm of CLI poo poo but chances are nobody bothered to buy the torrent equivalent of lynx for adware distribution

cinci zoo sniper
Mar 15, 2013




Kazinsal posted:

yeah qbittorrent and deluge are still alive and kicking. no idea what exists in the realm of CLI poo poo but chances are nobody bothered to buy the torrent equivalent of lynx for adware distribution

deluge has cli interface, other major cli option is rtorrent. major gui torrent clients, adding to two you mentioned, include transmission and tixati

there're a few more esoteric options, but they are woefully unnecessary in 99% cases

BlankSystemDaemon
Mar 13, 2009




cinci zoo sniper posted:

deluge has cli interface, other major cli option is rtorrent. major gui torrent clients, adding to two you mentioned, include transmission and tixati

there're a few more esoteric options, but they are woefully unnecessary in 99% cases
there's also ctorrent, which can be managed by ctcs
it's lightweight and can run a HELL of a lot of torrents with almost no overhead on freebsd (and probably your favorite platform, too)

Tankakern
Jul 25, 2007

:filez:

Perplx
Jun 26, 2004


Best viewed on Orgasma Plasma
Lipstick Apathy
aria2 is a good for one off torrents

i actually use aria2c -x 10 http://url to get my linux isos fast

klafbang
Nov 18, 2009
Clapping Larry

ewiley posted:

While I'm sure Teams could be specifically instrumented to facilitate hooking every time it loads a js file, this would probably not be the same as every other application that uses non-binary files to load code. I'm not denying you can create rules that will look for js files being loaded into chromium applications the same as you can with vb macros being loaded into Office apps, but it will be messy and fragile and very application specific.

If Teams has this problem, I wold assume that, being Microsoft and all, they could add a system call to LoadAndCheckSignature, and strongly suggest all web developer application frameworks use that for loading scripts.

Shaggar
Apr 26, 2006
the teams dev team is all interns so I doubt they're doing much security wise

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Hmm. Have you tried using some ancient version of μTorrent from before the developers tried to monetize it and hosed it all up?

How about some even older version of Azureus from before the developers of that did the same thing?

I'm sure it will be fine, it's not like you're connecting it to random people on the internet and telling them exactly what outdated not-security-patched software you're running.

KOTEX GOD OF BLOOD
Jul 7, 2012

BangersInMyKnickers posted:

You're still under a fairly tight leash
please do not kinkshame in yospos

i vomit kittens
Apr 25, 2019


https://shhgit.darkport.co.uk/

a website that scrapes users/passwords/tokens from git pushes

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
a peer distributed filesystem based entirely on stolen aws credentials

~Coxy
Dec 9, 2003

R.I.P. Inter-OS Sass - b.2000AD d.2003AD

i vomit kittens posted:

https://shhgit.darkport.co.uk/

a website that scrapes users/passwords/tokens from git pushes

pretty funny but they really should ignore the .pem files if they (understandably) don't want to parse them for actual private keys

geonetix
Mar 6, 2011


https://twitter.com/a_tweeter_user/status/1188811977851887616?s=21

im still stuck on the kaka ‘n peepee, but I guess a compromised nuclear power plant is also serious

Varkk
Apr 17, 2004

Yeah, crosspost from OSHA thread
https://twitter.com/RungRage/status/1188853620541775872?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1188853620541775872

cinci zoo sniper
Mar 15, 2013




the plant administration seems to be denying this publicly, citing isolation of their control systems from external networks

geonetix
Mar 6, 2011


the actual release from the admin seems to be specifically about the operational tech, not the it infra

but who knows, iran also never admitted to being stuxnetted i think

DrPossum
May 15, 2004

i am not a surgeon

BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles

KOTEX GOD OF BLOOD posted:

please do not kinkshame in yospos

but I was implying it was a good thing

BangersInMyKnickers
Nov 3, 2004

I have a thing for courageous dongles


lmbo

CommieGIR
Aug 22, 2006

The blue glow is a feature, not a bug


Pillbug
Welp, here's hoping they properly isolated their SCADA network and nobody quietly connected the Corp and SCADA networks together. That never happens, right?

Sleng Teng
May 3, 2009

CommieGIR posted:

Welp, here's hoping they properly isolated their SCADA network and nobody quietly connected the Corp and SCADA networks together. That never happens, right?

Yeah, I for one have never seen this in person a depressing amount of times in power, water, and wastewater plants

Adbot
ADBOT LOVES YOU

CommieGIR
Aug 22, 2006

The blue glow is a feature, not a bug


Pillbug

Sleng Teng posted:

Yeah, I for one have never seen this in person a depressing amount of times in power, water, and wastewater plants

Did a engagement for a chemical plant where someone had plugged in the networks so they could watch videos on the night shift.

Their scada solution accepted admin/admin as a login....

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply