HNHacker News
TopNewBestAskShowJobs

kdbg

1,516 karma · joined June 12, 2016

submissionscomments
kdbg··on Volunteers scour drone footage in search for woman who went missing on hike
You could do something like that with an InReach device and it's satellite messaging functionality. Have a script (or person) expecte hourly preset message from you (it can send emails, sms, and even Facebook or Twitter messages) You could also use the tracking functionality as a double check that they didn't just forget to send the message by looking if their speed has changed inexplicably during recent intervals.

It's not as ideal as it does ultimately require a human to raise the alarm.

kdbg··on Book review: Head First Statistics vs. The Manga Guide to Statistics
I recommend the head first books pretty frequently. Never alone though, I've found them to be somewhat divisive. Some people learn well with that more casual writing style, some find it very annoying.

So while I recommend people try the head first series, I always have an alternative recommendation that is more seriously written. I've had allot of success with pre/early teens learning with the head first books.

kdbg··on Loon and Wing graduate from Google/Alphabet X
I believe graduating from X doesn't mean they are no longer going to be under Alphabet rather that they've graduated from being a moonshot project under X.company to being their own thing, still under Google/Alphabet and all the benefits that entails.

If anything I imagine its a net positive for the team, though I'm not a Googler and don't really know the internal dynamics of the situation.

kdbg··on Ask HN: How do security researchers know where to look for vulnerabilites?
You're not wrong at all. Having access to code is far more efficient. My favorite type of assessment to get is when I get a test env and code access. It is uncommon though, a lot of companies are protective of their source code and don't want to hand it out to machines they don't totally control. In most cases when I get code access I either get a laptop from the client or a VPN and rdp onto a machine they control.

As for charging, I've never been paid based on findings, but based on time. If they fix while I'm testing that is great work by their team, but I'd prefer a stable test env so it's a bit annoying.

Libraries can be an interesting area, I focus my testing on code the client controls and only note known vulns in libraries they use. I have found issues in libraries before and we report it to the client, and work with them to disclose to the vendor if they want.

kdbg··on Ask HN: Which books have made you introspect?
As a religious person reading Orson Scott Card's Xenocide (Part of the Enders game universe, but not at all like Enders Game) really impacted me.

In it you have a father who is a religious leader and transitions out of the religion to a more atheistic view and his daughter who becomes holds true to their faith in spite of the evidence and her father.

I saw a lot of myself in that girl and it really brought to light the folly of religion when you step outside of the religious framework. I'm still religious but the book made me think.

kdbg··on Twitter urges users to change passwords after computer 'glitch'
For whatever its worth, I do security assessment (pentesting and the like).

Checking logs for sensitive data is a routine test when given access atleast.

Being given that access is disappointingly not routine though.

kdbg··on Multiple Android apps use combined permissions to siphon personal data
You might want to try replying to the person making that argument. I was simply stating what I believe the poster was saying
kdbg··on Multiple Android apps use combined permissions to siphon personal data
I think they are making the argument that just as banning drugs doesnt prevent kids from accessing then banning guns wouldnt prevent access to guns.
kdbg··on As the U.S. Retreats, Canada Doubles Down on Net Neutrality
And for comparison, I live in one of the less competitive markets (Saskatchewan [SK])

Currently paying $90CAD for 25mbps down 2mbps up which is the fastest available plan from the only ISP with unlimited data

Ignoring satellite options there is one other ISP that can serve my house. The best plan from them is around $60CAD a month for 10mbps down and 1mbps up with 120gb of data.

For some context, I don't live in one of the two big cities of SK, but I'm not out on a farm or anything either so I think my experience is similar to most in SK that are not farmers or in Regina/Saskatoon (the two biggest cities in SK)

kdbg··on Metal Gear Solid V – Graphics Study
In one of the MGSV trailers there was a scene with Big Boss and Miller on horse back overlooking a canyon. That was the first time I ever mistook a video game scene for actual video.

I mean, on closer inspection sure you can tell its not video, but at an initial glance it wasn't immediately obvious to me. The Ground Zeros trailers were great but everything had a 'gloss' to it, MGSV tuned that up and the results truly were exceptional to me.

I don't watch or play many games, but so far MGSV is the only game that has done that to me and the results in the trailer matched the final product which is a feat of its own.

kdbg··on Digital hippies want to integrate life and work, but not in a good way
I get that sentiment but Ive personally experienced both sides with two hobbies turned career.

First was as a magician, I loved it as a hobby but as a profession is sucked the fun right out of it.

Then I started working dping security assessments of software (hacking stuff) it was also a hobby now I'm paid to do it. Turning it into a profession did not suck the fun out.

I'm not sure why one worked amd the other didn't but my experience is that turning a hobby into a profession is not always a bad experience.

kdbg··on The Vanual – Guide to Living in a Van
I wasn't right in downtown Boston but a bit north, I often parked between a few different Walmarts in the area or at the office park the company I worked for had their office in.

Though I guess I phrased that a bit poorly, I spent Dec-Mar in the Boston area and fled south after some significant snowfall in January and February (record breaking snow in 2015). While moving it was almost always in rest areas or trail heads (backpacking on the weekends).

kdbg··on The Vanual – Guide to Living in a Van
Shit: rest areas, walmarts, starbucks, cathole in the bush, or a porta-potty in the van.

Shave: Grow a beard, truck stop restrooms in the morning, you'll blend right in with the truckers doing the same.

Shampoo: In the city swimming pools are a decent bet, sometimes you can just ask if you can just shower and they'll let you. Gym memberships like Planet Fitness can be reasonably priced for just the shower. In more remote areas, campgrounds are a good source of showers, sometimes free, sometimes a modest fee. Plenty of van dwellers will even setup a cleaning area in their van, usually some sort of bucket they can stand in a pour heated water over them selves, or at least a sponge bath.

I'm not a fulltime van dweller, I started off just skipping out on hotels during 2-3week long road trips, eventually moved into my car (Pontiac G6) for 6months in the Boston area. Now its more sporadic, a month or two here and there while doing some long distance hiking.

kdbg··on A penetration tester’s guide to sub-domain enumeration
Yes, of course. The idea of certificate transparency logs is to be able to audit all of the certificates issued by a CA to detect mistakenly or maliciously issued certificates.

You can go ahead and search the logs yourself through google.

https://transparencyreport.google.com/https/certificates

kdbg··on Canada's 'secret spy agency' is releasing a malware-fighting tool to the public
I take it you can't expand on that a bit?
kdbg··on Canada's 'Great Trail' Is Finally Connected
Another thing is that it is quite stupidly routed in some areas with real trails.

As a reasonably experienced long distance hiker, and being from Canada when I heard about the trail nearing completion my first though was, can I through hike this. I looked into the logistics of doing this in about a year of hiking . Crux would be getting out of the North and mountains and into SK for winter.

Anyway, my first thought was damn there is a lot of road walking up north. Then I decided to see what it looked like when it ran through the town I grew up in, take a look: http://se.ri0.us/2017-09-02-134045614-af037.png

Notice how part of the 'trail' isn't even connected to the rest, how it does a lollipop in the southeast

And if thats bad, a little west of there it has a huge lollipop into another town: http://se.ri0.us/2017-09-02-134257918-22a76.png

And the Toronto area, just goes out to Detroit and then nothing: http://se.ri0.us/2017-09-02-134402430-7fd8a.png

I get that its a connection of recreational trails and some of the weird routing is because the town's local trails are not meant to be trails 'to' somewhere but really, this is just bad design.

As the trail does lollipops and has dead-ends I really don't think its fair to compare its length to more proper trails that one could reasonable follow end to end without needing to hike segments multiple times (there and back).

I really wish The Great Trail was an awesome, trans-Canada hike, I really do, buts its just a great disappointment to me.

I think funding/support this trail had would have been better spent on some of the amazing trails Canada has like the Great Divide Trail.

kdbg··on Ask HN: Do you do any mentoring outside of work?
I kinda do. Not is a professional sense but with teens/preteens mostly. Some years ago I was linled to a chat described as filled with skiddies (I do vuln research and dev). What i found was some lids who had taught themselves Visual Basic in order to male cheats and trainers for flash games.

I stuck around helped them learn more about programming, reverse engineering, and eventually exploit development.

Over the years the group has changed but I established myself as one willing to take questions and help people learn. It took sometime to establish myself especially among that age group but I just stuck it out because I saw people willing and tryimg to learn.

kdbg··on DreamHost DNS issues
Your edit is right panel.dreamhost.com doesnt resolve. But when it loads it does have the ability to specify nameservers.
kdbg··on DreamHost DNS issues
I dont think DH is really all that small. Comlared to aws and stuff maybe but I think they have pretty significant infrastructure.

What Dns providers are you thinking of? My guess would be something like cloudflare would be a good choice. Though Ive never looked into it tbh, I run my own dns.

kdbg··on DreamHost DNS issues
Why? A ddos could be launched against any provider. I dont see this as a dh specific issue to move over.
kdbg··on An Average Guy Who Spent 6,000 Hours Trying to Be a Professional Golfer
I'm not a golfer, I played a bit as a youth so I'm familiar with the basics but that is all.

I'm curious how they'd toughen the course just for the tour event? Was it things like changing the size/position of hazards or were there more subtle differences?

kdbg··on Flush times for hackers in booming cyber security job market
Low to mid 100k is very realistic in my experience. A lot more can be made with the right skills.
kdbg··on Social Media Is the New Smoking
> It is bizarre watching other tourists around, how they navigate from spot to spot to get a picture in some of the most famous places on earth without ever stopping to absorb where they were, they never bothered to understand the history or the architecture behind some place, they have 75 pictures of the same place but probably couldn't tell you the color on the walls five minutes after the picture was taken.

I'm kinda this. Honestly though, for the most part I really don't care about whatever famous place I'm at, I'm just there because I know when I get back someone is going to ask did I go to X, Y or Z. So I go, I do that thing to check it off my list and spend my time doing what i actually want, which is usually more nature oriented (wilderness backpacking) and less touristy. I actually pretty much dislike going to the big tourist areas, and want to get done with it as fast as possible so I don't soak it in unless I have a real desire to be there.

kdbg··on Windows 10 will use protected folders to thwart crypto ransomware
Can you do that with Windows? I also imagine you'd want ram. The public access machines I manage are not exactly powerful.
kdbg··on The First Woman to Get a Ph.D. In Computer Science from MIT (2014)
I dont think you can fault MIT here. The first MIT CS degree was awarded in 1975 the same year that saw the first female MIT CS degree awarded.

https://www.eecs.mit.edu/about-us/mit-eecs-department-facts

kdbg··on Windows 10 will use protected folders to thwart crypto ransomware
Similar to this there is a program I use called Faronics DeepFreeze. It allows you to freeze a drive (the OS drive is what I use it for).

The difference is that it allows writes but any modifications are removed on reboot. I use it to lock down public access machines, users get a network drive they can write to but without being able to modify the OS they can't do much damage.

Not the solution your presenting but it works pretty well.

kdbg··on Ask HN: What's the prerequisite to become an exploit developer?
Now that you've got a foundation in software development we can move onto exploit-development. Well not quite first you need to bridge your knowledge from building software to breaking it. For this you need to start learning about how software works at a lower level, the CPU level. There is a good book: Computer Organization and Design. Its solid but its also a textbook and covers a lot more detail than you need (though still valuable to know). It covers MIPS and how the CPU works, you probably can skip stuff about the hardware and microcode though. MIPS is a simpler assembly language than intel's stuff so its a nice starting place though.

Intel is what you'll most often encounter though so you do need to learn x86 and x86_64.

OpenSecurityTraining.info provides a number of courses that are valuable for this bridge to breaking software.

1. Life of Binaries - http://opensecuritytraining.info/LifeOfBinaries.html - This helps you go from understanding to software to understanding the system around the software and the context in which software runs. 2. Introductory Intel x86 - http://opensecuritytraining.info/IntroX86.html - Really boring/dry class on x86 instructions but gives you the introduction you need.

3. Introductory Intel x86-64 - http://opensecuritytraining.info/Intr oX86-64.html - Just slides this time, good to review and get a sense of the differences between 32bit and 64bit intel assembly.

Once you've gotten the basics its finally time to move onto learning the actual exploit development skills.

1. Introduction to Software Exploits - http://opensecuritytraining.info/Exploits1.html - In my opinion this is simply the best resource out there to learn the basics. It uses the book "The Shellcoder's Handbook" as its textbook and I completely recommend the book.

2. Hacking: The Art of Exploitation - This is the most often recommended book, its great and has a much better introduction than the Shellcoder's Handbook but if you can make it through the course above without probably you can probably skip this book as the two resources covers more content but this book is one of the best introductions available. 3. Corelan's Exploit Development Tutorial Series - https://www.corelan.be/index.php/2009/07/19/exploit-writing-... - It'll start in familiar territory but it'll get into some new stuff, overall a good series. 4. Exploitation in the Windows Environment - http://opensecuritytraining.info/Exploits2.html - You'll find some overlap with Corelan's tutorial series and this course so you might want to take this course and reference the tutorials as you go.

5. A Bug Hunter's Diary - Excellent book that covers some similar topics as the previous resources but spends a bit more time on actually finding vulnerabilities not just exploiting them and goes into more mitigations than the previous resources also, skip the stuff you already know. 6.

While learning all this exploit development stuff, there is another necessary skill to actually finding vulnerabilities: reverse engineering.

There are two books that I frequently recommend on the topic:

1. Reversing: Secrets of Reverse Engineering - this is the most popular recommendation and its a great resource to work through.

2. Practical Reverse Engineering - This is a new comer (2014) but I quite like it. It isn't as 'complete' as Reversing is but it covers a wider rage of topics that I find more useful.

3. (Bonus) Malware Analyst's Cookbook - Malware Analysis is probably the most RE heavy field you can be in so this is a solid book on the topic. Just because of its name I didn't give it a fair chance when I was reviewing books to recommend but I did review it recently and do want to give it a plug and it has a lot of practical information and labs to work on.

By this point you should have a reasonably solid foundation and a good understanding of exploitation. You will not be up to writing the latest browser 0day but you'll have the foundation necessary to understand (and learn from) modern sophisticated exploits so you can find and development them yourself. There are no resources to fill in the final gap but to go out do your research on a system and apply what you've learned to find some way to break them and development that weakness into an exploit.

To get experience, there are a few resources I can recommend:

1. Exploit-Exercises, I already mentioned Nebula, Protostar should be accessible to you once you've done the first Software Exploits course, and Fusion after the second one.

2. Over the Wire, I've already mentioned a couple of their servers, check out the rest of them.

3. Pwnable.kr - Challenges are at various levels use the harder ones to challenge yourself.

4. Capture-The-Flag competitions - every year several CTFs are run, sign up and play in them. What is nice about CTFs is that they are bite-sized challenges, still difficult, still involving modern techniques (the ones worth the most points atleast) but not tedious and they don't require a big time investment to find a weakness in. The focus of the challenge is on the exploit development rather than on finding vulnerabilities. 5. CVE lists - find software that interests you, find a known vulnerability and try to build your own exploit in it.

6. Real world software, go and break something of interest to you, learn how it works, find a vuln and exploit it.

You may need to learn a new language, or research some new techniques to handle some mitigations, but you should have the foundation necessary to figure out what you don't know and how to learn what you need.

...and with all this content I never even touched on breaking web applications, so I must atleast give mention to "The Web-Application Hackers Handbook" cover that book, practice against any of the many vulnerable meant to be hacked web-apps out there (Damn Vulnerable Web App, OWASP Mutillidae 2, HackThisSite, HellboundHackers, Enigma-Group, HackThis.co.uk, etc, etc)

Good Luck!

kdbg··on Ask HN: What's the prerequisite to become an exploit developer?
[Part 1 of 2]

I'm sorry this didn't get more responses, its a worthy question.

First, I've tackled this topic a few times: https://www.reddit.com/r/AskNetsec/comments/5i73db/path_to_e... is probably the most concise post of mine but I'll give a more complete (opinionated) guide below

> There are great resources for both of them (like MBE http://security.cs.rpi.edu/courses/binexp-spring2015/ and RE https://github.com/fdivrp/awesome-reversing).

I like the RPI course but without lectures it feels like there are too many gaps for it to be something I actually recommend to people

> Actually there's an article http://www.myne-us.com/2010/08/from-0x90-to-0x4c454554-journ... but it is quite outdated.

Don't worry about content being dated, you will not find any good resources that cover right up to modern exploits what you will find are resources that can be used to train you up in the necessary foundations for you to understand modern exlpoits with a bit of your own leg work. The "From 0x90 to 0x4c454554" article actually looks like a very good collection of resources. Dates resources are still valuable as modern exploits are still doing the same thing (trying to get control of the IP register) its just now there are mitigations in place that require extra steps or to follow certain restrictions to be successful, but if you don't understand the foundation you can't learn the modern stuff.

> I want to understand what are the ACTUALLY NECESSARY topics required and in RIGHT ORDER to MINIMIZE the TIME WASTING and wandering in between topics

The problem with that is that that time wasting and learning other topics that are not immediately useful are immensely beneficial on a whole. Honestly, a big part of exploit development is spending hours researching dead ends...seriously that's a big part of it. It requires a wide breadth of knowledge not just a bunch of tips and tricks specific to exploit development. In order to craft sophisticated exploits against a system you need to understand that system, how its built and how it works. This comes from that wandering research, it may not be immediately valuable but doing it often leads to building up a set of topics that you are deeply knowledgeable in. And, you you can draw from that knowledge in exploiting certain interactions later on. That wandering, beating your head against a wall, getting stuck not knowing what to do is part of exploit development. Trying to avoid it honestly doesn't sound like a good idea, you'll end up knowing a bunch of tricks but lacking the background to apply them creatively.

None the less, the first thing you need is some development background. If you want to break software start by learning how software is built.

So, I recommend starting by learning C. First C is the lingua franca of exploit development and reverse engineering. If you understand C you can break any high level software down into its 'C parts' and from that C you can determine what the machine code probably looks like. C is the perfect middle ground, thinking in machine code or assembly is too tedious and languages like Python or Java are too high level to capture whats going on at the CPU level. Software exploits ultimately are about controlling the IP register on the CPU that is why being able to understand the whole stack is important.

Start with C, but learn a higher level scripting language, something that is used for quick jobs, prototyping, etc. While C is nice it also requires a lot of lines to do some tasks that are very simple in higher level languages (string manipulation and network communication for example). So, its useful to know a scripting language to actually do quick jobs in. Python and Ruby are the two common choices right now, historically Perl was the most common choice. Now everyone I work with knows Python, but Ruby has its place too.

If you struggle to learn C, you might find it useful to start with a scripting language which are often said to be better for learning to program with. Maybe it is but I tend to side with Evan Miller who writes: http://www.evanmiller.org/you-cant-dig-upwards.html in that C is a better place to start even if the results are not as immediate. Still, if C isn't working for you start with the scripting language then learn C.

Further, once you know C and a scripting language, learn one of the modern work-horses, Java or C# (I lean towards Java). Most developers will know one or both of the languages and getting an understanding of Object Oriented Programming is useful to understanding how software is built. You find OOP design patterns in most software.

Once you know a native language (C, C++) an intermediate language (Java, C#, etc) and a scripting language (Python, Ruby, Perl, etc) you'll be able to work with the majority of code-bases out there even if you don't know the specific language in use you'll understand the core concepts that underline most languages. There are some other paradigms seen in less common languages like prolog (logic programming) or haskell (functional programming) that you won't understand but those three languages cover practically all modern software you'll encounter.

Recommended Books: you don't need to read all of these but its a selection you might find useful. Also, I am a fan of the Head First series which usually are not very thorough and some find the writing to be too casual and annoying so YMMV.

1. Head First C, covers the basics of C in an easily digested format. Some I've recommended it to have found its section on pointers useful.

2. The C Programming Language, the Bible of the C language, you'll pick up some bad habits from it, and its dated but its a concise overview of C.

3. Violent Python, Its a bit steep of a learning curve but its teaching Python with a security focus so it fits in very well.

4. Head First Programming - If you struggle with the basics of coding, it might be worth checking this book out.

5. Dive Into Python - http://www.diveintopython.net

6. Design Patterns: Elements of Reusable Object-Oriented Software - Once you understand the programming its time to learn the architecture of software, this is the classic book on the topic. 7. Head First Design Patterns - if the last book was a bit too steep for you the Head First book might be a bit easier.

8. Beej's Guide to Network Programming - You need to understand sockets, and socket programming, no exceptions and for C this is the best guide available.

While you're learning to code you should also be trying to get some experience working with Linux. Even if Windows is your daily driver (as it is mine) Linux is inescapable you'll rarely come across a network that doesn't use Linux anything (and similarly, you'll rarely come across a corporate network without some Windows servers too, so don't ignore Windows server). I don't have any book recommendations on this, just setup your own Linux box learn the different package managers and how to do what you need from the terminal.

I do recommend working through the following to get some general experience.

1. http://overthewire.org/wargames/leviathan/ - You'll learn about Linux with this one, and it doesn't require any programming ability so its a fair starting place.

2. http://overthewire.org/wargames/bandit/ - Bandit is a easy server/wargame to start with, and it'll teach you a bit about Linux and require a bit of coding but there is nothing that requires technical exploit development knowledge. 3. https://exploit-exercises.com/nebula/ - Nebula is a little more difficult than Bandit but still non-technical and imo a little more fun.

Working through these give you some comfort working in a terminal and some experience getting the attacker's mindset and breaking things. You can do these while learning the stuff above.

You may also want to get some practice programming with challenges such as those at:

1. ProjectEuler.net - These often require some mathematical insight but they're fun so I'm including it

2. https://leetcode.com - This is used by some developers to practice before an interview, various levels so it'll work just for getting some experience with programming.

kdbg··on Alex Honnold Scales El Capitan Without Ropes, and the Climbing World Reels
Minor correction but a lot of people make the mistake, free climbing is what Ondra did on El Capitan's Dawn Wall last year. Where you climb with ropes but do not use it for any aid in climbing.

What Honnold has done is free soloing which is climbing without rope for protection.

They sound similar but are significantly different.

kdbg··on Further hardening glibc malloc() against single byte overflows
Rust uses a different allocator actually, jemalloc which doesnt store data inline like ptmalloc does. So an overflow could overwrite other heap stored data it wouldn't overwrite heap metadata or result in a vulnerability from the allocator code.

Granted, if you link/call in code that uses ptmalloc (glibc's malloc) in Rust it is still an issue but unsafe code in Rust itself won't be vulnerable to this sort of attack.

← PreviousPage 3 of 4Next →