- Penetration Testing with the Bash shell
- Keith Makan
- 471字
- 2021-07-16 11:51:57
Chapter 1. Getting to Know Bash
The Bourne Again SHell (bash) is arguably one of the most important pieces of software in existence. Without bash shell's many utilities and the problem-solving potential it gives its users by integrating and interfacing system utilities in a programmable way (called bash scripting), many of the very important security-related problems of the modern world would be very tedious to solve. Utilities such as grep
, wget
, vi
, and awk
enable their users to do very powerful string processing, data mining, and information management. System administrators, developers, security engineers, and penetration testers all across the world for many years have sworn by its sheer problem-solving potential and effectiveness in enabling them to tackle their day-to-day technical challenges.
Why are discussing the bash shell? Why is it so popular among system administrators, penetration testers, and developers? Well, there may be other reasons, but fundamentally the bash shell is the most standardized and is usually, with regard to most popular operating systems, implemented from a single code base—one source for the official source code. This means one can guarantee a certain base set of execution behaviors for a bash script or collection of commands regardless of the operating system hosting the bash implementation. Operating systems popularly have unique implementations of the Korn Shell (ksh) and other terminal emulator software.
The only disadvantage, if any, of the Linux or Unix environment that bash is native to is that for most people, especially those accustomed to the Graphical User Interface (GUI), the learning curve may be a little steep. This is mainly because the way information is represented. The general Linux/Unix culture and conventions can often be difficult to appreciate for newcomers and possibly due to the lack of tooltips, hints, and rich graphical interaction design and user experience engineering GUIs often benefit from. This book and especially this chapter will introduce some of the witty but brilliant Linux/Unix culture and conventions so that you can get comfortable enough with the bash shell and eventually find your own way around and follow the more advance topics later on in the book.
Throughout the book, the bash environment or the host operating system that will be discussed will be Kali Linux. Kali Linux is a distribution adapted from Debian, and it is packed with utilities focused purely on technical security problem solving and testing. Because knowing how to wield your terminal is strongly associated with knowing your operating system and its various nuances, this chapter and the following chapters will introduce some topics related to the Kali Linux operating system, its configuration setup, and default behavior to enable you to properly use your terminal utilities.
If you're already a seasoned "basher", feel free to skip this chapter and move on to the more security-focused topics in this book.
- C語言程序設計基礎與實驗指導
- CKA/CKAD應試教程:從Docker到Kubernetes完全攻略
- Mastering RStudio:Develop,Communicate,and Collaborate with R
- 青少年P(guān)ython編程入門
- Serverless架構(gòu)
- Hands-On Functional Programming with TypeScript
- Building RESTful Python Web Services
- Arduino家居安全系統(tǒng)構(gòu)建實戰(zhàn)
- OpenCV with Python By Example
- Building Serverless Architectures
- FFmpeg開發(fā)實戰(zhàn):從零基礎到短視頻上線
- PrimeFaces Blueprints
- 微信小程序開發(fā)實戰(zhàn):設計·運營·變現(xiàn)(圖解案例版)
- R Data Science Essentials
- Java EE Web應用開發(fā)基礎