第1~6天的工具使用复习#grep中的参数含义 -i:忽略查询中的大小写 -o只显示匹配的内容 -E:使用正则表达式支持 , ?, -l:只显示含有匹配内容的文件名 -n:显示查询内容的行号 -r:采用递归查询的方式 -v:反向匹配显示不包含模式的行。 -p:使用perl正则表达式支持 \d数字、\w单词字符 ​ #若要快速封禁入侵的IP使用的工具是iptables eg:iptables -A input -s 192.168.190.1 -j drop ​ #find工具 -name:按照文件名进行查询 -type f /-type d :查询文件/目录 -size 10M显示大于10M的我呢见 -mtime -7显示最近7天内修改过的文件 -perm -2000 /-perm -4000 :查询SGID/SUID -writable:当前用户可写的文件/目录目的找可篡改配置/后门写入点 -user root:属于root权限的文件 -exec command {} \;:对找到的每个文件执行命令 -ok command {}\;:作用与-exec一样但是执行前需要进行询问。 -print0以null字符分隔文件名。 #【后门排查】搜索包含eval的PHP文件仅列文件名 eg:find / -name *.php -exec grep -l eval( {} \; 2/dev/null 注#2dev/null:作用排除输出错误的内容最后只输出正确且符合要求的内容 #【处理含空格文件名】安全删除所有.tmp文件 find /tmp -name *.tmp -print0 | xargs -0 rm 注#print0:使用空格符来分隔找到的每个文件。xargs把前面的文件列表变成参数传递给后面的rm-0按空格符分割文件和前面的print0配对使用[-print0和-0是一对CP] ​ #xargs:参数的传递与批量处理 #-I {}指定占位符。 cat ips.txt | xargs -I {} ping -c 1 {} 注数值经过了两次传递。 ​ #tee:可以备份数据到一个文件中同时将文件内容显示在桌面上。 eg:tail -f access.log | tee -a raw.log | grep sql_injection ​ #文件或目录权限问题 #chmod修改文件权限 #给所有者增加执行权限 chmod -uX test.sh #chown更改文件所有者和所属组 #将文件的所有者和组直接更改为root chown root:root /backdoor #umask:设置默认权限掩码该权限主要是用于事前 umask 002 #默认目录755 文件644 umask 077 # 默认目录700文件600最严格 ​ #用户的切换 sudo /usr/bin/find /etc/passwd -exec /bin/bash \; 注#如果find有sudo权限可用于提权 ​ #ps 查看进程的命令 ps aux #查看所有进程的详细信息常用 ps -ef #标准格式查看所有进程 #控制进程 kill -stop 1234 #暂停进程 kill -cont 1234 #继续被暂停的进程 #按照名称处理进程 pgrep -u root sshd #查找root用户运行的sshd进程PID pkill -f “python backdoor.py #终止包含特定字符串的进程 ​ #查看所有的监听的端口 netstat -tulnp #查看所有监听的端口 #netstat也可以直接使用ss来平替 ss -tulnp ss -ant #查看所有的tcp连接 ss -an #查看所有的网络连接 ss -tn #查看所有的tcp协议连接 ss -un # 查看udp协议连接 ss -l #仅查看处于监听状态的端口 ss -s #查看系统整体的网络协议统计信息 ​ #lsof列出打开文件 lsof -i :80 #查看谁在使用80端口 lsof -i tcp #查看所有tcp连接 lsof -p 1234 #查看PID 1234 打开的所有文件 lsof /var/www/html #查看谁在使用网站目录 ​ #./reverse_shell.sh #后台运行 nohup ./backdoor #后台运行且终端退出后进程不终止 ​ #作业控制 jobs #查看当前会话的后台作业 fg %1 #将1号作业切换到前台 bg %1 #在后台继续运行1号作业 ​ #查看路由表 ip route show route -n #查看mac地址 IP link show eth0 ​ #测试网络的联通性 ping -c 4 8.8.8.8 #发送四个包 ping -i 1 8.8.8.8 #间隔1秒发送 ping -s 1000 目标 #指定数据包大小 #路径追踪 traceroute -n google.com #-n 不解析主机名显示ip mtr Google.com #实时动态追踪结合ping功能 #nslookup交互/非交互 nslooup google.com nslookup -typemx google.com #dig:与nslookup的功能一样都是查询dns记录 dig google.com dig google.com ANY #查询所有的记录 dig 8.8.8.8 google.com #指定dns服务器 dig -x 8.8.8.8 #反向dns查询 ​ #网络发现 sudo netdiscover -i etho -r 192.168.1.0/24 #主动扫描网段 sudo netdiscover -p -i eth0 #被动监听模式 注#-i指定对应的网卡-r指定对应的网段范围-p:将ARP侦察改为被动模式信息收集。 sudo -arp-scan --localnet #快读arp扫描 ​ #防火墙规则初步 iptables基础查看 sudo iptables -L -n -v #列出所有的规则 ​ #wireshark常用的过滤命令 ip.addr 192.168.190.146 #过滤指定的IP tcp.port 80 #过滤80端口 http #过滤http流量 http.request.method get #get请求 http contains password #http数据包中含有”password“ tls # tls/ssl流量 dns #dns流量 http.host contains baidu.com #根据域名来查找对应的数据包 #wireshark组合查询命令 ip.src 192.168.190.146 and tcp.destport 80 http.request.method in {post put} #协议字段过滤写入特定协议字段 tcp.flags.syn 1 and tcp.flags.ack 0 #syn包 http.reponse.code 404 #code :状态码 tls.handshake.type 1 #client hello(类型值为2) ​ #网络扫描基础 nmap 192.168.190.146 #默认扫描-sS -t4扫描1000个常用的tcp端口 nmap 192.168.190.1-20 #扫描一个ip范围 nmap 192.168.190.0/24 #扫描整个c段 **nmap中各参数的含义** -sn #ping扫描不扫端口 -pn #跳过主机发现假设所有主机在线直接进行端口扫描 -sA #TCP ACK扫描用于探测防火墙规则 -sF/-sX #fin\smas 扫描用于绕过某些ids。 注#ids流量监管员只负责看与报警不负责阻拦。 -A:激进扫描想当于同时开启多个功能旨在一次性收集到足够多的信息。 -p指定端口 -p-:直接扫描所有的端口 -sV探测开放端口对应的服务及版本 -O通过分析TCP/IP协议栈指纹来猜测目标操作系统 #nmap的时间与输出控制 -oN normal.txt #普通文本 -oX report.xml #xml格式可被其他工具解析 -oG grepable.txt #可grep的格式 ​ #nmap脚本引擎 nmap --scripthttp-title 目标 # 运行单个脚本 nmap --scripthttp-* 目标 # 运行某类所有脚本 nmap --script vuln 目标 # 运行所有漏洞检测脚本 nmap -sC 目标 # 使用默认脚本扫描等价于--scriptdefault ​