【安全记录】反弹shell小记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【安全记录】反弹shell小记相关的知识,希望对你有一定的参考价值。

参考技术A 本文记录反弹shell的一些注意事项,主要包括: 常用反弹shell的payload , 获得tty-shell , 获得一个交互式shell 。

在渗透期间,可能会在没有 tty 的情况下获得shell,但希望与系统进一步交互。

(msf irb终端)

(vi编辑器内部)

(vi编辑器内部)

(利用nmap)

对反弹回来的shell这样处理后,可以补全输入的命令、高亮显示等。

https://github.com/0xR0/shellver

https://netsec.ws/?p=337

shell脚本使用小记

最新在用coding做项目管理,除了有git的代码管理外,还自带docker打包十分方便。但是每次打包完都要先从coding上把版本文件下载出来,然后再去服务器上删除原镜像后再运行版本文件里的代码更新docker却十分不方便。因此写了个小脚本代替手工操作,特此记录。

先上代码:

 1 #!/usr/bin/env bash
 2 # clear docker cache
 3 if [ "`docker ps -a | grep ‘docker-name‘`" != "" ]; then
 4     docker kill docker-name && docker rm docker-name
 5 fi
 6 
 7 if [ "`docker images | grep ‘docker-name‘`" != "" ]; then
 8     docker images | grep docker-name | awk {print $3} | xargs docker rmi
 9 fi
10 
11 # get latest docker files
12 curl -L -u userName:passWord "https://xxx.pkg.coding.net/xxx/version/xxx.txt" | while read line
13 do
14     echo $line | sh
15 done

该小脚本分两个部分,先是清除原来的docker文件,然后是拉最新的更新脚本。

 

 

清除docker文件

if [ "`docker ps -a | grep ‘docker-name‘`" != "" ]; then
    docker kill docker-name && docker rm docker-name
fi

更新脚本里运行的docker都是有固定名字的,因此这里可以直接通过 docker kill name来结束掉docker并且删除容器。虽然不会影响脚本的执行,但如果本来就没有该容器时会报错,不美观。因此先判断该容器是否已存在,如果存在则干掉他。

 

if [ "`docker images | grep ‘docker-name‘`" != "" ]; then
    docker images | grep docker-name | awk {print $3} | xargs docker rmi
fi

删除掉容器后就是删除镜像,镜像只能通过IMAGE ID来删除,而IMAGE ID却是在第三列。

因此除了先判断镜像是否存在外,还要通过awk分割脚本的输出来读取第三列上的IMAGE ID

 

 

更新镜像

curl -L -u userName:passWord "https://xxx.pkg.coding.net/xxx/version/xxx.txt" | while read line
do
    echo $line | sh
done

通过curl命令从coding上拉取最新的更新脚本最里面有三行代码

docker login
docker pull
docker run

这里通过while read line一行行读出代码,并通过  $line | sh来执行

 

至此,只要在coding上构建完最新的代码,然后在服务器上运行./update.sh即可。

以上是关于【安全记录】反弹shell小记的主要内容,如果未能解决你的问题,请参考以下文章

网络安全——使用反弹木马进行提权获取主机Shell

zabbix反弹shell并拿下系统root权限

验证Shiro反序列化漏洞反弹shell

安全攻防实战系列MSF

yarn 学习 小记

应用安全 - 工具 | 数据库 - redis - 漏洞 - 汇总