基础命令
基础命令-find
find命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的命令之一。
语法格式:find 路径 条件 文件名
常用参数:
参数名称 | 描述 | 参数名称 | 描述 |
-name | 匹配文件名 | -type | 匹配文件类型 |
-perm | 匹配文件权限 | -size | 匹配文件大小 |
-user | 匹配文件所属主 | -exec…… {}\; | 进一步处理搜索结果 |
-group | 匹配文件所属组 | -newer | 匹配比指定文件更新的文件 |
-mtime | 匹配最后修改文件内容时间 | -nouser | 匹配无所属主的文件 |
-atime | 匹配最后读取文件内容时间 | -nogroup | 匹配无所属组的文件 |
-ctime | 匹配最后修改文件属性时间 | ... | ... |
基础命令-locate
locate命令的功能是快速查找文件或目录。与find命令进行全局搜索不同,locate命令是基于数据文件(/var/lib/locatedb)进行的定点查找,由于缩小了搜索范围,因此速度快很多。
语法格式:locate 参数 文件名
更新数据库:updatedb
参数名称 | 描述 | 参数名称 | 描述 |
-b | 匹配文件名 | -w | 匹配完整的文件路径 |
-c | 不输出文件名 | ... | ... |
-d | 设置数据库所在目录 | ||
-i | 忽略大小写 | ||
-l | 限制最大查找数量 | ||
-q | 静默执行模式 | ||
-r | 使用正则表达式 |
基础命令-strings
strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。
语法格式:strings [参数]
参数名称 | 描述 |
-a | 扫描整个文件而不是只扫描数据段 |
-f | 在显示字符串前先显示文件名 |
-d | 与-a相反 |
-t | 以 8、10 或 16 为底打印字符串的位置 |
基础命令-file
file命令的功能是识别文件类型,也可以用来辨别一些内容的编码格式。由于Linux系统并不是像Windows系统那样通过扩展名来定义文件类型的,因此用户无法直接通过文件名来进行区别。file命令可以通过分析文件头部信息中的标识信息来显示文件类型,使用很方便。
语法格式:file 参数 文件名
参数名称 | 描述 | 参数名称 | 描述 |
-b | 不显示文件名 | ... | ... |
-c | 显示执行过程 | ||
-f | 显示文件类型信息 | ||
-i | 显示MIME类别信息 | ||
-m | 指定魔法数字文件 | ||
-L | 显示符号链接所指向文件的类型 | ||
-z | 尝试去解读压缩内的文件内容 |
基础命令-grep
grep命令来自英文词组global search regular expression and print out the line的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。
与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作标准搜索命令,那么egrep则是扩展搜索命令,等价于grep -E命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于grep -F命令,不支持正则表达式,直接按照字符串内容进行匹配。
语法格式:grep 参数 文件名
参数名称 | 描述 | 参数名称 | 描述 |
-c | 只显示匹配的行数 | -r | 递归搜索模式 |
-E | 支持扩展正则表达式 | -v | 显示不包含匹配文本的所有行 |
-F | 匹配固定字符串的内容 | -w | 精准匹配词 |
-i | 忽略关键词大小写 | -x | 精准匹配行 |
-m | 指定魔法数字文件 | ... | ... |
-n | 显示所有匹配行及其行号 |
•搜索指定文件中包含某个关键词的内容行 grep root /etc/passwd
•搜索指定文件中以某个关键词开头的内容行 grep ^root /etc/passwd
•搜索多个文件中包含某个关键词的内容行 grep linuxprobe /etc/passwd /etc/shadow
•搜索多个文件中包含某个关键词的内容,不显示文件名称 grep -h linuxprobe /etc/passwd /etc/shadow
•显示指定文件中包含某个关键词的行数量 grep -c root /etc/passwd /etc/shadow
•搜索指定文件中不包含某个关键词的内容行 grep -v nologin /etc/passwd
•不仅搜索指定目录,还搜索其内子目录内是否有关键词文件 grep -r root /etc
•搜索指定文件中精准匹配到某个关键词的内容行 grep -xr root .
•判断指定文件中是否包含某个关键词,通过返回状态值输出结果(0为包含,1为不包含)
•grep -q root 1.txt
•echo $?
•搜索指定文件中空行的数量 grep -c ^$ anaconda-ks.cfg 1.txt
基础命令-sed
sed命令来自英文词组stream editor的缩写,其功能是利用语法/脚本对文本文件进行批量的编辑操作。sed命令最初由贝尔实验室开发,后被众多Linux系统集成,能够通过正则表达式对文件进行批量编辑,让重复性的工作不再浪费时间。
语法格式:sed 参数 文件名
参数名称 | 描述 | 参数名称 | 描述 |
-e | 使用指定脚本处理输入的文本文件 | -n | 仅显示脚本处理后的结果 |
-f | 使用指定脚本文件处理输入的文本文件 | -r | 支持扩展正则表达式 |
-i | 直接修改文件内容,而不输出到终端 | -w | 精准匹配词 |
•查找指定文件中带有某个关键词的行 cat -n 1.txt | sed -n ‘/root/p’
•将指定文件中某个关键词替换成大写形式 sed ‘s/root/ROOT/g’ 1.txt
•读取指定文件,删除所有带有某个关键词的行 sed ‘/root/d’ 1.txt
•读取指定文件,在第4行后插入一行新内容 sed -e 4a\NewLineFile.cfg
•读取指定文件,删除第2~5行的内容 sed ‘2,5c NewSentence’ File.cfg
•读取指定文件,替换第2~5行的内容 sed ‘2,5c NewSentence’ File.cfg
•读取指定文件的第3~7行 sed -n ‘3,7p’ File.cfg
基础命令-awk
awk命令来自三位创始人Alfred Aho、Peter Weinberger、Brian Kernighan的姓氏缩写,其功能是对文本和数据进行处理。使用awk命令可以让用户自定义函数或正则表达式,对文本内容进行高效管理,awk与sed、grep并称为Linux系统中的“文本三剑客”。
语法格式:awk 参数 文件名
参数名称 | 描述 | 参数名称 | 描述 |
-c | 使用兼容模式 | -C | 显示版权信息 |
-e | 指定源码文件 | -f | 从脚本中读取awk命令 |
-F | 设置输入时的字符分割符 | -v | 自定义变量信息 |
-n | 识别输入数据中的八进制和十六进制数 | -O | 启用程序优化 |
变量名称 | 描述 | 变量名称 | 描述 |
ARGC | 命令行参数个数 | ARGV | 命令行参数排列 |
ENVIRON | 指定源码文件 | FILENAME | awk浏览的文件名 |
FNR | 浏览文件的记录数 | OFS | 输出域分隔符 |
ORS | 输出记录分隔符 | RS | 控制记录分隔符 |
FS | 设置输入域分隔符 | NF | 浏览记录域的个数 |
•仅显示指定文件中第1、2列的内容(默认以空格为间隔符) awk ‘{print $1,$2}’ File.cfg
•以冒号为间隔符,仅显示指定文件中第1列的内容 awk -F : ‘{print $1}’ /etc/passwd
•以冒号为间隔符,显示系统中所有UID号码大于500的用户信息(第3列) awk ‘/root/{print}’ File.cfg
•以冒号为间隔符,仅显示指定文件中最后一个字段的内容 awk -F : ‘{print $NF}’
端口扫描-nmap
主机发现 nmap -sn 192.168.1.0/24
端⼝扫描 nmap -sT --min-rate 10000 -p- 192.168.1.110 -oAnmapscan/ports
端⼝数据格式化
grep open nmapscan/ports.nmap | awk -F’/’ ‘{print $1}’ | paste -sd ‘,’
ports=$(grep open nmapscan/ports.nmap | awk -F’/’ ‘{print $1}’ | paste -sd ‘,’)
echo $ports
详细信息扫描
sudonmap -sT -sV -sC -O -p80,111,777 192.168.1.110 -oAnmapscan/info
udp扫描
sudonmap -sU -p- 192.168.1.110 -oAnmapscan/udp
漏洞脚本扫描
sudonmap --script=vuln -p80,111,777 192.168.1.110 -oAnmapscan/vuln
端口扫描-nmap-script
脚本分类:
auth:这类脚本涉及认证相关的检查,例如尝试登录服务以确定凭据的需求。
broadcast:这些脚本通过发送广播请求来发现网络上的服务和设备。
brute:用于暴力破解尝试,比如尝试不同的密码组合来获得访问权限。
default:这是Nmap默认运行的脚本集合,通常包括一些基本的服务发现和信息收集脚本。
discovery:用于网络发现,例如确定网络中的主机和开放的端口。
dos:涉及拒绝服务攻击的脚本,这些脚本可能会对目标系统造成影响。
exploit:这类脚本包含利用已知漏洞的攻击代码,用于渗透测试。
external:依赖外部数据库或服务的脚本,例如whois查询。
fuzzer:用于模糊测试的脚本,通过发送异常或随机数据包来发现潜在的漏洞。
intrusive:可能被认为是侵入性的脚本,因为它们可能会触发入侵检测系统或对目标系统造成影响。
malware:用于检测系统中可能存在的恶意软件或僵尸网络的脚本。
safe:在所有情况下都被认为是安全的脚本,不会对目标系统造成损害。
version:用于版本检测的脚本,可以识别运行在开放端口上的服务及其版本信息。
vuln:用于检测特定已知漏洞的脚本。
使用方法:
-sC 相当于 --script=default
nmap --script http-trace --script-args=‘url=“http://target_host”’
流量捕获-tcpdump
TCPDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。
tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的 FreeBSD系统中,由于它需要将网络接口设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。
捕获所有经过指定网络接口的数据包 tcpdump
捕获特定数量的数据包 tcpdump -c 10
将捕获的数据包写入文件 tcpdump -w capture_file.pcap
从文件中读取数据包 tcpdump -r capture_file.pcap
捕获特定主机的数据包 tcpdump host <IP_ADDR>
捕获特定网络的数据包 tcpdump net 192.168.1.0/24
捕获特定端口的数据包 tcpdump port 80

Metasploit
msf-数据库
msf支持连接到数据库,但是msf并不强制使用数据库,没有数据库也可以完美运行。然而, msf许多功能都需要数据库。
需要连接数据库的 Metasploit 功能包括:
•记录通过db_nmap命令通过 nmap 扫描找到的网络上的其他计算机并存储为“host”。
•可以使用hosts命令查看主机
•存储通过漏洞成功提取的凭据并存储为“creds”。
•使用creds命令查看凭证。
•跟踪成功的利用尝试被记录为“漏洞”。
•可以使用vulns命令查看成功的漏洞利用。
•vulns命令还跟踪不成功的利用尝试
•db_nmap在远程主机上检测到的服务存储记录为“Services”
•使用services命令查看远程服务
•跟踪利用有效负载打开的多个远程会话
•可以使用sessions命令来管理和跟踪这些会话。
•将成功利用返回的任何难以定义的信息存储为“Loot”(战利品)
•可使用loot命令查看
•跟踪“Ping back 有效负载”,这是一种非交互式有效负载类型,可为用户提供目标上远程执行的确认
•通过由活动会话组成的“路由”网络进行中转
•可以使用routes命令查看
•构建包含上述所有信息的报告(仅限专业用户)
msf-exploit-meterpreter-后渗透
信息收集模块:
post/windows/gather/forensics/enum_drives:获取目标机器的分区情况。
post/windows/gather/checkvm:判断目标机是否为虚拟机。
post/windows/gather/enum_services:查看目标机开启哪些服务。
post/windows/gather/enum_applications:查看目标机安装了哪些应用、补丁。
post/windows/gather/dumplinks:查看目标机最近的操作。
提权模块
post/multi/recon/local_exploit_suggester:检测目标系统补丁然后会给出相应exp提权的功能。
浏览器相关模块:
post/firefox/gather/cookies:从Firefox Privileged JavascriptShell收集cookies。
post/multi/gather/firefox_creds:收集系统中Firefox浏览器的凭证和cookies。
post/multi/gather/chrome_cookies:读取目标用户默认Chrome配置文件中的所有cookies。
post/windows/gather/enum_ie:收集InternetExplorer的用户数据,包括历史记录、cookies和凭证。
run persistence:建立持久性会话。
clearev:清除日志。
run post/windows/manage/migrate:自动进程迁移。
run post/windows/gather/checkvm:查看目标主机是否运行在虚拟机上。
run post/windows/manage/killav:关闭杀毒软件。
run post/windows/manage/enable_rdp:开启远程桌面服务。
run post/windows/manage/autoroute:查看路由信息。
run post/windows/gather/enum_logged_on_users:列举当前登录的用户。
run post/windows/gather/enum_applications:列举应用程序。
run windows/gather/credentials/windows_autologin:抓取自动登录的用户名和密码。
run windows/gather/smart_hashdump:dump出所有用户的hash。
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

6067

被折叠的 条评论
为什么被折叠?



