What are CTFs? What is the meaning of playing CTF? (Introduction to network security tutorial attached)

What are CTFs?

In the field of network security, CTF refers to a form of technical competition among network security technicians. It originated from the DEFCON Global Hacking Conference in 1996 to replace the previous method of technical competition between hackers who launched real attacks on each other. Since its development, it has become a popular form of competition in the global network security circle. In 2013, more than 50 international CTF competitions were held around the world. As the birthplace of the CTF competition system, DEFCON has also become the world's highest technical level and influential CTF competition, similar to the "World Cup" in the CTF arena.

What's the point?

The meaning of CTF is the same for most people, mainly to provide a vulnerability environment close to the real environment, because at the beginning it is difficult to get in touch with the vulnerabilities of the real environment because the level is not enough, you can reproduce the competition environment and re-research basic knowledge.

Because CTF covers a wide range of fields, and it is completely possible to learn a lot of knowledge and skills that have not been touched before in a good CTF competition. Although many of them are small tricks that are rarely used in practice, but You can still exercise your business ability and actual combat ability, at least the improvement in basic skills is still very significant. Speaking of help for the future, CTF is gradually becoming more and more popular. Security companies will more or less refer to your previous record in major CTFs, but other Internet companies may not necessarily, it mainly depends on your own strength. Generally speaking, a good CTF player can do something else just as well.

 

So, how to get started with CTF?

1. First of all, you must learn the basics. It is recommended to read the CTF professional tutorial to understand ctf;

2. Start from the basic questions. During the learning process, some exercises on theoretical knowledge should be done appropriately to strengthen theoretical understanding;

3. Then you need to learn information security professional knowledge, which is recommended to be done under the guidance of professional teachers;

4. Exercise physical endurance. Carry out proper physical training, simulate the CTF arena, and avoid tension;

5. It is recommended to read some professional books, such as "RE for Beginners", "IDA PRO Authoritative Guide", "Demystifying Home Router 0-Day Vulnerability Mining Technology", "Handwriting Operating System" and so on.
Of course, I have also prepared a set of detailed introductory tutorials on network security for friends with zero basics in network security

1. Some preliminary preparations for learning network security

1. Hardware selection

I am often asked "Do I need a computer with a high configuration to learn network security?" The answer is no, the computer used by hackers does not need any high configuration, as long as it is stable. Because some programs used by hackers, low-end CPUs are also It can run very well, and it doesn’t take up much memory. There is another one, the hacker is done under the DOS command, so the computer can be used in the best condition! So, don’t re-purchase the machine in the name of learning...

2. Software selection

Many people will be entangled in learning hackers whether to use Linux, Windows or Mac system. Although Linux looks cool, it is not friendly to newbies. The Windows system can also use the virtual machine to install the target machine for learning

As for the programming language, Python is the most recommended because of its good expansion support. Of course, many websites on the market are developed by PHP, so it is also possible to choose PHP. Other languages ​​include C++, Java...

Many friends will ask if they want to learn all languages? the answer is negative! To quote my sentence above: Learning programming is just a tool, not an end, our goal is not to become a programmer

(An extra thing to mention here is that although learning programming cannot get you started, it can determine how far you can go on the road of network security, so I recommend you to learn some basic programming knowledge by yourself)

3. Language ability

We know that computers were first invented in the West, and many nouns or codes are in English. Even some existing tutorials were originally translated from English, and it usually takes a week for a bug to be translated into Chinese. Vulnerabilities may have been patched at this time difference. And if you don’t understand some professional terms, you will have obstacles when communicating technology or experience with other hackers, so you need a certain amount of English and hacker professional terms (you don’t need to be particularly proficient, but you must be able to understand the basics)

For example: broiler, hanging horse, shell, WebShell, etc.

2. Network security learning route

The first stage: getting started with basic operations and learning basic knowledge

The first step to getting started is to learn some current mainstream security tool courses and supporting books on basic principles. Generally speaking, this process takes about 1 month.

At this stage, you already have a basic understanding of cybersecurity. If you have finished the first step, I believe you have theoretically understood the above is sql injection, what is xss attack, and you have also mastered the basic operations of security tools such as burp, msf, and cs. The most important thing at this time is to start laying the foundation!

The so-called "foundation" is actually a systematic study of basic computer knowledge. If you want to learn network security well, you must first have 5 basic knowledge modules:

1. Operating system

2. Protocol/Network

3. Database

4. Development language

5. Principles of Common Vulnerabilities

What is the use of learning these basics?

The level of knowledge in various fields of computer determines the upper limit of your penetration level.

[1] For example: if you have a high level of programming, you will be better than others in code auditing, and the exploit tools you write will be easier to use than others;

[2] For example: if you have a high level of database knowledge, then when you are conducting SQL injection attacks, you can write more and better SQL injection statements, which can bypass WAF that others cannot bypass;

【3】For example: if your network level is high, then you can understand the network structure of the target more easily than others when you infiltrate the internal network. You can get a network topology to know where you are, and get the configuration of a router. file, you will know what routes they have made;

【4】For another example, if your operating system is good, your privilege will be enhanced, your information collection efficiency will be higher, and you can efficiently filter out the information you want.

The second stage: practical operation

1. Mining SRC

The purpose of digging SRC is mainly to put the skills into practice. The biggest illusion of learning network security is to feel that you know everything, but when it comes to digging holes, you can’t do anything. SRC is a very good opportunity to apply skills.

2. Learn from technical sharing posts (vulnerability mining type)

Watch and study all the 0day mining posts in the past ten years, and then build an environment to reproduce the loopholes, think and learn the author's digging thinking, and cultivate your own penetrating thinking​​​​​​

3. Range practice

Build a shooting range by yourself or go to a free shooting range website to practice. If you have the conditions, you can buy it or apply to a reliable training institution. Generally, there are supporting shooting range exercises.
 

3. Recommendations for learning materials

Book list recommendation:

Computer operating system:

[1] Coding: the language hidden behind computer software and hardware

【2】In-depth understanding of the operating system

【3】In-depth understanding of windows operating system

【4】Linux kernel and implementation

Programming development class:

【1】windows programming

【2】windwos core becomes

【3】Linux programming

【4】Unix environment advanced into

【5】IOS becomes

[6] The first line of code Android

【7】C programming language design

【8】C primer plus

[9] C and pointers

[10] C expert programming

[11] C traps and defects

[12] Assembly language (Wang Shuang)

【13】java core technology

【14】java programming ideas

【15】Python core programming

[16] Linux shell script strategy

[17] Introduction to Algorithms

[18] Compilation principle

[19] Compilation and decompilation technology practice

[20] The way to clean code

[21] Code Encyclopedia

[22] TCP/IP Detailed Explanation

【23】Rootkit: Lurkers in the gray area of ​​the system

【24】Hacking Attack and Defense Technology Collection

【25】Encryption and decryption

【26】C++ Disassembly and Reverse Analysis Technique Revealed

[27] web security testing

【28】White hat talks about web security

【29】Proficient in script hacking

【30】Web front-end hacking technology secret

[31] Programmer's application

【32】English Writing Handbook: Elements of Style

Common Internet Security and Forums

    Kanxue Forum
    Safety Class
    Safety Niu
    Safety Internal Reference
    Green League
    Prophet Community
    XCTF Alliance

I have also compiled some network security information for you below. If you don’t want to find them one by one, you can refer to these information.

video tutorial

SRC&Hacking Technical Documentation

 

Hacking Tools Collection
 

 

 

 

Guess you like

Origin blog.csdn.net/2302_77302329/article/details/130684406