Unit42 published a pretty decent write-up on malicious lnk files. It includes IOCs for the specific lnk files referenced in the post, but the concepts themselves are more important than the IOCs.

https://unit42.paloaltonetworks.com/lnk-malware/

Windows Shortcut (LNK) Malware Strategies

Our telemetry shows a surge in Windows shortcut (LNK) malware use. We explain how attackers exploit LNK files for malware delivery. Our telemetry shows a surge in Windows shortcut (LNK) malware use. We explain how attackers exploit LNK files for malware delivery.

Unit 42
@cR0w Your reminder that, for some reason, exiftool parses .lnk files perfectly for quick analysis.

@cR0w I've blocked .lnk on my SEG and web proxy. So far no complaints or tickets 1 year in. Of course they could be loaded other ways.. I have a test EDR policy for .lnk creation in /Downloads/. That file type just sucks, but it's not like an .hta I can outright block system-wide.

I'm sure I'm forgetting other places I could limit .lnks. Open to ideas!

@badsamurai @cR0w Windows EDR logs, delete them all, why stop at ~/Downloads 

@badsamurai Ok, but joking aside, this gets me thinking about baselines again: For filetypes that are unlikely to be generated by users in weird places: if the org has decent application control & homogeneous clients regularly generating an allow-list for non-sus folders might actually be feasible (especially if you have something like a super-client with all allowed software installed)?

Doing some quick testing on my personal Windows ... there aren't that many paths:

/Users/<username>/Desktop/
/Users/<username>/Links/
/Users/<username>/OneDrive/
a bunch of /Windows/
one /Program Files (x86)/<application>/ folder

Obviously will be more & more diverse in an actual org but might still be worth checking should one really want to restrict this as much as possible?

@nyanbinary Absolutely. Those dirs are also where I target automated hash lookups first since I have a small VT account.
@badsamurai We block them in email too. That's about it besides the occasional hunt for odd ones.
@badsamurai @cR0w While you're at it (I'm sure you've done this already), block .isos. That's a bigger hit in some cases, but it was a hot TTP for a while to put the LNK inside the iso to avoid MOTW and rules just like that.

@mttaggart @cR0w I feel like we (community we) don't share baseline bad extensions for SEGs often enough.

Maybe OpSec concerns? And not that org specific. There are some very common, but esoteric, file types no one wants to see cross dmarcs. I think the problem these tools were often built and inherited many times over where it's a default allow + block-list vs default block + allow-list.

.scr .wsf .url .scf and the office docs with macros (.pptm .xlam etc) .onepkg .arj .cab .bin .theme ... Then double and triple extensions--regex block! It never ends.

Side note I quarantine and alert on any .env .pem .key .kube .conf .tfvars .lic. I don't need AI to do $DLP basics.

@badsamurai @mttaggart Good point. I'll start:

386
3gr
add
ade
appcontent-ms
asp
bas
bat
cer
chm
class
cmd
cnt
com
cpl
crt
dbx
der
diagcab
dll
exe
fon
grp
hlp
hpj
hta
img
inf
ins
iso
isp
jar
jnlp
js
jse
lnk
mam
mcf
mdb
mde
mmc
msc
msh
msh1
msh1xml
msh2
msh2xml
mshxml
msi
msp
mst
msu
ocx
pcd
pif
pl
printerexport
ps1
ps1xml
ps2
ps2xml
psc1
psc2
psd1
psdm1
py
pyc
pyo
pyw
pyz
pyzw
rdp
reg
rtf
scf
scr
sct
settingcontent-ms
shb
shs
theme
url
vb
vbe
vbp
vbs
vhd
vhdx
vxd
website
ws
wsc
wsf
wsh
xbap
xll
xnk

@cR0w @mttaggart Rad. I'll add to this when I return to office tomorrow. Today is bamboo and cassette tape shopping.
@badsamurai @mttaggart Sounds good. I know you host a lot of lists like that on your GitHub. Want to add one for this there too?

@cR0w @mttaggart Done! I was only missing a few from yours. I made multiple commits to make the list diff easier.

https://github.com/BadSamuraiDev/bs-lists/blob/main/email-file-extensions.txt

bs-lists/email-file-extensions.txt at main · BadSamuraiDev/bs-lists

Cybersecurity lists of TLDs, domains and URLs for threat hunting and posture policy (warn or block) - BadSamuraiDev/bs-lists

GitHub
@badsamurai @mttaggart Nice! Did you happen to see any on your list that weren't on mine? I can do a diff myself in a few if you didn't happen to notice.

@cR0w @mttaggart I did. We were, maybe not, surprisingly far off.

Only Mine:

jse
pyw
vb
wsh
xbap
xll
xnk

Only Yours:

mmc
rtf
vhdx
@badsamurai @mttaggart Thanks. Those should have been in my list already. I'll be curious if anyone else adds to it.

@cR0w @mttaggart Hopefully. I'm not a Mac person, so I know I have gaps there.

Here's the sensitive file list as well. I typically strip and deliver vs drop.

⚠️ This one may result in potentially embarrassing change controls for key/cred rotation.

https://github.com/BadSamuraiDev/bs-lists/blob/main/sensitive-file-extensions.txt

bs-lists/sensitive-file-extensions.txt at main · BadSamuraiDev/bs-lists

Cybersecurity lists of TLDs, domains and URLs for threat hunting and posture policy (warn or block) - BadSamuraiDev/bs-lists

GitHub
@cR0w @badsamurai @mttaggart
RTF can embed OLE?! wtf. Can anyone make a document format that can't execute code?
@FritzAdalis @badsamurai @mttaggart My txt docs are still good.
@cR0w @badsamurai @mttaggart
True, but text is the opposite of format.

@FritzAdalis @cR0w @mttaggart

Now ask me why I can't get .svg on there.

/me shakes fist like old man with kids on his law

@badsamurai @FritzAdalis @cR0w @mttaggart svg supports javascript, just saying..

@catsalad @FritzAdalis @cR0w @mttaggart But if I ban hammer .svg I will definitely hear from marketing, graphics and service desk.

I wish SEGs or email filters could simply strip the <script> block out of the SVG.

@catsalad When you say "supports JavaScript", are you just saying "can be manipulated through JavaScript" or "JavaScript can be embedded directly into the .svg file"?
@me Javascript right in the svg file 👍
@catsalad @me
SVG standard includes JS embedding since … ages.
@catsalad This is why we can't have nice things...

@badsamurai @cR0w @mttaggart
We have seen lots of drop-loaded .tmp-named files that were DLLs or EXEs, also an occasional .gif

Granted, those had to be explicitly executed/called, but the client‘s AV had not complained…

@badsamurai @cR0w I did a software execution block on mshta.exe as well. Have yet to encounter any production breaking bugs with that one in place. I have seen "annoyances" in some applications and triggers. As always, test and YMMV