Jump to content

Sitwon

Active Members
  • Posts

    458
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Sitwon

  1. Are you asking which episode it was or which distro he used? You can use pretty much any distribution to build a wireless access point, most of the tools needed are standard parts of EVERY distro, and the rest are almost always available in the official repository. Many home access points and routers are already running a Linux distribution, such as OpenWRT or a derivative, internally.
  2. I've been using fwknop for about 4 years now (shortly after it switched from port-knocking to SPA) and it works very well. I run it on all of my systems except for one, which is intentionally accessible to the public. I always strongly recommend it to my clients.
  3. It's up to the individual technician. Some technicians will just fix the problem and ignore anything else. Other technicians will go digging through whatever you have on your hard drive. Your best bet is to never hand your computer over to anyone else. Learn how to repair your own computer so that you're never at their mercy. But if you end up having to take it to some technician, you'll be better protected if your data was already hidden/encrypted. They probably won't spend too much time trying to break the encryption. https://encrypteverything.ca/index.php/Main_Page
  4. I think it would depend on what, exactly, you're trying to do.
  5. I think it would be possible. I've seen cards as big as 128GB which might be big enough to hold a couple of downloads.
  6. Let's see, that's a pretty broad problem set. First of all, as a best practice, you should encapsulate external dependencies behind a class or a module. This gives you the freedom to develop an alternate class/module for accessing that external dependency without having to rewrite the rest of your application. (Eg, you might start out invoking it on the command line and parsing the output, but later decide to make direct calls to the DLL.) If you get in the habit of encapsulating external dependencies this way then you'll find it easier to replace or upgrade them, and you'll also find it easier to re-use them in other programs. Second, learn Regular Expressions (aka, regex or the 're' module). Regex is a language for describing and matching patterns in text. Whenever you're working with strings or text files and trying to extract specific bits of information a regex pattern is usually the best strategy. Learning regex also comes in handy in other languages and utilities (grep, sed, awk, perl, Java, Ruby, Scala, etc). Some applications, particularly those like airodump-ng which re-write parts of the screen, they will output differently or not at all if their standard output stream is redirected to a non-TTY device (such as a file or a pipe). If you want to avoid writing the file out to the disk you could use a named-pipe instead. A named-pipe, or fifo, looks like a file but is actually just a buffer which queues lines of text. One application can enqueue strings into it and another application can dequeue strings out of it, but the strings are never written to the disk (and once they've been read they are "forgotten"). You can try it on the command-line with the 'mkfifo' command, or you can do it in python with os.mkfifo. Create a named-pipe and tell airodump-ng to write it's logs to that "file", then read them in and parse them from the named-pipe. This is not necessarily the Pythonic solution, but it's the Unix solution. Named-pipes will work regardless of the language you use because they look and act like files.
  7. Why use a teensy instead of a software macro recorder? I believe Autoit3 can do that, no special hardware needed.
  8. I've always run OpenSSH on *nix systems. I'm not sure about about SSH servers for Windows systems.
  9. The canonical book on C is "The C Programming Language" by Brian Kernighan and Dennis Ritchie. http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&s=books&qid=1281115882&sr=8-1 Another good book is "Programming in C": http://www.cs.cf.ac.uk/Dave/C/ Yes, Java is similar to Python in some of the same ways that C is similar to Python. If you asking which language will teach you more about the fundamentals of computer science then I would say C. If you're specifically interested in learning about the object-oriented paradigm then I would say Java.Personally, from the perspective of studying Computer Science, I would counsel learning C first. Mastering pointers is essential to understanding languages like Java in a more fundamental way. Java, by design, obfuscates it's implementation. You can find more resources here: http://learnproglang.couch.it/
  10. The judge can hold you in contempt of court (keep you in jail indefinitely) until you agree to cooperate or impose other sanctions, or decide that your refusal constitutes a crime (eg, obstruction of justice) and convict you of that. Personally, I use dm-crypt/luks for full disk (including swap) encryption, and then additionally I have an EncFS encrypted folder in my home directory where I keep my most sensitive files. I also keep a back-up of those files on an IronKey in case of hard drive failure. When I make backups to external hard drives that I want to keep private I have been using EncFS, however TrueCrypt would probably be the more portable solution.
  11. Safer in what way? On the one hand, Western government wouldn't be able to subpoena the ISPs in those countries to give up connection logs, but you would be willingly subjecting your traffic to governments who have no qualms with sniffing your traffic or worse. In some of those countries they actively MITM many types of encrypted connections or tunneling attempts so that they can log and filter your traffic.
  12. In my experience, those buttons are just used by twerps whenever they disagree or don't like what you post. I had a similar experience where I tried to be helpful and got nothing but shit and -1s for it. Here's the thread I'd say it's pretty safe to just ignore it. This isn't StackExchange or anything so I don't think it really matters.
  13. Excellent. If you're comfortable with Python then C is a good next step. In some ways it is more challenging, in other ways it is simpler. I'd prefer to say that they're just a bit different. Certainly don't be afraid of C.Python was inspired by and written in C and in many ways it still says very close to those roots. In my opinion, it has one of the most convenient FFIs (Foreign Function Interface) for accessing native-compiled C libraries. This heritage and easy interoperability make Python and C a very good pair. Definitely start with C. It does make a difference. C is a relatively small and simple language, where as C++ is a very complex and sometimes convoluted language. In my experience it is definitely far easier to teach/learn C than C++. Depending on the student 6 months is entirely realistic (especially with prior experience with another programming language). There are a few core concepts which students typically struggle with when learning C or C++ for the first time: pointers, memory management, and recursion. Since recursion is the same in C as it is in Python, I would say learn it in Python (if you haven't already). Pointers and memory management, however, you can't really learn in Python.Pointers and memory management can be difficult to explain in text. When I teach these topics I like to use diagrams step through the program with the student(s) using an interactive debugger to demonstrate what is happening. If you're taking a live class or don't have a tutor available who can help explain it to you, then you might find it useful to look up good video lectures on these topics. (And by "good" I mean professional lectures from MIT, Stanford, UC Berkeley, or my favorite, UNSW. Definitely NOT TheNewBoston's tutorials.) Here are the links to YouTube videos of professor Richard Buckland of the University of New South Whales giving his lectures on COMP1917 (their version of Introduction to Computer Science) and the follow up COMP1927 (Data structures and Algorithms). These are excellent lectures in which he teaches the fundamentals of Computer Science and programming with C. That sounds great! The best way to learn any language is by using it to solve actual problems.
  14. Look at my post again, I quoted you twice. I recognized that they were two separate thoughts and responded to them separately. I agree with your second thought with regards to not quitting JavaScript. However I was disagreeing with your "opinion" of the C language.
  15. If you don't know C what makes you so qualified to bash it? Especially in comparison to a language you admit to knowing poorly. Please don't trash talk about languages you hardly know. Comparatively, C is not a very complex language. The syntax is nearly identical to JavaScript but grammatically it is far simpler. C is also not a particularly good language for learning object-oriented programming, as it has no built-in support for the OOP paradigm (unlike JavaScript which is a prototype-based language and inherently object-oriented). Very true words. I agree 100%. Not just ideal, I would argue that learning C would be essential to becoming a well-rounded security professional. That doesn't mean you have to learn it first or even right away. Contrary to what you'll hear from a lot of developers, I have not found and credible scientific evidence to suggest that the order in which you learn a language has any influence on good of programmer you will become. Some languages are easier to teach/learn first, but there's no such thing a wrong first language. Learn whatever language will be most immediately useful to you (or learn any language you can and use it as often as you can). Then learn other languages as you need them. If you don't need C yet, don't learn it. I expect that if you go into the security field you will need to learn it eventually, but it's not a big language, no reason to rush into it. I'm not sure that this is a particularly good analogy. If the goal is to learn French and Spanish, then just learn French and Spanish. Learning Latin first (or at all) won't save you any time or effort. On the contrary, you're more likely to waste time learning the quirks of Latin which have nothing at all to do with French or Spanish anyways.Or put another way, you don't need to learn Latin in order to learn Italian. And it's faster/easier to just start learning Italian then to try to learn Latin and then Italian.
  16. There's absolutely nothing wrong with learning JavaScript and I'm sure it will be well worth your time. Especially as we move more and more browser-centric model of computing JavaScript will become increasingly valuable and relevant. Keep in mind that with and understanding of JavaScript not only can you write your own code for web pages that you publish, but you can also pick apart the code that other people have published or create browser add-ons which inject your own custom scripts into other peoples websites. You can do some really powerful things when armed with a little knowledge of JavaScript, some creativity, and enough free time to experiment with it. C and Python are also good languages, and I can point you to some good resources for learning them, if you're interested. Learning to write code is extremely empowering, and learning any programming language will make it easier to learn others.
  17. Not to be a downer, but aren't these features that already exist? Nano and vi both support searching out of the box. You should also already have grep available for multi-file search. Splitting the screen (both vertically and horizontally) is a feature baked into Vim, or you can use screen with any editor to split horizontally. There are a couple of existing attempts at recreating a vi(m)-like editor for the browser. The most complete I could find was http://gpl.internetconnection.net/vi/ (hint: use Ctrl-[ for Esc). There are certainly other (non-vi) examples as well of browser based text editors if you go looking. That said, if you're trying to do this for the fun or the challenge then don't let me dissuade you. Writing a text editor can be an extremely worthwhile and educational endeavor for any programmer. That's part of the reason why so many programmers have written their own editors. In fact, if you plan write you own anyways then I would recommend ignoring anything that already exists out there. Checking them out will only stifle your own creativity. Good luck.
  18. When you extract the rootfs are you doing that as root or as a normal user? If you extract it as a normal user it won't be able to preserve the ownerships on the extracted files.
  19. There was a sequel to WarGames, but I don't recommend watching it. Not good, at all.
  20. It's not really a Pineapple on steroids, more of a Sheeva Plug with Metasploit and a flashy web interface. In other words, just a consumer version of existing tools that have been available for a couple years.
  21. I would say that there is something for everyone at HOPE, whether you're an expert or a noob you'll meet cool, passionate people and learn something new. I've brought hacklings to HOPE and they've enjoyed it enough to return. There is a good mix of old an young crowds at HOPE. You get some guys who were phreakers in the 80s as well as guys who are working on the latest web exploits.
  22. In general, no. A true decompiler simply can't exist for most high level languages. The process of compiling source code into a native binary is a very lossy conversion. Unless you explicitly tell the compiler to include debugging information in the binary, the compiler will "forget" all your variable names. All the comments will be lost because they are ignored by the compiler. For the purpose of optimization, it will re-arrange the order or pattern of your instructions. Certain control structures are provided as a convenience for the programmer, but don't really exist at the machine level. For example, in the machine code there is no difference between a for-loop and a while-loop, both are just conditional jumps. Think of it this way, there are a lot of different ways you could describe the quadratic equation in English, but there is one canonical way to write the equation in mathematical notation. Can you look at a mathematical equation and determine the exact words (and the exact order) that another person might use to describe that equation? Let's use a simple case for demonstration. The equation: 1 + 1 = 2 Could be translated into any of these English sentences: 1. One plus one equals two. 2. One and one equals two. 3. The addition of one and one results in two. 4. Two is the sum of one and one. 5. When summed together, one and one produce two. This is why a decompiler can't translate from compiled code back into the high-level language that was used to generate it. In the case of Java, you can get much better results from a decompiler for a number of reasons. 1. Java bytecode is closer to the Java language than machine language is to C++. (Optimization is done at run-time by the just-in-time compiler.) 2. Java often encodes debugging information such as line numbers and variable names into the class files for use in error messages. 3. Java was designed with disassembly in mind, the official JDK even includes a tool to do it (javap). This is one reason why Java is frequently used by companies for internal software development or for server-side code, but rarely used for developing products which will be sold to end-users. (Although tools do exist to obfuscate source code and make it harder to reverse. Notch uses such a tool on the Minecraft JARs he distributes.)
  23. http://learnproglang.couch.it
×
×
  • Create New...