\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{BendingUnit22} \pdfinfo{ /Title (shodan.pdf) /Creator (Cheatography) /Author (BendingUnit22) /Subject (Shodan Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{4DA4CF} \definecolor{LightBackground}{HTML}{F3F9FC} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Shodan Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{BendingUnit22} via \textcolor{DarkBackground}{\uline{cheatography.com/203404/cs/43317/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}BendingUnit22 \\ \uline{cheatography.com/bendingunit22} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 6th May, 2024.\\ Updated 6th May, 2024.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Shodan:}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{{\bf{ A search engine for IoT and Internet connected devices}}} \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Shodan is a search engine that specializes in indexing Internet-connected devices and systems. Unlike traditional search engines that index web pages, Shodan searches for devices connected to the Internet, such as servers, routers, webcams, industrial control systems, and other Internet of Things (IoT) devices.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Search parameters}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{} \tn % Row Count 0 (+ 0) \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Shodan uses search parameters to help you narrow down your search, the following sections will offer some of the most useful parameters.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{General Query Terms}} \tn % Row 0 \SetRowColor{LightBackground} city:"{[}city name{]}" & Devices in a specific city. \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} org:"{[}organization name{]}" & Devices related to a certain organization. \tn % Row Count 5 (+ 3) % Row 2 \SetRowColor{LightBackground} country:"{[}country{]}" & Devices in a specified country. \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} region:"{[}region{]}" & Devices in a specific region. \tn % Row Count 9 (+ 2) % Row 4 \SetRowColor{LightBackground} postal:"{[}postal code{]}" & Devices in a specific postal code. \tn % Row Count 11 (+ 2) % Row 5 \SetRowColor{white} latitude:"{[}latitude{]}" longitude:"{[}longitude{]}" & Devices at specific coordinates. \tn % Row Count 14 (+ 3) % Row 6 \SetRowColor{LightBackground} os:"{[}operating system{]}" & Devices running a specific OS. \tn % Row Count 16 (+ 2) % Row 7 \SetRowColor{white} net:"{[}IP range{]}" & Devices within a certain IP range. \tn % Row Count 18 (+ 2) % Row 8 \SetRowColor{LightBackground} port:"{[}port number{]}" & Devices open on a specific port. \tn % Row Count 20 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.33919 cm} x{2.63781 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{IoT Search Terms}} \tn % Row 0 \SetRowColor{LightBackground} "smart tv" & Searches for internet-connected smart TVs. \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} "IP camera" "default login" & IP cameras with default login credentials. \tn % Row Count 4 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{These are general terms that are suggested ways to target certain types of devices and should be used with other modifiers to narrow down the information.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.28942 cm} x{2.68758 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Applications and Services}} \tn % Row 0 \SetRowColor{LightBackground} product:"{[}product name{]}" & Devices running a specific product. \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} version:"{[}version{]}" & Devices with a specific version number. \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} "X-Powered-By: PHP/{[}version{]}" & PHP version-specific servers. \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} "server: Apache" & Finds Apache web servers. \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} iis:{[}version number{]} & Servers running Microsoft IIS. \tn % Row Count 10 (+ 2) % Row 5 \SetRowColor{white} "server: nginx" & Devices running Nginx server. \tn % Row Count 12 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Security and Vulnerability Terms}} \tn % Row 0 \SetRowColor{LightBackground} "Cisco IOS" "http auth" & Cisco IOS devices with HTTP authentication. \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} "default login" "router" & Routers with default login credentials. \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} vuln:"{[}CVE-ID{]}" & Searches for vulnerabilities with a specific CVE ID. \tn % Row Count 8 (+ 3) % Row 3 \SetRowColor{white} "Server: Apache" -"mod\_ssl" -"OpenSSL" & Apache servers potentially without SSL encryption. \tn % Row Count 11 (+ 3) % Row 4 \SetRowColor{LightBackground} "heartbleed" vuln & Searches for vulnerabilities related to Heartbleed. \tn % Row Count 14 (+ 3) % Row 5 \SetRowColor{white} "EternalBlue" vuln & Devices vulnerable to EternalBlue. \tn % Row Count 16 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{These are general terms that are suggested ways to target certain types of services and should be used with other modifiers to narrow down the information.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}